コード例 #1
0
        private static void UpdateLocalPlayerPda(INitroxPlayer player, PingInstance ping)
        {
            PDA          localPlayerPda      = Player.main.GetPDA();
            GameObject   pdaScreenGameObject = localPlayerPda.ui.gameObject;
            GameObject   pingTabGameObject   = pdaScreenGameObject.transform.Find("Content/PingManagerTab").gameObject;
            uGUI_PingTab pingTab             = pingTabGameObject.GetComponent <uGUI_PingTab>();

            MethodInfo updateEntities = typeof(uGUI_PingTab).GetMethod("UpdateEntries", BindingFlags.NonPublic | BindingFlags.Instance);

            updateEntities.Invoke(pingTab,
                                  new object[]
            {
            });

            FieldInfo pingTabEntriesField = typeof(uGUI_PingTab).GetField("entries", BindingFlags.NonPublic | BindingFlags.Instance);
            Dictionary <int, uGUI_PingEntry> pingEntries = (Dictionary <int, uGUI_PingEntry>)pingTabEntriesField.GetValue(pingTab);
            uGUI_PingEntry pingEntry = pingEntries[ping.GetInstanceID()];

            pingEntry.icon.color = player.PlayerSettings.PlayerColor.ToUnity();

            GameObject pingEntryGameObject = pingEntry.gameObject;

            pingEntryGameObject.transform.Find("ColorToggle").gameObject.SetActive(false);

            if (!localPlayerPda.isInUse)
            {
                pdaScreenGameObject.gameObject.SetActive(false);
            }
        }
コード例 #2
0
        private static void SetInGamePingColor(INitroxPlayer player, PingInstance ping)
        {
            uGUI_Pings pings = Object.FindObjectOfType <uGUI_Pings>();

            MethodInfo setColor = typeof(uGUI_Pings).GetMethod("OnColor", BindingFlags.NonPublic | BindingFlags.Instance);

            setColor.Invoke(pings, new object[] { ping.GetInstanceID(), player.PlayerSettings.PlayerColor });
        }
コード例 #3
0
        private static void UpdateLocalPlayerPda(INitroxPlayer player, PingInstance ping)
        {
            PDA          localPlayerPda      = Player.main.GetPDA();
            GameObject   pdaScreenGameObject = localPlayerPda.ui.gameObject;
            GameObject   pingTabGameObject   = pdaScreenGameObject.transform.Find("Content/PingManagerTab").gameObject;
            uGUI_PingTab pingTab             = pingTabGameObject.GetComponent <uGUI_PingTab>();

            pingTab.UpdateEntries();
            Dictionary <int, uGUI_PingEntry> pingEntries = pingTab.entries;
            uGUI_PingEntry pingEntry = pingEntries[ping.GetInstanceID()];

            pingEntry.icon.color = player.PlayerSettings.PlayerColor.ToUnity();

            GameObject pingEntryGameObject = pingEntry.gameObject;

            pingEntryGameObject.transform.Find("ColorToggle").gameObject.SetActive(false);

            if (!localPlayerPda.isInUse)
            {
                pdaScreenGameObject.gameObject.SetActive(false);
            }
        }
コード例 #4
0
        public static PingInstance AddNewBeacon(GameObject gameObject, PingType pingType, string beaconName, int minDist, int maxDist)
        {
            Initialize();
            if (cachedSprites.ContainsKey(pingType) == false)
            {
                Log.Error($"CustomBeaconManager::AddNewBeacon attempted to add a beacon with a PingType ({pingType}) that was not registered with CustomBeaconManager::RegisterNewPingType", false);
                return(null);
            }

            PingInstance pingInstance = gameObject.GetOrAddComponent <PingInstance>();

            pingInstance.pingType = pingType;
            pingInstance.minDist  = minDist;
            pingInstance.maxDist  = maxDist;
            pingInstance.origin   = gameObject.transform;
            pingInstance.SetLabel(beaconName);

            if (pingUI != null)
            {
                pingUI.pings[pingInstance.GetInstanceID()].SetIcon(cachedSprites[pingType]);
            }

            return(pingInstance);
        }
コード例 #5
0
        private static void SetInGamePingColor(INitroxPlayer player, PingInstance ping)
        {
            uGUI_Pings pings = Object.FindObjectOfType <uGUI_Pings>();

            pings.OnColor(ping.GetInstanceID(), player.PlayerSettings.PlayerColor.ToUnity());
        }