예제 #1
0
    protected override void Eat()
    {
        base.Eat();
        _sheep.sheepAnimationState = Sheep.SHEEP_ANIMATIONSTATE.ARM_SHEEP_EAT_2;

        if (_drinkTimer >= _drinkDuration)
        {
            _sheep.ChangeState(new SheepPatrolState());
        }
    }
예제 #2
0
    protected override void Sleeping()
    {
        base.Sleeping();
        _sheep.sheepAnimationState = Sheep.SHEEP_ANIMATIONSTATE.ARM_SHEEP_SLEEP_START;

        if (_sleepTimer >= _sleepDuration)
        {
            _sheep.ChangeState(new SheepAwakenState());
        }
    }
    protected override void Awaken()
    {
        base.Awaken();
        _sheep.sheepAnimationState = Sheep.SHEEP_ANIMATIONSTATE.ARM_SHEEP_SLEEP_END;

        if (_wakeUpTimer >= _wakeUpDuration)
        {
            _sheep.ChangeState(new SheepIdleState());
        }
    }
    protected override void FindWater()
    {
        _sheep.FindWater();
        _sheep.sheepAnimationState = Sheep.SHEEP_ANIMATIONSTATE.ARM_SHEEP_WALK;

        if (_sheep._navMeshAgent.remainingDistance <= 0f)
        {
            _sheep.ChangeState(new SheepDrinkState());
        }
    }
예제 #5
0
    protected override void Patrol()
    {
        base.Patrol();
        _sheep.Destination();
        _sheep.sheepAnimationState = Sheep.SHEEP_ANIMATIONSTATE.ARM_SHEEP_WALK;

        if (_patrolTimer >= _patrolDuration)
        {
            _sheep.ChangeState(new SheepIdleState());
        }
    }
 protected override void TakeDamage()
 {
     if (!_tookDamage)
     {
         _sheep.TakeDamage(5);
         _sheep.sheepAnimationState = Sheep.SHEEP_ANIMATIONSTATE.ARM_SHEEP_HIT_FRONT;
         _tookDamage = true;
     }
     else
     {
         _sheep.ChangeState(new SheepIdleState());
     }
 }
예제 #7
0
    protected override void Idle()
    {
        base.Idle();

        if (_idleType == 1)
        {
            _sheep.sheepAnimationState = Sheep.SHEEP_ANIMATIONSTATE.ARM_SHEEP_IDLE_1;
        }
        else
        {
            _sheep.sheepAnimationState = Sheep.SHEEP_ANIMATIONSTATE.ARM_SHEEP_IDLE_2;
        }

        if (_idleTimer >= _idleDuration)
        {
            _sheep.ChangeState(new SheepPatrolState());
        }
    }