コード例 #1
0
    private void MakeFSM()
    {
        mFSMSystem = new EnemyFSMSystem();
        EnemyChaseState chaseState = new EnemyChaseState(mFSMSystem, this);

        chaseState.AddTransition(EnemyTransition.CanAttack, EnemyStateID.Attack);
        EnemyAttackState attackState = new EnemyAttackState(mFSMSystem, this);

        attackState.AddTransition(EnemyTransition.LostSoldier, EnemyStateID.Chase);
        mFSMSystem.AddState(chaseState, attackState);
    }
コード例 #2
0
    private void MakeFsm()
    {
        Fsm = new EnemyFSMSystem();

        EnemyChaseState chase = new EnemyChaseState(Fsm, this);

        chase.AddTransition(EnemyTransition.CanAttack, EnemyStateID.Attack);

        EnemyAttackState attack = new EnemyAttackState(Fsm, this);

        attack.AddTransition(EnemyTransition.LostSoldier, EnemyStateID.Chase);

        Fsm.AddState(chase, attack);
    }
コード例 #3
0
    private void MakeFSM()
    {
        mFSMSystem = new EnemyFSMSystem();

        EnemyFSMState chaseState = new StateEnemyChase(mFSMSystem, player);

        chaseState.AddTransition(EnemyTransition.SoldierInTheAttackRange, EnemyStateID.AttackState);

        EnemyFSMState attackState = new StateEnemyAttack(mFSMSystem, player);

        attackState.AddTransition(EnemyTransition.SoldierOutOfTheAttackRange, EnemyStateID.ChaseState);

        mFSMSystem.AddState(chaseState);
        mFSMSystem.AddState(attackState);
    }
コード例 #4
0
 public SmallEnemyIdleState(EnemyFSMSystem fsm) : base(fsm)
 {
     _stateID = StateID.SmallIdle;
 }
コード例 #5
0
 public StateEnemyChase(EnemyFSMSystem mFSM, ICharacter mCharacter) : base(mFSM, mCharacter)
 {
 }
コード例 #6
0
 protected EnemyFSMState(EnemyFSMSystem fsm)
 {
     _Fsm = fsm;
 }
コード例 #7
0
 public SmallEnemyDeadState(EnemyFSMSystem fsm) : base(fsm)
 {
     _stateID = StateID.SmallDead;
 }
コード例 #8
0
 public EnemyAttackState(EnemyFSMSystem fsm, ICharacter c) : base(fsm, c)
 {
     mEnemyStateID = EnemyStateID.Attack;
     mAttackTimer  = mAttackTime;
 }
コード例 #9
0
 public EnemyAttackState(EnemyFSMSystem fsm, ICharacter character) : base(fsm, character)
 {
     mStateID = EnemyStateID.Attack;
 }
コード例 #10
0
 public EnemyState(EnemyFSMSystem system, EnemyStateID stateID, Character character)
 {
     System    = system;
     StateID   = stateID;
     Character = character;
 }
コード例 #11
0
 public EnemyAttackState(EnemyFSMSystem system, Character character) : base(system, EnemyStateID.Attack, character)
 {
 }
コード例 #12
0
 protected EnemyFSMState(EnemyFSMSystem mFSM, ICharacter mCharacter)
 {
     this.mFSM       = mFSM;
     this.mCharacter = mCharacter;
 }
コード例 #13
0
 public SmallEnemyTakeDamageState(EnemyFSMSystem fsm) : base(fsm)
 {
     _stateID = StateID.SmallTakeDamadge;
 }
コード例 #14
0
 public IEnemyState(EnemyFSMSystem fsm, ICharacter character)
 {
     mFSM            = fsm;
     mCharacter      = character;
     mTargetPosition = GameFacade.Instance.GetEnemyTargetPosition();
 }
コード例 #15
0
 public SmallEnemyAttackState(EnemyFSMSystem fsm) : base(fsm)
 {
     _stateID = StateID.SmallAttack;
 }
コード例 #16
0
    private float mAtkTimer;//攻击计时器

    public EnemyAttackState(EnemyFSMSystem fsm, ICharacter character) : base(fsm, character)
    {
        mEnemyStateID = EnemyStateID.Attack;
        mAtkTimer     = mCharacter.AtkColdTime;
    }
