using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShootyEnemyWeaponController : GoombaAI { public GameObject weaponPrefab; public float Range; private GameObject weapon; private GameObject player; // Start is called before the first frame update void Start() { weapon = Instantiate(weaponPrefab); weapon.name = "Weapon"; weapon.transform.SetParent(gameObject.transform, true); weapon.transform.position = gameObject.transform.position; //weapon.transform.localScale = new Vector3(1, 1, 1); Destroy(weapon.GetComponent()); Destroy(weapon.GetComponent()); player = findPlayer(); } // Update is called once per frame protected void Update() { float horizontalDirection = (player.transform.position - gameObject.transform.position).x; float verticalDirection = (player.transform.position - gameObject.transform.position).y; //weapon.GetComponent().aim(horizontalDirection); weapon.GetComponent().flipX = false; gameObject.transform.rotation = Quaternion.Euler(new Vector3(0, horizontalDirection > 0 ? 0 : 180, 0)); if(Mathf.Abs(horizontalDirection) < Range && Mathf.Abs(verticalDirection) < 2f) { weapon.GetComponent().shoot(); } } private GameObject findPlayer() { GameObject player = null; foreach(GameObject go in FindObjectsOfTypeAll(typeof(GameObject))){ if (go.name.Equals("Player")) { Debug.Log("Found player"); player = go; } } return player; } }