static void addSwapperSwapButtons(MeetingHud __instance) { if (Swapper.swapper == null || PlayerControl.LocalPlayer != Swapper.swapper || Swapper.swapper.IDOFAMCIJKE.FGNJJFABIHJ) { return; } selections = new bool[__instance.DHCOPOOJCLN.Length]; renderers = new SpriteRenderer[__instance.DHCOPOOJCLN.Length]; for (int i = 0; i < __instance.DHCOPOOJCLN.Length; i++) { PlayerVoteArea playerVoteArea = __instance.DHCOPOOJCLN[i]; GameObject template = playerVoteArea.Buttons.transform.Find("CancelButton").gameObject; GameObject checkbox = UnityEngine.Object.Instantiate(template); checkbox.transform.SetParent(playerVoteArea.transform); checkbox.transform.position = template.transform.position; checkbox.transform.localPosition = new Vector3(0f, 0.03f, template.transform.localPosition.z); SpriteRenderer renderer = checkbox.GetComponent <SpriteRenderer>(); renderer.sprite = Swapper.getCheckSprite(); renderer.color = Color.red; PassiveButton button = checkbox.GetComponent <PassiveButton>(); button.OnClick.RemoveAllListeners(); int copiedIndex = i; button.OnClick.AddListener((UnityEngine.Events.UnityAction)(() => onClick(copiedIndex, __instance))); selections[i] = false; renderers[i] = renderer; } }
static void populateButtonsPostfix(MeetingHud __instance) { // Reposition button if there are more than 10 players float scale = 5f / 8f; // 8 rows are needed instead of 5 if (__instance.GBKFCOAKLAH != null && __instance.GBKFCOAKLAH.Length > 10) { for (int i = 0; i < __instance.GBKFCOAKLAH.Length; i++) { PlayerVoteArea area = __instance.GBKFCOAKLAH[i]; bool isLeft = i % 2 == 0; int num2 = i / 2; area.transform.localPosition = __instance.VoteOrigin + new Vector3(isLeft ? 1f : 3.9f, __instance.VoteButtonOffsets.y * (float)num2 * scale, area.transform.localPosition.z); area.transform.localScale = new Vector3(area.transform.localScale.x * scale, area.transform.localScale.y * scale, area.transform.localScale.z); } } // Add Swapper Buttons if (Swapper.swapper == null || PlayerControl.LocalPlayer != Swapper.swapper || Swapper.swapper.PPMOEEPBHJO.IAGJEKLJCCI) { return; } selections = new bool[__instance.GBKFCOAKLAH.Length]; renderers = new SpriteRenderer[__instance.GBKFCOAKLAH.Length]; for (int i = 0; i < __instance.GBKFCOAKLAH.Length; i++) { PlayerVoteArea playerVoteArea = __instance.GBKFCOAKLAH[i]; GameObject template = playerVoteArea.Buttons.transform.Find("CancelButton").gameObject; GameObject checkbox = UnityEngine.Object.Instantiate(template); checkbox.transform.SetParent(playerVoteArea.transform); checkbox.transform.position = template.transform.position; checkbox.transform.localPosition = new Vector3(0f, 0.03f, template.transform.localPosition.z); SpriteRenderer renderer = checkbox.GetComponent <SpriteRenderer>(); renderer.sprite = Swapper.getCheckSprite(); renderer.color = Color.red; PassiveButton button = checkbox.GetComponent <PassiveButton>(); button.OnClick.RemoveAllListeners(); int copiedIndex = i; button.OnClick.AddListener((UnityEngine.Events.UnityAction)(() => onClick(copiedIndex, __instance))); selections[i] = false; renderers[i] = renderer; } }
static void populateButtonsPostfix(MeetingHud __instance) { // Change buttons if there are more than 10 players if (__instance.playerStates != null && __instance.playerStates.Length > 10) { PlayerVoteArea[] playerStates = __instance.playerStates.OrderBy((PlayerVoteArea p) => p.isDead ? 50 : 0) .ThenBy((PlayerVoteArea p) => p.TargetPlayerId) .ToArray <PlayerVoteArea>(); for (int i = 0; i < playerStates.Length; i++) { PlayerVoteArea area = playerStates[i]; int row = i / 3, col = i % 3; // Update scalings area.Overlay.transform.localScale = area.PlayerButton.transform.localScale = new Vector3(1, 1 / scale, 1); area.NameText.transform.localScale = new Vector3(1 / scale, 1 / scale, 1); area.gameObject.transform.localScale = new Vector3(scale, scale, 1); GameObject megaphoneWrapper = new GameObject(); megaphoneWrapper.transform.SetParent(area.transform); megaphoneWrapper.transform.localScale = Vector3.one * 1 / scale; area.Megaphone.transform.SetParent(megaphoneWrapper.transform); // Update positions area.Megaphone.transform.localPosition += Vector3.left * 0.1f; area.NameText.transform.localPosition += new Vector3(0.25f, 0.043f, 0f); area.transform.localPosition = new Vector3(-3.63f + 2.43f * col, 1.5f - 0.76f * row, -0.9f - 0.01f * row); } } // Add Swapper Buttons if (Swapper.swapper == null || PlayerControl.LocalPlayer != Swapper.swapper || Swapper.swapper.Data.IsDead) { return; } selections = new bool[__instance.playerStates.Length]; renderers = new SpriteRenderer[__instance.playerStates.Length]; for (int i = 0; i < __instance.playerStates.Length; i++) { PlayerVoteArea playerVoteArea = __instance.playerStates[i]; GameObject template = playerVoteArea.Buttons.transform.Find("CancelButton").gameObject; GameObject checkbox = UnityEngine.Object.Instantiate(template); checkbox.transform.SetParent(playerVoteArea.transform); checkbox.transform.position = template.transform.position; checkbox.transform.localPosition = new Vector3(0f, 0.03f, template.transform.localPosition.z); SpriteRenderer renderer = checkbox.GetComponent <SpriteRenderer>(); renderer.sprite = Swapper.getCheckSprite(); renderer.color = Color.red; PassiveButton button = checkbox.GetComponent <PassiveButton>(); button.OnClick.RemoveAllListeners(); int copiedIndex = i; button.OnClick.AddListener((UnityEngine.Events.UnityAction)(() => onClick(copiedIndex, __instance))); selections[i] = false; renderers[i] = renderer; } }