using System.Collections; using System.Collections.Generic; using UnityEngine; public class Pterodactyl : MonoBehaviour { const float horizontalSpeed = 300f; const float verticalSpeed = 200f; DragonMovement[] _dragons; // Start is called before the first frame update void Start() { _dragons = FindObjectsOfType(); } // Update is called once per frame void Update() { DragonMovement closestPlayerToMyLeft = null; float closestDistance = float.MaxValue; foreach (DragonMovement dragon in _dragons) { float distance = Vector3.Distance(gameObject.transform.position, dragon.transform.transform.position); if (distance < closestDistance && dragon.transform.position.x < this.transform.position.x) { closestDistance = distance; closestPlayerToMyLeft = dragon; } } float verticalDirection = 1f; if (closestPlayerToMyLeft != null && closestPlayerToMyLeft.transform.position.y < this.transform.position.y) verticalDirection = -1f; if (closestPlayerToMyLeft == null) verticalDirection = 0; transform.position = new Vector3(transform.position.x - Time.deltaTime * horizontalSpeed, transform.position.y + (Time.deltaTime * verticalSpeed * verticalDirection), transform.position.z); if (transform.position.x < -100f) { GameObject.Destroy(this.gameObject); } } private void OnTriggerEnter2D(Collider2D collision) { if (collision.CompareTag("Fireball")) { GameObject.Destroy(this.gameObject); } } }