Add full grid options

This commit is contained in:
Atony committed 2026-10-17 19:39:08 -05:00
1 parent 12dee96200
commit 0ddbabadd6
3 files changed
+57 -15

No files matched your search

+21 -7
View File
@@ -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)]
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>
/// Gets the fps specified by the player.
/// </summary>
@@ -226,11 +220,24 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config)
[LocalToggleSetting]
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>
/// Gets the flag indicating whether the wiki is on the bottom row.
/// </summary>
[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>
/// Gets whether to show the red flash from sabotages.
@@ -250,3 +257,10 @@ public class MiraApiSettings(ConfigFile config) : LocalSettingsTab(config)
[LocalToggleSetting]
public ConfigEntry<bool> EnableVariableColors { get; private set; } = config.Bind("MiraApi.Accessibility", "MiraApi.EnableVariableColors", true);
}
public enum MatchInfoTabPos
{
LeftSide,
RightSide,
Below,
}
+30 -7
View File
@@ -318,6 +318,8 @@ public static class RoleGuidePatches
Initialize(__instance);
}
SetUpTabGrids(LocalSettingsTabSingleton<MiraApiSettings>.Instance.WikiTabPosition.Value);
if (RoleEntries.Count == 0)
{
BuildEntries();
@@ -386,6 +388,33 @@ public static class RoleGuidePatches
return false;
}
private static void SetUpTabGrids(MatchInfoTabPos position)
{
tabButtonContainer.startCorner = GridLayoutGroup.Corner.UpperLeft;
tabButtonContainer.startAxis = GridLayoutGroup.Axis.Horizontal;
tabButtonContainer.constraint = GridLayoutGroup.Constraint.FixedColumnCount;
switch (position)
{
case MatchInfoTabPos.LeftSide:
tabButtonContainer.childAlignment = TextAnchor.MiddleLeft;
tabButtonContainer.transform.localPosition = new Vector3(-4, 0, -0.2f);
break;
case MatchInfoTabPos.RightSide:
tabButtonContainer.childAlignment = TextAnchor.MiddleRight;
tabButtonContainer.transform.localPosition = new Vector3(4, 0, -0.2f);
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);
break;
}
tabButtonContainer.constraintCount = 1;
}
private static void Initialize(MatchInfoGuide instance)
{
if (_uiInitialized)
@@ -415,14 +444,8 @@ public static class RoleGuidePatches
var newContainer = new GameObject("TabButtonContainer");
newContainer.transform.SetParent(instance.MatchInfoParent.transform);
tabButtonContainer = newContainer.AddComponent<GridLayoutGroup>();
tabButtonContainer.cellSize = new Vector2(0.8f, 0.55f);
tabButtonContainer.cellSize = new Vector2(0.7f, 0.55f);
tabButtonContainer.rectTransform.offsetMax = tabButtonContainer.rectTransform.offsetMin = Vector2.zero;
tabButtonContainer.startAxis = GridLayoutGroup.Axis.Horizontal;
tabButtonContainer.startCorner = GridLayoutGroup.Corner.UpperLeft;
tabButtonContainer.childAlignment = TextAnchor.MiddleLeft;
tabButtonContainer.constraint = GridLayoutGroup.Constraint.FixedColumnCount;
tabButtonContainer.constraintCount = 1;
newContainer.transform.localPosition = new Vector3(-4, 0, -0.2f);
var sortingOrderButton = Object.Instantiate(
HudManager.Instance.SettingsButton,
+6 -1
View File
@@ -2,6 +2,7 @@
<resources>
<string name="MiraApi">Mira API</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.MiraApiBrand">MiraAPI</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.TopRightButtonScaleFactor">Top-Right UI 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.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.EnableSabotageBlare">Enable Sabotage Blare</string>
<string name="MiraApi.EnableVariableColors">Enable Variable Color Changes</string>