public void Push(HUDFrame hudframe) { // Super hackey solution to minor problem. if (this.frameStack.Peek().gameObject.name == "MaterialsFrame" && hudframe.gameObject.name == "DoodleFrame" || this.frameStack.Peek().gameObject.name == "DoodleFrame" && hudframe.gameObject.name == "MaterialsFrame") { this.Pop(); } if (this.frameStack.Count >= 4) { this.Pop(); } // deactivate current top level HUDframe if (!hudframe.isSubFrame) { this.frameStack.Peek().transform.gameObject.SetActive(false); } // activate new top level HUDframe hudframe.gameObject.SetActive(true); updateColor(hudframe); this.frameStack.Push(hudframe); }
void updateColor(HUDFrame topFrame) { foreach (Transform child in topFrame.GetComponentsInChildren <Transform>()) { bool isFrameObj = false; bool isButtonObj = false; bool isTextObj = false; } }
public void Pop() { HUDFrame removedFrame = this.frameStack.Peek(); /*foreach (SwapToolButton b in removedFrame.gameObject.GetComponentsInChildren<SwapToolButton>()) * if (b.toggled && b != this) * { * b.OnPress(); * }*/ // never pop the mainFrame if (removedFrame != mainFrame) { // deactivate top level HUDFrame removedFrame.gameObject.SetActive(false); // pop top level HUDFrame from stack this.frameStack.Pop(); // activate new top level HUDframe. this.frameStack.Peek().transform.gameObject.SetActive(true); updateColor(this.frameStack.Peek()); } }
// Use this for initialization void Start() { leapcontroller = new Leap.Controller(); frame = leapcontroller.Frame(); util = new HandsUtil(); frames = HUDObject.transform.Find("Frames").gameObject; mainFrame = frames.transform.Find("MainFrame").GetComponent <HUDFrame>(); // create the frameStack and initialize it with the mainFrame frameStack = new Stack <HUDFrame>(); frameStack.Push(mainFrame); hudActive = true; // initialize HUDColor to gray HUDColor = new Color(0.345f, 0.3568f, 0.3804f, 1.0f); anchor.Anchor += Placement; placed = false; hudManager = this; }
public static void AddToGUIUpdateList(Character character) { if (GUI.DisableHUD) { return; } if (!character.IsIncapacitated && character.Stun <= 0.0f && !IsCampaignInterfaceOpen) { if (character.Inventory != null) { for (int i = 0; i < character.Inventory.Capacity; i++) { var item = character.Inventory.GetItemAt(i); if (item == null || character.Inventory.SlotTypes[i] == InvSlotType.Any) { continue; } foreach (ItemComponent ic in item.Components) { if (ic.DrawHudWhenEquipped) { ic.AddToGUIUpdateList(); } } } } if (character.Params.CanInteract && character.SelectedCharacter != null) { character.SelectedCharacter.CharacterHealth.AddToGUIUpdateList(); } } HUDFrame.AddToGUIUpdateList(); }