Exemplo n.º 1
0
    //The main action of the electric powerup
    public override void DoMainAction(AuxPowerups AuxillaryPowerups)
    {
        IsAuxillary = false;
        StartCoroutine(MainRoutine());

        IEnumerator MainRoutine()
        {
            cloudInstance = CreateCloud();
            cloudInstance.DoMainAction();

            for (float i = 0; i < LifeTime + StrikeTime; i += Time.deltaTime)
            {
                cloudInstance.transform.position = transform.TransformPoint(CloudOffset);
                yield return(null);
            }
            DoneUsingPowerup();
        }
    }
Exemplo n.º 2
0
    //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);
            }
        }
    }
Exemplo n.º 3
0
 //The main action of the water powerup
 public override void DoMainAction(AuxPowerups AuxillaryPowerups)
 {
     SpawnPuddle(normalPuddleSize, transform.position);
     AuxillaryPowerups.Execute(this, transform.position);
     DoneUsingPowerup();
 }