public void Act(EnemyAI ai) { var dir = ai.GetTargetVector(); dir.y = 0; var o = dir.normalized; if (stage == ThrowStage.Preparing) { ai.transform.rotation = Quaternion.LookRotation(-o, Vector3.up); } }
private Vector3 velocity; // antonio public void Init(EnemyAI ai) { ai.enemyAnimation.SetState(EnemyAnimation.State.hit); direction = ai.GetTargetVector(); direction.y = 0; direction.Normalize(); velocity = direction * 10; // antonio ai.navAgent.isStopped = true; ai.Hit(); Debug.Log("HitState :: Init"); }
public void SpawnBall(EnemyAI ai) { stage = ThrowStage.Throwing; Vector3 ballPos = ai.transform.Find("ball").transform.position; // Timo var ob = UnityEngine.Object .Instantiate(ai.throwingBall, ballPos, ai.transform.rotation) .GetComponent <AIBall>(); var vec = ai.GetTargetVector(); ob.SetValues(ballPos, -vec, ai.GetTargetDistance(), -vec.y); ai.CurrentState = new IdleState(); }
public void Init(EnemyAI ai) { ai.enemyAnimation.SetState(EnemyAnimation.State.walking); direction = ai.GetTargetVector(); direction.y = 0; direction.Normalize(); Vector3 randomDirection = Random.insideUnitSphere * ai.walkDistance; randomDirection += ai.transform.position; NavMeshHit hit; NavMesh.SamplePosition(randomDirection, out hit, ai.walkDistance, 1); Vector3 finalPosition = hit.position; ai.navAgent.destination = finalPosition; ai.navAgent.isStopped = false; Debug.Log("MoveState :: Init"); }