コード例 #17
0
 public EnemyChaseState(EnemyFSMSystem system, Character character) : base(system, EnemyStateID.Chase, character)
 {
 }
コード例 #18
0
 public SmallEnemyChaseState(EnemyFSMSystem fsm) : base(fsm)
 {
     _stateID = StateID.SmallChase;
 }
コード例 #19
0
 public SmallEnemyRelaxState(EnemyFSMSystem fsm) : base(fsm)
 {
     _stateID = StateID.SmallRelax;
 }
 public IEnemyState(EnemyFSMSystem fsm, ICharacter character)
 {
     mFSM       = fsm;
     mCharacter = character;
 }
コード例 #21
0
 public EnemyAttackState(EnemyFSMSystem fsm, ICharacter charater) : base(fsm, charater)
 {
     m_StateID     = EnemyStateID.Attack;
     m_AttackTimer = m_AttackTime;
 }
コード例 #22
0
ファイル: EnemyChaseState.cs プロジェクト: kismy/DesignMode
 public EnemyChaseState(EnemyFSMSystem fsm, ICharacter character) : base(fsm, character)
 {
     mStateID = EnemyStateID.Chase;
 }
コード例 #23
0
    public virtual void MakeFSM()
    {
        _fsm = new EnemyFSMSystem(this);
        SmallEnemyIdleState smallEnemyIdle = new SmallEnemyIdleState
                                                 (_fsm);

        smallEnemyIdle.AddTransition(Transition.IdleToChase,
                                     StateID.SmallChase);
        smallEnemyIdle.AddTransition(Transition.IdleToTakeDamadge,
                                     StateID.SmallTakeDamadge);
        smallEnemyIdle.AddTransition(Transition.IdleToRelax, StateID.SmallRelax);
        smallEnemyIdle.AddTransition(Transition.IdleToDead, StateID.SmallDead);
        SmallEnemyChaseState smallEnemyChase = new SmallEnemyChaseState
                                                   (_fsm);

        smallEnemyChase.AddTransition(Transition.ChaseToIdle,
                                      StateID.SmallIdle);
        smallEnemyChase.AddTransition(Transition.ChaseToAttack,
                                      StateID.SmallAttack);
        smallEnemyChase.AddTransition(Transition.ChaseToTakeDamadge,
                                      StateID.SmallTakeDamadge);
        smallEnemyChase.AddTransition(Transition.ChaseToDead, StateID
                                      .SmallDead);
        SmallEnemyRelaxState smallEnemyRelax = new SmallEnemyRelaxState
                                                   (_fsm);

        smallEnemyRelax.AddTransition(Transition.RelaxToIdle, StateID.SmallIdle);
        smallEnemyRelax.AddTransition(Transition.RelaxToTakeDamadge, StateID.SmallTakeDamadge);
        smallEnemyRelax.AddTransition(Transition.RelaxToDead, StateID.SmallDead);
        SmallEnemyAttackState smallEnemyAttack = new SmallEnemyAttackState(_fsm);

        smallEnemyAttack.AddTransition(Transition.AttackToIdle,
                                       StateID.SmallIdle);
        smallEnemyAttack.AddTransition(Transition.AttackToDead,
                                       StateID.SmallDead);
        smallEnemyAttack.AddTransition(Transition
                                       .AttackToTakeDamadge, StateID.SmallTakeDamadge);
        SmallEnemyTakeDamageState smallEnemyTakeDamage = new
                                                         SmallEnemyTakeDamageState(_fsm);

        smallEnemyTakeDamage.AddTransition(
            Transition.TakeDamadgeToIdle, StateID.SmallIdle);
        SmallEnemyDeadState smallEnemyDead = new SmallEnemyDeadState(_fsm);

        smallEnemyDead.AddTransition(Transition.DeadToIdle, StateID.SmallIdle);
        if (_animator == null)
        {
            _animator = GetComponent <Animator>();
        }

        if (isBoomMonster)
        {
            _fsm.AddStates(smallEnemyIdle, smallEnemyChase,
                           smallEnemyAttack, smallEnemyTakeDamage, smallEnemyDead);
        }
        else
        {
            _fsm.AddStates(smallEnemyRelax, smallEnemyIdle, smallEnemyChase,
                           smallEnemyAttack, smallEnemyTakeDamage, smallEnemyDead);
        }
        _fsm.AddStates(smallEnemyRelax);
    }