Example #1
0
    private void Equip()
    {
        Controller_Main.GetInstance().itemMenu.UpdateView();
        var buttonRecord = Controller_Main.GetInstance().itemMenu.buttonRecord;

        gameObject.SetActive(false);
        var btn          = EventSystem.current.currentSelectedGameObject;
        var itemPosition = allButtons.IndexOf(btn);

        foreach (var pair in buttonRecord)
        {
            pair.Key.GetComponent <Button>().onClick.RemoveAllListeners();
            pair.Key.GetComponent <Button>().onClick.AddListener(() =>
            {
                ItemData tempItemData = Global.GetInstance().playerDB.items.Find(item => item.ID == pair.Value);

                //已经装备
                if (tempItemData.equipped.Length > 0)
                {
                    var items = Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == tempItemData.equipped).items;
                    items.Remove(items.Find(item => item.ID == pair.Value));
                }

                tempItemData.equipped = Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName;
                var privateItemData   = new PrivateItemData(pair.Value, tempItemData.itemName, itemPosition);
                Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName).items.Add(privateItemData);
                Controller_Main.GetInstance().itemMenu.gameObject.SetActive(false);
                UpdateView();
            });
        }
    }
Example #2
0
 //CharacterAction调用
 public void SetItem(PrivateItemData itemData)
 {
     material = itemData.itemMaterial;
     level    = itemData.itemLevel;
     position = itemData.itemPosition;
     SetLevel(level);
 }
Example #3
0
    public bool SetItem(string itemName, PrivateItemData itemData)
    {
        Type t = SkillManager.GetInstance().skillList.Find(item => item.EName == itemName).GetType();

        skill = Activator.CreateInstance(t) as Skill;
        var pair = new KeyValuePair <Skill, Transform>(skill, transform);

        SkillManager.GetInstance().skillQueue.Enqueue(pair);
        GetComponent <Unit>().action.Push(skill);
        ((INinjaTool)skill).SetItem(itemData);
        return(true);
    }