//The main action of the fire powerup public override void DoMainAction(AuxPowerups AuxillaryPowerups) { var spawnPosition = transform.TransformPoint(transform.localPosition + spawnOffset); fireballInstance = GameObject.Instantiate(FireballPrefab, spawnPosition, Collector.transform.rotation); Rigidbody fireballBody = fireballInstance.GetComponent <Rigidbody>(); fireballBody.velocity = Collector.transform.forward * fireballVelocity; DoneUsingPowerupAfter(lifeTime); StartCoroutine(Routine()); IEnumerator Routine() { while (true) { yield return(new WaitForSeconds(auxillaryExecutionRate)); AuxillaryPowerups.Execute(this, fireballInstance.transform.position); } } }
//The main action of the water powerup public override void DoMainAction(AuxPowerups AuxillaryPowerups) { SpawnPuddle(normalPuddleSize, transform.position); AuxillaryPowerups.Execute(this, transform.position); DoneUsingPowerup(); }