mirror of
https://github.com/All-Of-Us-Mods/MiraAPI.git
synced 2026-10-19 15:51:48 +00:00
Merge branch 'dev' into options-improvements
This commit is contained in:
6 files changed
+140
-62
No files matched your search
@@ -202,12 +202,6 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config)
|
|||||||
[LocalSliderSetting(min: 0.3f, max: 2f, suffixType: MiraNumberSuffixes.Multiplier, formatString: "0.00", displayValue: true)]
|
[LocalSliderSetting(min: 0.3f, max: 2f, suffixType: MiraNumberSuffixes.Multiplier, formatString: "0.00", displayValue: true)]
|
||||||
public ConfigEntry<float> TopRightButtonsFactorSlider { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.TopRightButtonScaleFactor", 1f);
|
public ConfigEntry<float> TopRightButtonsFactorSlider { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.TopRightButtonScaleFactor", 1f);
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets the scale of the match info guide.
|
|
||||||
/// </summary>
|
|
||||||
[LocalSliderSetting(min: 0.5f, max: 1f, suffixType: MiraNumberSuffixes.Multiplier, formatString: "0.00", displayValue: true)]
|
|
||||||
public ConfigEntry<float> MatchInfoGuideScaleFactor { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.MatchInfoGuideScaleFactor", 1f);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the fps specified by the player.
|
/// Gets the fps specified by the player.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -226,11 +220,24 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config)
|
|||||||
[LocalToggleSetting]
|
[LocalToggleSetting]
|
||||||
public ConfigEntry<bool> ShowKeybinds { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.ShowKeybindsOnButtons", true);
|
public ConfigEntry<bool> ShowKeybinds { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.ShowKeybindsOnButtons", true);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the scale of the match info guide.
|
||||||
|
/// </summary>
|
||||||
|
[LocalSliderSetting(min: 0.5f, max: 1f, suffixType: MiraNumberSuffixes.Multiplier, formatString: "0.00", displayValue: true)]
|
||||||
|
public ConfigEntry<float> MatchInfoGuideScaleFactor { get; private set; } = config.Bind("MiraApi.MatchInfoGuide", "MiraApi.MatchInfoGuideScaleFactor", 1f);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the flag indicating whether the wiki is on the bottom row.
|
/// Gets the flag indicating whether the wiki is on the bottom row.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[LocalToggleSetting]
|
[LocalToggleSetting]
|
||||||
public ConfigEntry<bool> WikiOnBottomRow { get; private set; } = config.Bind("MiraApi.VisualsUi", "MiraApi.WikiOnBottomRow", true);
|
public ConfigEntry<bool> WikiOnBottomRow { get; private set; } = config.Bind("MiraApi.MatchInfoGuide", "MiraApi.WikiOnBottomRow", true);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the flag indicating the position for the wiki's tabs.
|
||||||
|
/// </summary>
|
||||||
|
[LocalEnumSetting(names: ["MiraApi.WikiTabPosition.LeftSide", "MiraApi.WikiTabPosition.RightSide", "MiraApi.WikiTabPosition.Below"])]
|
||||||
|
public ConfigEntry<MatchInfoTabPos> WikiTabPosition { get; private set; } =
|
||||||
|
config.Bind("MiraApi.MatchInfoGuide", "MiraApi.WikiTabPosition", MiraApiPlugin.IsMobile ? MatchInfoTabPos.RightSide : MatchInfoTabPos.LeftSide);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets whether to show the red flash from sabotages.
|
/// Gets whether to show the red flash from sabotages.
|
||||||
@@ -250,3 +257,10 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config)
|
|||||||
[LocalToggleSetting]
|
[LocalToggleSetting]
|
||||||
public ConfigEntry<bool> EnableVariableColors { get; private set; } = config.Bind("MiraApi.Accessibility", "MiraApi.EnableVariableColors", true);
|
public ConfigEntry<bool> EnableVariableColors { get; private set; } = config.Bind("MiraApi.Accessibility", "MiraApi.EnableVariableColors", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum MatchInfoTabPos
|
||||||
|
{
|
||||||
|
LeftSide,
|
||||||
|
RightSide,
|
||||||
|
Below,
|
||||||
|
}
|
||||||
@@ -2,9 +2,9 @@
|
|||||||
using System.Diagnostics.CodeAnalysis;
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using HarmonyLib;
|
using HarmonyLib;
|
||||||
|
using Il2CppInterop.Runtime.InteropTypes.Arrays;
|
||||||
using MiraAPI.LocalSettings;
|
using MiraAPI.LocalSettings;
|
||||||
using MiraAPI.Utilities.Assets;
|
using MiraAPI.Utilities.Assets;
|
||||||
using Reactor.Utilities.Extensions;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Events;
|
using UnityEngine.Events;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
@@ -15,12 +15,18 @@ namespace MiraAPI.Patches.LocalSettings;
|
|||||||
public static class OptionsMenuPatches
|
public static class OptionsMenuPatches
|
||||||
{
|
{
|
||||||
private static readonly Dictionary<int, List<GameObject>> TabButtons = [];
|
private static readonly Dictionary<int, List<GameObject>> TabButtons = [];
|
||||||
private static int currentPage = 1;
|
private static int _currentPage = 1;
|
||||||
|
|
||||||
internal static OptionsMenuBehaviour? Instance { get; private set; }
|
internal static OptionsMenuBehaviour? Instance { get; private set; }
|
||||||
|
|
||||||
[SuppressMessage("Critical Code Smell", "S2223:Non-constant static fields should not be visible", Justification = "Internal behaviour that does not need property-level validation.")]
|
[SuppressMessage(
|
||||||
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1401:Fields should be private", Justification = "Read above.")]
|
"Critical Code Smell",
|
||||||
|
"S2223:Non-constant static fields should not be visible",
|
||||||
|
Justification = "Internal behaviour that does not need property-level validation.")]
|
||||||
|
[SuppressMessage(
|
||||||
|
"StyleCop.CSharp.MaintainabilityRules",
|
||||||
|
"SA1401:Fields should be private",
|
||||||
|
Justification = "Read above.")]
|
||||||
internal static BoxCollider2D MaskCollider = null!;
|
internal static BoxCollider2D MaskCollider = null!;
|
||||||
|
|
||||||
private static SpriteRenderer? background;
|
private static SpriteRenderer? background;
|
||||||
@@ -69,7 +75,7 @@ public static class OptionsMenuPatches
|
|||||||
MaskCollider.isTrigger = true;
|
MaskCollider.isTrigger = true;
|
||||||
MaskCollider.enabled = true;
|
MaskCollider.enabled = true;
|
||||||
|
|
||||||
currentPage = 1;
|
_currentPage = 1;
|
||||||
TabButtons.Clear();
|
TabButtons.Clear();
|
||||||
float yOffset = 0;
|
float yOffset = 0;
|
||||||
var i = 0;
|
var i = 0;
|
||||||
@@ -83,7 +89,7 @@ public static class OptionsMenuPatches
|
|||||||
{
|
{
|
||||||
var button = settings.CreateTabButton(__instance, ref tabIdx, ref yOffset);
|
var button = settings.CreateTabButton(__instance, ref tabIdx, ref yOffset);
|
||||||
button.GetComponent<TabGroup>().Content = tab;
|
button.GetComponent<TabGroup>().Content = tab;
|
||||||
button.SetActive(page == currentPage);
|
button.SetActive(page == _currentPage);
|
||||||
|
|
||||||
if (!TabButtons.TryGetValue(page, out var list))
|
if (!TabButtons.TryGetValue(page, out var list))
|
||||||
{
|
{
|
||||||
@@ -105,20 +111,6 @@ public static class OptionsMenuPatches
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ChangePage(int increase)
|
|
||||||
{
|
|
||||||
currentPage += increase;
|
|
||||||
if (currentPage > TabButtons.Count)
|
|
||||||
{
|
|
||||||
currentPage = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (currentPage < 1)
|
|
||||||
{
|
|
||||||
currentPage = TabButtons.Count;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create page buttons
|
// Create page buttons
|
||||||
// TODO: In-game menu has no close button. I tried making one from scratch but failed. Add one later plz
|
// TODO: In-game menu has no close button. I tried making one from scratch but failed. Add one later plz
|
||||||
if (TabButtons.Count <= 1)
|
if (TabButtons.Count <= 1)
|
||||||
@@ -126,44 +118,56 @@ public static class OptionsMenuPatches
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var nextButton = Object.Instantiate(__instance.BackButton, __instance.transform).GetComponent<PassiveButton>();
|
CreatePageButton(__instance, 3.2f, false, 1);
|
||||||
nextButton.transform.localPosition = new Vector3(3.2f, 2.6f, -10);
|
CreatePageButton(__instance, 2.9f, true, -1);
|
||||||
nextButton.transform.localScale = new Vector2(0.25f, 0.25f);
|
}
|
||||||
var nextRend = nextButton.GetComponent<SpriteRenderer>();
|
|
||||||
nextRend.sprite = MiraAssets.NextButton.LoadAsset();
|
|
||||||
nextButton.gameObject.GetComponent<CloseButtonConsoleBehaviour>().DestroyImmediate();
|
|
||||||
|
|
||||||
var nextRollover = nextButton.gameObject.AddComponent<ButtonRolloverHandler>();
|
private static void CreatePageButton(OptionsMenuBehaviour menu, float x, bool flip, int direction)
|
||||||
nextRollover.Target = nextRend;
|
{
|
||||||
nextRollover.OverColor = Palette.AcceptedGreen;
|
var obj = new GameObject("PageButton") { layer = 5 };
|
||||||
|
obj.transform.SetParent(menu.transform);
|
||||||
|
obj.transform.localPosition = new Vector3(x, 2.6f, -10);
|
||||||
|
obj.transform.localScale = new Vector3(0.25f, 0.25f, 1);
|
||||||
|
|
||||||
nextButton.OnClick = new Button.ButtonClickedEvent();
|
var rend = obj.AddComponent<SpriteRenderer>();
|
||||||
nextButton.OnClick.AddListener(
|
rend.sprite = MiraAssets.NextButton.LoadAsset();
|
||||||
|
rend.flipX = flip;
|
||||||
|
|
||||||
|
var col = obj.AddComponent<BoxCollider2D>();
|
||||||
|
col.size = rend.sprite.bounds.size;
|
||||||
|
|
||||||
|
var rollover = obj.AddComponent<ButtonRolloverHandler>();
|
||||||
|
rollover.Target = rend;
|
||||||
|
rollover.OverColor = Palette.AcceptedGreen;
|
||||||
|
rollover.OutColor = Color.white;
|
||||||
|
|
||||||
|
var button = obj.AddComponent<PassiveButton>();
|
||||||
|
button.Colliders = new Il2CppReferenceArray<Collider2D>([col]);
|
||||||
|
button.OnClick = new Button.ButtonClickedEvent();
|
||||||
|
button.OnClick.AddListener(
|
||||||
(UnityAction)(() =>
|
(UnityAction)(() =>
|
||||||
{
|
{
|
||||||
ChangePage(1);
|
ChangePage(direction);
|
||||||
UpdatePages();
|
UpdatePages();
|
||||||
}));
|
}));
|
||||||
|
button.OnMouseOver = new UnityEvent();
|
||||||
|
button.OnMouseOver.AddListener((UnityAction)(() => rollover.DoMouseOver()));
|
||||||
|
button.OnMouseOut = new UnityEvent();
|
||||||
|
button.OnMouseOut.AddListener((UnityAction)(() => rollover.DoMouseOut()));
|
||||||
|
}
|
||||||
|
|
||||||
var backButton = Object.Instantiate(__instance.BackButton, __instance.transform).GetComponent<PassiveButton>();
|
private static void ChangePage(int increase)
|
||||||
backButton.transform.localPosition = new Vector3(2.9f, 2.6f, -10);
|
{
|
||||||
backButton.transform.localScale = new Vector2(0.25f, 0.25f);
|
_currentPage += increase;
|
||||||
var backRend = backButton.GetComponent<SpriteRenderer>();
|
if (_currentPage > TabButtons.Count)
|
||||||
backRend.sprite = MiraAssets.NextButton.LoadAsset();
|
{
|
||||||
backRend.flipX = true;
|
_currentPage = 1;
|
||||||
backButton.gameObject.GetComponent<CloseButtonConsoleBehaviour>().DestroyImmediate();
|
}
|
||||||
|
|
||||||
var backRollover = backButton.gameObject.AddComponent<ButtonRolloverHandler>();
|
if (_currentPage < 1)
|
||||||
backRollover.Target = backRend;
|
{
|
||||||
backRollover.OverColor = Palette.AcceptedGreen;
|
_currentPage = TabButtons.Count;
|
||||||
|
}
|
||||||
backButton.OnClick = new Button.ButtonClickedEvent();
|
|
||||||
backButton.OnClick.AddListener(
|
|
||||||
(UnityAction)(() =>
|
|
||||||
{
|
|
||||||
ChangePage(-1);
|
|
||||||
UpdatePages();
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -194,7 +198,7 @@ public static class OptionsMenuPatches
|
|||||||
public static void OpenPostfix()
|
public static void OpenPostfix()
|
||||||
{
|
{
|
||||||
LocalSettingsManager.AvailableTabs.ForEach(CustomClose);
|
LocalSettingsManager.AvailableTabs.ForEach(CustomClose);
|
||||||
currentPage = 1;
|
_currentPage = 1;
|
||||||
UpdatePages();
|
UpdatePages();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -204,9 +208,7 @@ public static class OptionsMenuPatches
|
|||||||
{
|
{
|
||||||
pages.Value?
|
pages.Value?
|
||||||
.Where(x => x != null)
|
.Where(x => x != null)
|
||||||
.Do(
|
.Do(x => x?.SetActive(pages.Key == _currentPage));
|
||||||
x => x?.SetActive(
|
|
||||||
pages.Key == currentPage));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ public static class RoleGuidePatches
|
|||||||
private static readonly List<DetailedPanel> ModifierEntries = [];
|
private static readonly List<DetailedPanel> ModifierEntries = [];
|
||||||
private static readonly List<string> UntrackedRolePanelDiagnostics = [];
|
private static readonly List<string> UntrackedRolePanelDiagnostics = [];
|
||||||
|
|
||||||
|
private static GridLayoutGroup tabButtonContainer;
|
||||||
|
private static SpriteRenderer tabContainerRend;
|
||||||
private static GameObject searchComponentContainer;
|
private static GameObject searchComponentContainer;
|
||||||
private static SpriteRenderer _searchIconIdle;
|
private static SpriteRenderer _searchIconIdle;
|
||||||
private static SpriteRenderer _searchIconHover;
|
private static SpriteRenderer _searchIconHover;
|
||||||
@@ -317,6 +319,8 @@ public static class RoleGuidePatches
|
|||||||
Initialize(__instance);
|
Initialize(__instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetUpTabGrids(LocalSettingsTabSingleton<MiraApiSettings>.Instance.WikiTabPosition.Value);
|
||||||
|
|
||||||
if (RoleEntries.Count == 0)
|
if (RoleEntries.Count == 0)
|
||||||
{
|
{
|
||||||
BuildEntries();
|
BuildEntries();
|
||||||
@@ -385,6 +389,40 @@ public static class RoleGuidePatches
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void SetUpTabGrids(MatchInfoTabPos position)
|
||||||
|
{
|
||||||
|
tabButtonContainer.startCorner = GridLayoutGroup.Corner.UpperLeft;
|
||||||
|
tabButtonContainer.startAxis = GridLayoutGroup.Axis.Horizontal;
|
||||||
|
tabButtonContainer.constraint = GridLayoutGroup.Constraint.FixedColumnCount;
|
||||||
|
tabContainerRend.transform.localScale = new Vector3(0.4f, 0.4125f, 1);
|
||||||
|
tabContainerRend.transform.localRotation = Quaternion.Euler(new Vector3(0, 0, 0));
|
||||||
|
switch (position)
|
||||||
|
{
|
||||||
|
case MatchInfoTabPos.LeftSide:
|
||||||
|
tabButtonContainer.childAlignment = TextAnchor.MiddleLeft;
|
||||||
|
tabButtonContainer.transform.localPosition = new Vector3(-3.95f, 0, -0.2f);
|
||||||
|
tabContainerRend.transform.localPosition = new Vector3(0.325f, 0, 0);
|
||||||
|
break;
|
||||||
|
case MatchInfoTabPos.RightSide:
|
||||||
|
tabButtonContainer.childAlignment = TextAnchor.MiddleRight;
|
||||||
|
tabButtonContainer.transform.localPosition = new Vector3(3.95f, 0, -0.2f);
|
||||||
|
tabContainerRend.transform.localPosition = new Vector3(-0.325f, 0, 0);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
tabButtonContainer.startCorner = GridLayoutGroup.Corner.LowerLeft;
|
||||||
|
tabButtonContainer.childAlignment = TextAnchor.LowerCenter;
|
||||||
|
tabButtonContainer.startAxis = GridLayoutGroup.Axis.Vertical;
|
||||||
|
tabButtonContainer.constraint = GridLayoutGroup.Constraint.FixedRowCount;
|
||||||
|
tabButtonContainer.transform.localPosition = new Vector3(0, -2.15f, -0.2f);
|
||||||
|
tabContainerRend.transform.localPosition = new Vector3(-0.025f, 0.3f, 0);
|
||||||
|
tabContainerRend.transform.localRotation = Quaternion.Euler(new Vector3(0, 0, 270));
|
||||||
|
tabContainerRend.transform.localScale = new Vector3(0.4f, 0.475f, 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
tabButtonContainer.constraintCount = 1;
|
||||||
|
}
|
||||||
|
|
||||||
private static void Initialize(MatchInfoGuide instance)
|
private static void Initialize(MatchInfoGuide instance)
|
||||||
{
|
{
|
||||||
if (_uiInitialized)
|
if (_uiInitialized)
|
||||||
@@ -411,6 +449,17 @@ public static class RoleGuidePatches
|
|||||||
searchComponentContainer.transform.localPosition = Vector3.zero;
|
searchComponentContainer.transform.localPosition = Vector3.zero;
|
||||||
instance.MatchInfoParent.transform.GetChild(1).transform.SetParent(searchComponentContainer.transform);
|
instance.MatchInfoParent.transform.GetChild(1).transform.SetParent(searchComponentContainer.transform);
|
||||||
|
|
||||||
|
var newContainer = new GameObject("TabButtonContainer");
|
||||||
|
newContainer.transform.SetParent(instance.MatchInfoParent.transform);
|
||||||
|
tabButtonContainer = newContainer.AddComponent<GridLayoutGroup>();
|
||||||
|
tabButtonContainer.cellSize = new Vector2(0.65f, 0.55f);
|
||||||
|
tabButtonContainer.rectTransform.offsetMax = tabButtonContainer.rectTransform.offsetMin = Vector2.zero;
|
||||||
|
tabContainerRend = new GameObject("BackRenderer").AddComponent<SpriteRenderer>();
|
||||||
|
tabContainerRend.transform.SetParent(newContainer.transform);
|
||||||
|
tabContainerRend.sprite = MiraAssets.TabButtonContainer.LoadAsset();
|
||||||
|
tabContainerRend.transform.localPosition = Vector3.zero;
|
||||||
|
tabContainerRend.gameObject.layer = 5;
|
||||||
|
|
||||||
var sortingOrderButton = Object.Instantiate(
|
var sortingOrderButton = Object.Instantiate(
|
||||||
HudManager.Instance.SettingsButton,
|
HudManager.Instance.SettingsButton,
|
||||||
searchComponentContainer.transform);
|
searchComponentContainer.transform);
|
||||||
@@ -661,6 +710,7 @@ public static class RoleGuidePatches
|
|||||||
MiraAssets.WikiModifiersButtonIdleSprite,
|
MiraAssets.WikiModifiersButtonIdleSprite,
|
||||||
MiraAssets.WikiModifiersButtonOpenSprite,
|
MiraAssets.WikiModifiersButtonOpenSprite,
|
||||||
MiraAssets.WikiModifiersButtonHoverSprite);
|
MiraAssets.WikiModifiersButtonHoverSprite);
|
||||||
|
modifiersButton.name = "ModifiersButton";
|
||||||
modifiersButton.OnClick = new Button.ButtonClickedEvent();
|
modifiersButton.OnClick = new Button.ButtonClickedEvent();
|
||||||
modifiersButton.OnClick.AddListener((Action)(() => OpenModifiersTab()));
|
modifiersButton.OnClick.AddListener((Action)(() => OpenModifiersTab()));
|
||||||
instance.TabButtons.Add(modifiersButton);
|
instance.TabButtons.Add(modifiersButton);
|
||||||
@@ -765,6 +815,8 @@ public static class RoleGuidePatches
|
|||||||
buttonCollider.size = new Vector2(0.8f, 0.74f);
|
buttonCollider.size = new Vector2(0.8f, 0.74f);
|
||||||
buttonCollider.offset = Vector2.zero;
|
buttonCollider.offset = Vector2.zero;
|
||||||
button.transform.localScale = new Vector3(0.7f, 0.7f, 1);
|
button.transform.localScale = new Vector3(0.7f, 0.7f, 1);
|
||||||
|
button.transform.SetParent(tabButtonContainer.transform);
|
||||||
|
button.gameObject.AddComponent<RectTransform>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SetupSearchButton(PassiveButton button, string objName, Action onClick, Sprite inactive, Sprite hover, Vector3 pos, out SpriteRenderer inactiveSprite, out SpriteRenderer hoverSprite)
|
private static void SetupSearchButton(PassiveButton button, string objName, Action onClick, Sprite inactive, Sprite hover, Vector3 pos, out SpriteRenderer inactiveSprite, out SpriteRenderer hoverSprite)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="MiraApi">Mira API</string>
|
<string name="MiraApi">Mira API</string>
|
||||||
<string name="MiraApi.VisualsUi">Visuals/UI</string>
|
<string name="MiraApi.VisualsUi">Visuals/UI</string>
|
||||||
|
<string name="MiraApi.MatchInfoGuide">Match Info Guide</string>
|
||||||
<string name="MiraApi.Accessibility">Accessibility</string>
|
<string name="MiraApi.Accessibility">Accessibility</string>
|
||||||
<string name="MiraApi.MiraApiBrand">MiraAPI</string>
|
<string name="MiraApi.MiraApiBrand">MiraAPI</string>
|
||||||
<string name="MiraApi.ShowModifiersHudOnLeftSide">Show Modifiers HUD on Left Side</string>
|
<string name="MiraApi.ShowModifiersHudOnLeftSide">Show Modifiers HUD on Left Side</string>
|
||||||
@@ -9,8 +10,12 @@
|
|||||||
<string name="MiraApi.ButtonScaleFactor">Button Scale Factor</string>
|
<string name="MiraApi.ButtonScaleFactor">Button Scale Factor</string>
|
||||||
<string name="MiraApi.TopRightButtonScaleFactor">Top-Right UI Scale Factor</string>
|
<string name="MiraApi.TopRightButtonScaleFactor">Top-Right UI Scale Factor</string>
|
||||||
<string name="MiraApi.MatchInfoGuideScaleFactor">Match Info Guide Scale Factor</string>
|
<string name="MiraApi.MatchInfoGuideScaleFactor">Match Info Guide Scale Factor</string>
|
||||||
|
<string name="MiraApi.WikiTabPosition">Tab Buttons Grid Placement</string>
|
||||||
|
<string name="MiraApi.WikiTabPosition.LeftSide">Left-Side</string>
|
||||||
|
<string name="MiraApi.WikiTabPosition.RightSide">Right-Side</string>
|
||||||
|
<string name="MiraApi.WikiTabPosition.Below">Below UI</string>
|
||||||
<string name="MiraApi.MaxFps">Max FPS</string>
|
<string name="MiraApi.MaxFps">Max FPS</string>
|
||||||
<string name="MiraApi.WikiOnBottomRow">Display Wiki on Bottom Row</string>
|
<string name="MiraApi.WikiOnBottomRow">Display Button on Bottom Row</string>
|
||||||
<string name="MiraApi.EnableSabotageFlashes">Enable Sabotage Flashes</string>
|
<string name="MiraApi.EnableSabotageFlashes">Enable Sabotage Flashes</string>
|
||||||
<string name="MiraApi.EnableSabotageBlare">Enable Sabotage Blare</string>
|
<string name="MiraApi.EnableSabotageBlare">Enable Sabotage Blare</string>
|
||||||
<string name="MiraApi.EnableVariableColors">Enable Variable Color Changes</string>
|
<string name="MiraApi.EnableVariableColors">Enable Variable Color Changes</string>
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -370,5 +370,10 @@ public static class MiraAssets
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static LoadableResourceAsset PageRightIdle { get; } = new("MiraAPI.Resources.Wiki.PageRightIdle.png");
|
public static LoadableResourceAsset PageRightIdle { get; } = new("MiraAPI.Resources.Wiki.PageRightIdle.png");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the sprite used below the tab icons in the wiki.
|
||||||
|
/// </summary>
|
||||||
|
public static LoadableResourceAsset TabButtonContainer { get; } = new("MiraAPI.Resources.Wiki.TabButtonContainer.png");
|
||||||
|
|
||||||
internal static LoadableResourceAsset BlankSprite { get; } = new("MiraAPI.Resources.BlankSprite.png");
|
internal static LoadableResourceAsset BlankSprite { get; } = new("MiraAPI.Resources.BlankSprite.png");
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user