public void RegisterGenericMenu(UI_Menu_Inventory_ItemOption_GenericMenu genericMenu) { genericMenusList.Add(genericMenu); }
private void OpenItemOption() { // =============================================================================================== // Clear current registerd generic menu. // =============================================================================================== UI_Menu_Inventory_ItemOption.Instance.ClearRegisteredGenericMenu(); // =============================================================================================== // Create Equip and Cancel generic menu instance. // =============================================================================================== var equip = UI_Menu_Inventory_ItemOption_GenericMenu.CreateGenericMenu("Equip"); var cancel = UI_Menu_Inventory_ItemOption_GenericMenu.CreateGenericMenu("Cancel"); // =============================================================================================== // Register on equip callback // =============================================================================================== var equipment = ItemRenderer.ItemPreview.ItemBase as Item_Equipment; var isEquipped = GameManager.Player.Equipment.IsCurrentlyEquipped(equipment); if (isEquipped == true) { equip.Text.text = "Unequip"; equip.OnMouseLeftClick.AddListener(equipment.Unequip); equip.OnMouseLeftClick.AddListener(UnregisterThisItemIcon); } else { equip.OnMouseLeftClick.AddListener(equipment.Equip); equip.OnMouseLeftClick.AddListener(RegisterThisItemIcon); } if (GameManager.Player.UnitAnimator.Params.IsInCombatState == false) { equip.OnMouseLeftClick.AddListener(Ring.UpdateColor); equip.OnMouseLeftClick.AddListener(Background.UpdateColor); equip.OnMouseLeftClick.AddListener(UI_Menu_Inventory_ItemOption.Instance.Close); equip.OnMouseLeftClick.AddListener(equip.OnMouseLeftClick.RemoveAllListener); } else { equip.OnMouseLeftClick.RemoveListener(equipment.Unequip); equip.OnMouseLeftClick.RemoveListener(equipment.Equip); equip.Text.color = Color.red; equip.Ring.color = Color.red; } // =============================================================================================== // Register on cancel callback // =============================================================================================== cancel.OnMouseLeftClick.AddListener(UI_Menu_Inventory_ItemOption.Instance.Close); cancel.OnMouseLeftClick.AddListener(cancel.OnMouseLeftClick.RemoveAllListener); // =============================================================================================== // Register instantiated Equip and Cancel generic menu to ItemOption. // =============================================================================================== UI_Menu_Inventory_ItemOption.Instance.RegisterGenericMenu(equip); UI_Menu_Inventory_ItemOption.Instance.RegisterGenericMenu(cancel); // =============================================================================================== // Open the menu. // =============================================================================================== UI_Menu_Inventory_ItemOption.Instance.Open(this); }