示例#1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.A))
        {
            fsmManager.ChangeState((sbyte)AnimalState.Run, -1);
        }



        if (Input.GetKey(KeyCode.D))
        {
            fsmManager.ChangeState((sbyte)AnimalState.Run, 1);
        }


        if (Input.GetKeyDown(KeyCode.Space))
        {
            fsmManager.ChangeState((sbyte)AnimalState.RunJump);
        }



        if (Input.GetKeyDown(KeyCode.S))
        {
            fsmManager.ChangeState((sbyte)AnimalState.RunSide);
        }



        if (fsmManager != null)
        {
            fsmManager.Update();
        }
    }
示例#2
0
    public virtual void FsmInit()
    {
        fsmManager = new FsmManager((int)PlayerAnimationEnum.Max);

        PlayerIdle playerIdle = new PlayerIdle(anim, this);

        PlayerRun playerRun = new PlayerRun(anim, this);

        PlayerAttack1 playerAttack1 = new PlayerAttack1(anim, this);

        PlayerAttack2 playerAttack2 = new PlayerAttack2(anim, this);

        PlayerAttack3 playerAttack3 = new PlayerAttack3(anim, this);


        fsmManager.AddState(playerIdle);

        fsmManager.AddState(playerRun);

        fsmManager.AddState(playerAttack1);

        fsmManager.AddState(playerAttack2);

        fsmManager.AddState(playerAttack3);

        fsmManager.ChangeState((int)PlayerAnimationEnum.Idle);
    }
示例#3
0
    public override void Start()
    {
        bossSkill = GetComponent <BossSkill>();

        sensor = new Sensor(10, 120, this);

        FsmManager = new FsmManager((int)DragonAnimEnum.Max);


        DragonIdleState         dragonIdleState         = new DragonIdleState(anim, this);
        DragonDieState          dragonDieState          = new DragonDieState(anim, this);
        DragonHitState          dragonHitState          = new DragonHitState(anim, this);
        DragonAttackState       dragonAttackState       = new DragonAttackState(anim, this);
        DragonPersueState       dragonPersueState       = new DragonPersueState(anim, this);
        DragonReleaseSkillState dragonReleaseSkillState = new DragonReleaseSkillState(anim, this);

        FsmManager.AddState(dragonIdleState);
        FsmManager.AddState(dragonDieState);
        FsmManager.AddState(dragonHitState);
        FsmManager.AddState(dragonAttackState);
        FsmManager.AddState(dragonPersueState);
        FsmManager.AddState(dragonReleaseSkillState);


        FsmManager.ChangeState((int)DragonAnimEnum.Idle);
    }
示例#4
0
    public override void FsmInit()
    {
        fsmManager = new FsmManager((int)LongRangeEnum.Max);

        PlayerIdle playerIdle = new PlayerIdle(anim, this);

        PlayerRun playerRun = new PlayerRun(anim, this);

        LongRangeAttack longRangeAttack = new LongRangeAttack(anim, this);


        fsmManager.AddState(playerIdle);

        fsmManager.AddState(playerRun);

        fsmManager.AddState(longRangeAttack);

        fsmManager.ChangeState((int)LongRangeEnum.Idle);
    }
示例#5
0
    public virtual void Start()
    {
        sensor = new Sensor(10, 120, this);

        FsmManager = new FsmManager((int)GoblinAnimationEnum.Max);


        GoblinAttackState goblinAttackState = new GoblinAttackState(anim, this);
        GoblinDieState    goblinDieState    = new GoblinDieState(anim, this);
        GoblinHitState    goblinHitState    = new GoblinHitState(anim, this);
        GoblinIdleState   goblinIdleState   = new GoblinIdleState(anim, this);
        GoblinPatrolState goblinPatrolState = new GoblinPatrolState(anim, this);
        GoblinPersueState goblinPersueState = new GoblinPersueState(anim, this);

        FsmManager.AddState(goblinIdleState);
        FsmManager.AddState(goblinDieState);
        FsmManager.AddState(goblinHitState);
        FsmManager.AddState(goblinAttackState);
        FsmManager.AddState(goblinPatrolState);
        FsmManager.AddState(goblinPersueState);

        FsmManager.ChangeState((int)GoblinAnimationEnum.Idle);
    }
示例#6
0
 public virtual void ChangeToIdle()
 {
     fsmManager.ChangeState((int)PlayerAnimationEnum.Idle);
 }
示例#7
0
 public void ChangeState(sbyte stateIndex)
 {
     fsmManager.ChangeState(stateIndex);
 }
示例#8
0
 public override void ChangeToHit()
 {
     FsmManager.ChangeState((int)DragonAnimEnum.Hit);
 }
示例#9
0
 public override void ChangeToPersue()
 {
     FsmManager.ChangeState((int)DragonAnimEnum.Persue);
 }
示例#10
0
 public override void ChangeToAttack()
 {
     FsmManager.ChangeState((int)DragonAnimEnum.Attack);
 }
示例#11
0
 public override void ChangeToIdle()
 {
     FsmManager.ChangeState((int)DragonAnimEnum.Idle);
 }