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 Postfix(uGUI_PingTab __instance) { CustomPings.Initialize(); var entries = (Dictionary <int, uGUI_PingEntry>)uGUI_PingTab_entries.GetValue(__instance); foreach (var entry in entries) { var id = entry.Key; var pingEntry = entry.Value; var pingInstance = PingManager.Get(id); pingEntry.icon.sprite = SpriteManager.Get(SpriteManager.Group.Pings, PingManager.sCachedPingTypeStrings.Get(pingInstance.pingType)); pingEntry.icon.color = CustomPings.GetColor(pingInstance.colorIndex); pingEntry.UpdateLabel(pingInstance.pingType, pingInstance.GetLabel()); pingEntry.visibility.isOn = pingInstance.visible; pingEntry.visibilityIcon.sprite = ((!pingInstance.visible) ? pingEntry.spriteHidden : pingEntry.spriteVisible); } }
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); } }
static void addToolbar(uGUI_PingTab __instance) { __instance.gameObject.ensureComponent <PingToggleToolbar>(); }