using Fort23.Core; using GameLogic.Combat.Hero; using GameLogic.Combat.Hero.State; namespace GameLogic.Combat.CombatTool { public class MagicWeaponCollisionInfo : CObject { public CombatMagicWeaponEntity a; public CombatMagicWeaponEntity b; protected float _currTime; public void Update(float t) { _currTime += t; if (_currTime > 0.1f) { _currTime = 0; if (a != null) { a.ReduceHp(1); } if (b != null) { b.ReduceHp(1); } } } public override void ActiveObj() { } public override void DormancyObj() { a = null; b = null; } public void Finish() { if (a.HpBl > 0) { MagicWeaponMoveState.MagicWeaponMoveStateData magicWeaponMoveStateData = CObjectPool.Instance.Fetch(); magicWeaponMoveStateData.trigger = true; magicWeaponMoveStateData.triggerTime = 0.5f; a.CombatAIBasic.ChangeState(CombatHeroStateType.move,magicWeaponMoveStateData); CObjectPool.Instance.Recycle(magicWeaponMoveStateData); } if (b.HpBl > 0) { MagicWeaponMoveState.MagicWeaponMoveStateData magicWeaponMoveStateData = CObjectPool.Instance.Fetch(); magicWeaponMoveStateData.trigger = true; magicWeaponMoveStateData.triggerTime = 0.5f; b.CombatAIBasic.ChangeState(CombatHeroStateType.move,magicWeaponMoveStateData); CObjectPool.Instance.Recycle(magicWeaponMoveStateData); } } } }