// Move Section void Move() { if (Vector3.Magnitude(playerTransform.position - this.transform.position) <= attackDistance) { moveType = EnemyMoveType.Hovering; } // Calculating Distance, Direction, Direction2D Vector3 distance = playerTransform.position - this.transform.position; Vector3 direction = distance.normalized; Vector2 direction2D = new Vector2(direction.x, direction.y); if (direction2D.x >= 0.0f) { this.transform.rotation = Quaternion.Euler(new Vector3(0.0f, 0.0f, 0.0f)); } else { this.transform.rotation = Quaternion.Euler(new Vector3(0.0f, 180.0f, 0.0f)); } // Add Velocity this.GetComponent <Rigidbody2D>().velocity += speed * direction2D * Time.deltaTime; enemyPos = this.transform.position; }
//=================================== // SetUp //=================================== public void SetUpEnemyData(EnemyMoveType iEnemyMoveType, float iMoveSpeed, float iHelth) { mEnemyMoveType = iEnemyMoveType; mMoveSpeed = iMoveSpeed; Helth = iHelth; IsSetUp = true; }
// Hovering Section void Hovering() { Vector3 distance = enemyPos - playerTransform.position; Vector3 direction = distance.normalized; if (Vector3.Magnitude(playerTransform.position - this.transform.position) > attackDistance) { this.moveType = EnemyMoveType.Move; } }