public void RegisterGenericMenu(UI_Menu_Inventory_ItemOption_GenericMenu genericMenu)
 {
     genericMenusList.Add(genericMenu);
 }
示例#2
0
        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);
        }