void Approach() { float x = Mathf.MoveTowards(transform.position.x, Ship.instance.transform.position.x, _approachSpeed * Time.deltaTime); transform.position = new Vector3(x, transform.position.y, transform.position.z); // If monster is on the attack range... if (Mathf.Abs(Ship.instance.transform.position.x - x) < 4.0f) { _mode = MonsterMode.Attack; AudioSource.PlayClipAtPoint(AttackSound, transform.position); } if (transform.position.x > Ship.instance.transform.position.x) { _facing.Set(Facing.Direction.Left); } else { _facing.Set(Facing.Direction.Right); } }
// Update is called once per frame void Update() { if (transform.position.x > Ship.instance.transform.position.x) { _facing.Set(Facing.Direction.Left); } else { _facing.Set(Facing.Direction.Right); } if (_mode == MonsterMode.Approach) { Approach(); } if (_damageable.GetHitPoints() == 0 && !_deathBehaviour.enabled) { _deathBehaviour.enabled = true; GetComponent <FloatingObject>().isFloating = false; GameHandler.AddScore(PointsWhenKilled); } }