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); } }
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 }); }
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); } }
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); }
private static void SetInGamePingColor(INitroxPlayer player, PingInstance ping) { uGUI_Pings pings = Object.FindObjectOfType <uGUI_Pings>(); pings.OnColor(ping.GetInstanceID(), player.PlayerSettings.PlayerColor.ToUnity()); }