public void doAnimEvent(ANIMEVENTTYPE eEvent, string strParam) { if (eEvent == ANIMEVENTTYPE.AET_AttackEnemy && m_curBehavior == BehaviorType.EState_Skill) { CAttackBehavior attack = (CAttackBehavior)m_arrayBehavir [2]; attack.doAnimEvent(strParam); } }
public CreatureFSM(CNPCEntity pOwner) { m_pOwner = pOwner; m_arrayBehavir = new CBehavior[14]; CIdleBehavior Idle = new CIdleBehavior(); Idle.InitFSM(pOwner); m_arrayBehavir[0] = null; m_arrayBehavir[0] = Idle; CMoveBehavior walk = new CMoveBehavior(); walk.InitFSM(m_pOwner); m_arrayBehavir[1] = null; m_arrayBehavir[1] = walk; CAttackBehavior attack = new CAttackBehavior(); attack.InitFSM(m_pOwner); m_arrayBehavir[2] = null; m_arrayBehavir[2] = attack; CDeadBehavior Dead = new CDeadBehavior(); Dead.InitFSM(m_pOwner); m_arrayBehavir[3] = null; m_arrayBehavir[3] = Dead; CBeAtkBehavior BeAtk = new CBeAtkBehavior(); BeAtk.InitFSM(m_pOwner); m_arrayBehavir [4] = BeAtk; CHitFlyBehavior HitFly = new CHitFlyBehavior(); HitFly.InitFSM(m_pOwner); m_arrayBehavir[5] = null; m_arrayBehavir[5] = HitFly; CRepelBehavior Repel = new CRepelBehavior(); Repel.InitFSM(m_pOwner); m_arrayBehavir[6] = null; m_arrayBehavir[6] = Repel; CAssaultBehavior Assault = new CAssaultBehavior(); Assault.InitFSM(m_pOwner); m_arrayBehavir[7] = null; m_arrayBehavir[7] = Assault; CPullBehavior Pull = new CPullBehavior(); Pull.InitFSM(m_pOwner); m_arrayBehavir[8] = null; m_arrayBehavir[8] = Pull; CDazzyBehavior Dazzy = new CDazzyBehavior(); Dazzy.InitFSM(m_pOwner); m_arrayBehavir[9] = null; m_arrayBehavir[9] = Dazzy; CTieBehavior Tie = new CTieBehavior(); Tie.InitFSM(m_pOwner); m_arrayBehavir[10] = null; m_arrayBehavir[10] = Tie; CSoporBehavior Sopor = new CSoporBehavior(); Sopor.InitFSM(m_pOwner); m_arrayBehavir[11] = null; m_arrayBehavir[11] = Sopor; CHitDownBehavior HitDown = new CHitDownBehavior(); HitDown.InitFSM(m_pOwner); m_arrayBehavir[12] = null; m_arrayBehavir[12] = HitDown; CSuspensionBehavior Susp = new CSuspensionBehavior(); Susp.InitFSM(m_pOwner); m_arrayBehavir[13] = null; m_arrayBehavir[13] = Susp; }