void Start() { // If AI is dodged constantly it will "time out" and die after 15 seconds. Destroy(this.gameObject, 15f); StartCoroutine(TimeOut(10)); player = GameObject.FindGameObjectWithTag("Player"); player2 = GameObject.FindGameObjectWithTag("Player2"); PickupManager manager = FindObjectOfType <PickupManager>(); int currentPickupOwner = manager.GetCurrentPickupOwner(); if (currentPickupOwner == 0) { target = PlayerValues.GetPlayer(1)?.transform; } else { target = PlayerValues.GetPlayer(0)?.transform; } animator.SetBool("Targeted", true); target.GetComponent <PlayerValues>()?.SetTargeted(true); //if (Player1PickedUpTheThing == true) //{ //target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>(); }
public void Fire() { int ownerID = pickUpManagerReference.GetCurrentPickupOwner(); PlayerValues Target = PlayerValues.GetPlayer(ownerID == 0 ? 1 : 0); if (Target == null) { return; } for (int i = 0; i < missileCount; ++i) { GameObject instance = Instantiate(missilePrefab, PlayerValues.GetPlayer(ownerID).transform.position, Quaternion.identity); Vector2 startVelocity = Quaternion.Euler(0, 0, Random.Range(0, 360)) * (Vector2.up * missileSpeed); activeMissiles.Add(new Missile { MissileObj = instance, OwnerID = ownerID, TargetID = Target.Id, Velocity = startVelocity, Collider = instance.GetComponent <CircleCollider2D>(), SpawningID = SpawnCounter }); } SpawnCounter++; }