12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- using Fort23.Core;
- using Fort23.UTool;
- using GameLogic.Combat.Hero;
- using GameLogic.Combat.Hero.State;
- namespace GameLogic.Combat.CombatTool
- {
- public class MagicWeaponCollisionInfo : CObject
- {
- public CombatMagicWeaponEntity a;
- public CombatMagicWeaponEntity b;
- public int id;
- protected float _currTime;
- /// <summary>
- /// 状态 0=等待状态 1=飞行状态 2=碰撞状态
- /// </summary>
- public int State;
- public void Init(CombatMagicWeaponEntity a, CombatMagicWeaponEntity b,int id)
- {
- this.id = id;
- this.a = a;
- this.b = b;
- a.MagicWeaponCollisionId = id;
- b.MagicWeaponCollisionId = id;
- State = 0;
- }
- public void Update(float t)
- {
- if (State == 0)
- {
- if (a.CombatAIBasic.stateControl.CurrStateName.Equals(CombatHeroStateType.idle) &&
- b.CombatAIBasic.stateControl.CurrStateName.Equals(CombatHeroStateType.idle))
- {
- State = 1;
- }
- }
- if (State == 2)
- {
- _currTime += t;
- if (_currTime > 0.1f)
- {
- _currTime = 0;
- if (a != null)
- {
- a.ReduceHp(1);
- }
- if (b != null)
- {
- b.ReduceHp(1);
- }
- }
- }
- }
- public void SetState(int state)
- {
- State = state;
- }
- public override void ActiveObj()
- {
- }
- public override void DormancyObj()
- {
- a = null;
- b = null;
- }
- public void Finish()
- {
- LogTool.Log("碰撞完成");
- if (a.HpBl > 0)
- {
- a.CombatAIBasic.ChangeState(CombatHeroStateType.att);
- a.MagicWeaponCollisionId = -1;
- b.MagicWeaponCollisionId = -1;
- }
- if (b.HpBl > 0)
- {
- b.CombatAIBasic.ChangeState(CombatHeroStateType.att);
- a.MagicWeaponCollisionId = -1;
- b.MagicWeaponCollisionId = -1;
- }
- }
- }
- }
|