示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
        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;
            }
        }