IEnumerator chargeAndFire(ShipAi enermyAI, ShipSpawner cl) { AttackHandeler ah = enermyAI.GetComponent <AttackHandeler>(); ah.ChargeUp(); for (int i = 0; i < FixedUpdateFramesChargedFor; i++) { yield return(new WaitForFixedUpdate()); if (enermyAI == null || ah == null || ah.spawnPoint == null) { yield break; } var hit = Physics2D.Raycast(ah.spawnPoint.transform.position, enermyAI.transform.up, 10); Debug.DrawRay(ah.spawnPoint.transform.position, enermyAI.transform.up * 10); if (hit) { Debug.Log("hit", hit.transform); Debug.Log("by", enermyAI.transform); var other_team = hit.transform.GetComponent <TeamHandeler>(); var my_team = enermyAI.GetComponent <TeamHandeler>(); if (!my_team.Equals(other_team)) { if (ah.charged) { ah.Fire(); } } } } ah.Discharge(); }
private void OnValidate() { if (useSelf) { mover = GetComponent <MovemonetHarness>(); attacker = GetComponent <AttackHandeler>(); } }