using System.Collections.Generic; using Common.Utility.CombatEvent; using Core.Utility; using Excel2Json; using Fort23.Core; using Fort23.UTool; using GameLogic.Combat.CombatTool; namespace GameLogic.Combat.Hero { /// /// 法宝的管理 /// public class MagicWeaponControl { private BetterList _allMagicWeapon = new BetterList(); // private CombatMagicWeaponEntity _currUserMagicWeapon; public CombatHeroEntity combatHeroEntity; public void AddMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity) { _allMagicWeapon.Add(combatMagicWeaponEntity); } public void RemoveMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity) { _allMagicWeapon.Remove(combatMagicWeaponEntity); } public async CTask InitMagicWeapon(CombatHeroEntity combatHeroEntity) { this.combatHeroEntity = combatHeroEntity; CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer(); List MagicWeaponID = combatHeroEntity.CurrCombatHeroInfo.MagicWeaponID; for (int i = 0; i < MagicWeaponID.Count; i++) { CombatMagicWeaponEntity heroEntity = new CombatMagicWeaponEntity(); heroEntity.IsEnemy = combatHeroEntity.IsEnemy; heroEntity.number = i; MagicWeaponConfig magicWeaponConfig = ConfigComponent.Instance.Get(MagicWeaponID[i]); cTaskAwaitBuffer.AddTask(heroEntity.Init(this, magicWeaponConfig, delegate(CombatMagicWeaponEntity entity) { AddMagicWeapon(entity); })); } } public void UseMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity) { CombatController.currActiveCombat.MagicWeaponCombatSence.AddMagicWeaponToSence(combatMagicWeaponEntity); } public void Update(float t) { for (int i = 0; i < _allMagicWeapon.Count; i++) { _allMagicWeapon[i].Update(t); } } } }