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);
}
}
}
}