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(); }); } }
//CharacterAction调用 public void SetItem(PrivateItemData itemData) { material = itemData.itemMaterial; level = itemData.itemLevel; position = itemData.itemPosition; SetLevel(level); }
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); }