private IEnumerator generateAmmo(Vector3 pos, Vector3 direction, float speed, int id, GameSystem.CampFlag camp) { idActive[id] = true; GameSystem.AudioSystem.Play(GameSystem.Setter.setting.audioFire); GameObject ammo = GameObject.Instantiate(ammoPrefab, pos, Quaternion.LookRotation(Vector3.forward, direction), instance.transform); ammo.GetComponent <Ammo>().campFlag = camp; //ammo.GetComponent<Rigidbody>().velocity = direction * speed; while (ammo != null) { ammo.transform.Translate(Vector3.up * Time.deltaTime * speed); yield return(0); } idActive[id] = false; yield return(0); }
public static void GenerateAmmo(Vector3 pos, Vector3 direction, float speed, int id, GameSystem.CampFlag camp) { if (!instance.idActive[id]) { instance.StartCoroutine(instance.generateAmmo(pos, direction, speed, id, camp)); } }