cleanup CustomPlayerMenu.cs

This commit is contained in:
XtraCube committed 2025-03-29 13:35:16 -04:00
1 parent 51b54d4340
commit b28a0a1253
1 file changed
+27 -27
+27 -27
View File
@@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq; using System.Linq;
using AmongUs.GameOptions; using AmongUs.GameOptions;
using Il2CppInterop.Runtime.Attributes; using Il2CppInterop.Runtime.Attributes;
@@ -8,6 +9,8 @@ using Reactor.Utilities.Attributes;
using Reactor.Utilities.Extensions; using Reactor.Utilities.Extensions;
using UnityEngine; using UnityEngine;
using UnityEngine.Events; using UnityEngine.Events;
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring as nullable.
namespace MiraAPI.Hud; namespace MiraAPI.Hud;
@@ -16,22 +19,18 @@ namespace MiraAPI.Hud;
/// </summary> /// </summary>
/// <param name="il2CppPtr">Used by Il2Cpp. Do not use constructor, this is a MonoBehaviour.</param> /// <param name="il2CppPtr">Used by Il2Cpp. Do not use constructor, this is a MonoBehaviour.</param>
[RegisterInIl2Cpp] [RegisterInIl2Cpp]
[SuppressMessage("Design", "CA1051:Do not declare visible instance fields", Justification = "Unity Convention")]
[SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:Accessible fields should begin with upper-case letter", Justification = "Unity Convention")]
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1401:Fields should be private", Justification = "Unity Convention")]
public class CustomPlayerMenu(IntPtr il2CppPtr) : Minigame(il2CppPtr) public class CustomPlayerMenu(IntPtr il2CppPtr) : Minigame(il2CppPtr)
{ {
public ShapeshifterPanel PanelPrefab; public ShapeshifterPanel panelPrefab;
public float xStart = -0.8f;
public float XStart = -0.8f; public float yStart = 2.15f;
public float xOffset = 1.95f;
public float YStart = 2.15f; public float yOffset = -0.65f;
public UiElement backButton;
public float XOffset = 1.95f; public UiElement defaultButtonSelected;
public float YOffset = -0.65f;
public UiElement BackButton;
public UiElement DefaultButtonSelected;
public List<ShapeshifterPanel> potentialVictims; public List<ShapeshifterPanel> potentialVictims;
/// <summary> /// <summary>
@@ -42,17 +41,17 @@ public class CustomPlayerMenu(IntPtr il2CppPtr) : Minigame(il2CppPtr)
{ {
var shapeShifterRole = RoleManager.Instance.GetRole(RoleTypes.Shapeshifter); var shapeShifterRole = RoleManager.Instance.GetRole(RoleTypes.Shapeshifter);
var ogMenu = shapeShifterRole.TryCast<ShapeshifterRole>().ShapeshifterMenu; var ogMenu = shapeShifterRole.TryCast<ShapeshifterRole>()!.ShapeshifterMenu;
var newMenu = Instantiate(ogMenu); var newMenu = Instantiate(ogMenu);
var customMenu = newMenu.gameObject.AddComponent<CustomPlayerMenu>(); var customMenu = newMenu.gameObject.AddComponent<CustomPlayerMenu>();
customMenu.PanelPrefab = newMenu.PanelPrefab; customMenu.panelPrefab = newMenu.PanelPrefab;
customMenu.XStart = newMenu.XStart; customMenu.xStart = newMenu.XStart;
customMenu.YStart = newMenu.YStart; customMenu.yStart = newMenu.YStart;
customMenu.XOffset = newMenu.XOffset; customMenu.xOffset = newMenu.XOffset;
customMenu.YOffset = newMenu.YOffset; customMenu.yOffset = newMenu.YOffset;
customMenu.BackButton = newMenu.BackButton; customMenu.backButton = newMenu.BackButton;
var back = customMenu.BackButton.GetComponent<PassiveButton>(); var back = customMenu.backButton.GetComponent<PassiveButton>();
back.OnClick.RemoveAllListeners(); back.OnClick.RemoveAllListeners();
back.OnClick.AddListener((UnityAction)(() => back.OnClick.AddListener((UnityAction)(() =>
{ {
@@ -65,7 +64,7 @@ public class CustomPlayerMenu(IntPtr il2CppPtr) : Minigame(il2CppPtr)
newMenu.DestroyImmediate(); newMenu.DestroyImmediate();
customMenu.transform.SetParent(Camera.main.transform, false); customMenu.transform.SetParent(Camera.main!.transform, false);
customMenu.transform.localPosition = new Vector3(0f, 0f, -50f); customMenu.transform.localPosition = new Vector3(0f, 0f, -50f);
return customMenu; return customMenu;
} }
@@ -75,6 +74,7 @@ public class CustomPlayerMenu(IntPtr il2CppPtr) : Minigame(il2CppPtr)
ControllerManager.Instance.CloseOverlayMenu(name); ControllerManager.Instance.CloseOverlayMenu(name);
} }
/// <inheritdoc />
public override void Begin(PlayerTask task) public override void Begin(PlayerTask task)
{ {
throw new NotImplementedException("Use the other Begin method."); throw new NotImplementedException("Use the other Begin method.");
@@ -90,7 +90,7 @@ public class CustomPlayerMenu(IntPtr il2CppPtr) : Minigame(il2CppPtr)
{ {
MinigameStubs.Begin(this, null); MinigameStubs.Begin(this, null);
var back = BackButton.GetComponent<PassiveButton>(); var back = backButton.GetComponent<PassiveButton>();
back.OnClick.AddListener((UnityAction)(() => back.OnClick.AddListener((UnityAction)(() =>
{ {
onClick(null); onClick(null);
@@ -107,13 +107,13 @@ public class CustomPlayerMenu(IntPtr il2CppPtr) : Minigame(il2CppPtr)
var num = i % 3; var num = i % 3;
var num2 = i / 3; var num2 = i / 3;
var flag = PlayerControl.LocalPlayer.Data.Role.NameColor == player.Data.Role.NameColor; var flag = PlayerControl.LocalPlayer.Data.Role.NameColor == player.Data.Role.NameColor;
var shapeshifterPanel = Instantiate(PanelPrefab, transform); var shapeshifterPanel = Instantiate(panelPrefab, transform);
shapeshifterPanel.transform.localPosition = new Vector3(XStart + num * XOffset, YStart + num2 * YOffset, -1f); shapeshifterPanel.transform.localPosition = new Vector3(xStart + num * xOffset, yStart + num2 * yOffset, -1f);
shapeshifterPanel.SetPlayer(i, player.Data, (Il2CppSystem.Action)(() => { onClick(player); })); shapeshifterPanel.SetPlayer(i, player.Data, (Il2CppSystem.Action)(() => { onClick(player); }));
shapeshifterPanel.NameText.color = flag ? player.Data.Role.NameColor : Color.white; shapeshifterPanel.NameText.color = flag ? player.Data.Role.NameColor : Color.white;
potentialVictims.Add(shapeshifterPanel); potentialVictims.Add(shapeshifterPanel);
list2.Add(shapeshifterPanel.Button); list2.Add(shapeshifterPanel.Button);
} }
ControllerManager.Instance.OpenOverlayMenu(name, BackButton, DefaultButtonSelected, list2); ControllerManager.Instance.OpenOverlayMenu(name, backButton, defaultButtonSelected, list2);
} }
} }