Пример #1
0
    public override Type Tick()
    {
        if (!_monster.CheckDistance(_monster.MonsterStats.awareness))
        {
            Debug.Log("WanderState");
            return(typeof(WanderState));
        }

        if (_monster.CheckDistance(_monster.MonsterStats.range))
        {
            Debug.Log("CombatState");
            return(typeof(CombatState));
        }

        FallowPlayer();

        return(null);
    }
Пример #2
0
    public override Type Tick()
    {
        if (_monster.CheckDistance(_monster.MonsterStats.awareness))
        {
            Debug.Log("ChaseState");
            return(typeof(ChaseState));
        }

        return(null);
    }
Пример #3
0
    public override Type Tick()
    {
        if (!_monster.CheckDistance(_monster.MonsterStats.range))
        {
            return(typeof(ChaseState));
        }

        TurnToFacePlayer();

        if (CanAttack())
        {
            Attack();

            //side = ChangeSide();
        }
        else if (_monster.MonsterStats.isRanged == true)
        {
            SideStep(side);
        }

        return(null);
    }