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)); }
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; } }