public static void ShowTab(NetTabType type, GameObject tabProvider, ElementValue[] elementValues) { if (tabProvider == null) { return; } var openedTab = new NetTabDescriptor(tabProvider, type); //try to dig out a hidden tab with matching parameters and enable it: if (Instance.HiddenNetTabs.ContainsKey(openedTab)) { // Debug.Log( $"Yay, found an old hidden {openedTab} tab. Unhiding it" ); Instance.UnhideTab(Instance.HiddenNetTabs[openedTab]); } if (!Instance.OpenedNetTabs.ContainsKey(openedTab)) { var rightPanelParent = Instance.transform.GetChild(1); NetTab tabInfo = openedTab.Spawn(rightPanelParent); GameObject tabObject = tabInfo.gameObject; //putting into the right place tabObject.transform.localScale = Vector3.one; var rect = tabObject.GetComponent <RectTransform>(); rect.offsetMin = new Vector2(15, 15); rect.offsetMax = -new Vector2(15, 50); Instance.RefreshTabHeaders(); } NetTab tab = Instance.OpenedNetTabs[openedTab]; tab.ImportValues(elementValues); Instance.SelectTab(tab.gameObject, false); }
///Create new NetworkTabInfo if it doesn't exist, otherwise add player to it public void Add(NetTabDescriptor tabDescriptor, GameObject player) { if (tabDescriptor.Equals(NetTabDescriptor.Invalid)) { return; } if (!openTabs.ContainsKey(tabDescriptor)) { //Spawning new one openTabs.Add(tabDescriptor, tabDescriptor.Spawn(transform)); } NetTab tab = openTabs[tabDescriptor]; // tab.gameObject.SetActive( true ); tab.AddPlayer(player); }
private static NetTab FindOrSpawn(GameObject tabProvider, NetTabDescriptor descriptor) { var hiddenNetTabs = Instance.HiddenNetTabs; if (hiddenNetTabs.ContainsKey(descriptor)) { return(hiddenNetTabs[descriptor]); } var openedNetTabs = Instance.OpenedNetTabs; if (openedNetTabs.ContainsKey(descriptor)) { return(openedNetTabs[descriptor]); } return(descriptor.Spawn(tabProvider.transform)); }
///Create new NetworkTabInfo if it doesn't exist, otherwise add player to it public void Add(NetTabDescriptor tabDescriptor, GameObject player) { if (tabDescriptor.Equals(NetTabDescriptor.Invalid)) { return; } if (!openTabs.TryGetValue(tabDescriptor, out var tab)) { //Spawning new one tab = tabDescriptor.Spawn(transform); if (tab == null) { return; } openTabs.Add(tabDescriptor, tab); } tab.AddPlayer(player); }
public static void ShowTab(NetTabType type, GameObject tabProvider, ElementValue[] elementValues) { if (tabProvider == null) { return; } // Need to spawn a local instance of the NetTab to obtain its isPopOut property first. Parent is changed later. var openedTab = new NetTabDescriptor(tabProvider, type); NetTab tabInfo = openedTab.Spawn(tabProvider.transform); //Make use of NetTab's fancy isPopOut bool instead of depending on the NetTabType. bool isPopOut = tabInfo.isPopOut; if (!Instance.rolledOut && !isPopOut) { Instance.StartCoroutine(Instance.AnimTabRoll()); } //try to dig out a hidden tab with matching parameters and enable it: if (Instance.HiddenNetTabs.ContainsKey(openedTab)) { // Logger.Log( $"Yay, found an old hidden {openedTab} tab. Unhiding it" ); Instance.UnhideTab(Instance.HiddenNetTabs[openedTab]); } if (!Instance.OpenedNetTabs.ContainsKey(openedTab)) { Transform newParent = !isPopOut ? Instance.TabStorage : Instance.TabStoragePopOut; tabInfo.transform.SetParent(newParent, false); GameObject tabObject = tabInfo.gameObject; //putting into the right place tabObject.transform.localScale = Vector3.one; var rect = tabObject.GetComponent <RectTransform>(); if (!isPopOut) { rect.offsetMin = new Vector2(15, 15); rect.offsetMax = -new Vector2(15, 50); } else { //Center it: var localPos = Vector3.zero; localPos.y += 20f; rect.transform.localPosition = localPos; tabInfo.isPopOut = true; } Instance.RefreshTabHeaders(); } NetTab tab = Instance.OpenedNetTabs[openedTab]; tab.ImportValues(elementValues); if (!isPopOut) { Instance.SelectTab(tab.gameObject, false); } }
public static void ShowTab(NetTabType type, GameObject tabProvider, ElementValue[] elementValues) { if (tabProvider == null) { return; } bool isPopOut = false; //Add the popout types here: if ((type == NetTabType.Paper) || (type == NetTabType.ChemistryDispenser)) { isPopOut = true; } if (!Instance.rolledOut && !isPopOut) { Instance.StartCoroutine(Instance.AnimTabRoll()); } var openedTab = new NetTabDescriptor(tabProvider, type); //try to dig out a hidden tab with matching parameters and enable it: if (Instance.HiddenNetTabs.ContainsKey(openedTab)) { // Logger.Log( $"Yay, found an old hidden {openedTab} tab. Unhiding it" ); Instance.UnhideTab(Instance.HiddenNetTabs[openedTab]); } if (!Instance.OpenedNetTabs.ContainsKey(openedTab)) { Transform newParent = !isPopOut ? Instance.TabStorage : Instance.TabStoragePopOut; NetTab tabInfo = openedTab.Spawn(newParent); GameObject tabObject = tabInfo.gameObject; //putting into the right place tabObject.transform.localScale = Vector3.one; var rect = tabObject.GetComponent <RectTransform>(); if (!isPopOut) { rect.offsetMin = new Vector2(15, 15); rect.offsetMax = -new Vector2(15, 50); } else { //Center it: var localPos = Vector3.zero; localPos.y += 20f; rect.transform.localPosition = localPos; tabInfo.isPopOut = true; } Instance.RefreshTabHeaders(); } NetTab tab = Instance.OpenedNetTabs[openedTab]; tab.ImportValues(elementValues); if (!isPopOut) { Instance.SelectTab(tab.gameObject, false); } }