Esempio n. 1
0
        private void DoGetHit(TurtleStateMachine stateMachine)
        {
            stateMachine.enemy.conditions.isIdle   = false;
            stateMachine.enemy.conditions.isPatrol = false;
            stateMachine.SetPatrolAnim(false);
            stateMachine.navAgent.velocity = Vector3.zero;
            stateMachine.enemy.ParticleDamaged();

            stateMachine.SetTriggerGetHitAnim();
            stateMachine.enemy.SetNewDamageIndicator();

            stateMachine.enemy.stats.CurrentHp -= stateMachine.enemy.cuantity;
            stateMachine.enemy.hpIndicator.UpdateHp();

            stateMachine.navAgent.speed               += 0.2f;
            stateMachine.enemy.conditions.isHitten     = false;
            stateMachine.enemy.conditions.isInvincible = true;
        }
 private void DoInvincible(TurtleStateMachine stateMachine)
 {
     stateMachine.enemy.conditions.isIdle   = false;
     stateMachine.enemy.conditions.isPatrol = false;
     stateMachine.navAgent.velocity         = Vector3.zero;
     stateMachine.navAgent.isStopped        = true;
     stateMachine.SetPatrolAnim(false);
     if (stateMachine.enemy.conditions.isHitten)
     {
         stateMachine.enemy.SetNewInvencibleDamageIndicator();
         stateMachine.enemy.ParticleDamaged();
         stateMachine.StopCoroutine("CdInvCorr");
         stateMachine.SetGetHitInvincibleAnim(true);
         stateMachine.RestartCdInvincible();
         stateMachine.enemy.conditions.isHitten = false;
     }
     stateMachine.StartCdInvincible(Random.Range(4f, 10f));
 }
Esempio n. 3
0
        private void DoPatrol(TurtleStateMachine stateMachine)
        {
            stateMachine.enemy.conditions.isIdle       = false;
            stateMachine.enemy.conditions.isPatrol     = true;
            stateMachine.enemy.conditions.isInvincible = false;
            stateMachine.navAgent.isStopped            = false;
            stateMachine.SetPatrolAnim(true);

            if (stateMachine.currentPoint == null)
            {
                stateMachine.currentPoint = stateMachine.points[0];
            }
            if (stateMachine.navAgent.destination != stateMachine.currentPoint.Point)
            {
                stateMachine.navAgent.SetDestination(stateMachine.currentPoint.Point);
            }

            if (Vector3.Distance(stateMachine.navAgent.transform.position, stateMachine.currentPoint.Point) <= stateMachine.navAgent.stoppingDistance)
            {
                stateMachine.currentPoint = stateMachine.currentPoint.nextPoint;
            }
        }