Exemplo n.º 1
0
    public bool OnPowerUpTrigger(IPowerUpTrigger pwrUpTrigger)
    {
        if (pwrUpTrigger.GetType() == typeof(PuckCollisionTrigger))
        {
            PuckCollisionTrigger puckCollTrigger = (PuckCollisionTrigger)pwrUpTrigger;
            Collision2D          coll            = puckCollTrigger.Coll;

            if (coll.gameObject.tag == "Peg" && pegBreakCount < maxPegBreaks)
            {
                Puck puck = puckCollTrigger.Puck;

                // Ignore collision with this peg
                Collider2D puckCollider = puck.gameObject.GetComponent <Collider2D>();
                Physics2D.IgnoreCollision(coll.collider, puckCollider);

                pegBreakCount++;
                //Peg peg = coll.gameObject.GetComponent<Peg>();
                //peg.Explode();

                UpdatePuckVelPerPegCount();

                StartCoroutine("StutterPuckMovement");

                if (pegBreakCount == maxPegBreaks)
                {
                    PowerUpExpiredPayload pwrUpExpiredPayload = new PowerUpExpiredPayload(this);
                    pwrUpExpiredEvent.Invoke(pwrUpExpiredPayload);
                    Destroy(this);
                }
            }
            return(true);
        }
        return(false);
    }
Exemplo n.º 2
0
 public void OnPowerUpExpired(IEventPayload genericPayload)
 {
     if (genericPayload.GetType() == typeof(PowerUpExpiredPayload))
     {
         PowerUpExpiredPayload pwrUpExpiredPayload = (PowerUpExpiredPayload)genericPayload;
         activePowerUps.Remove(pwrUpExpiredPayload.PowerUp);
     }
 }
Exemplo n.º 3
0
    public void Deactivate()
    {
        if (IsActive)
        {
            PowerUpExpiredPayload pwrUpExpiredPayload = new PowerUpExpiredPayload(this);
            pwrUpExpiredEvent.Invoke(pwrUpExpiredPayload);

            IsActive = false;
        }
    }
Exemplo n.º 4
0
    public void Deactivate()
    {
        if (isActive)
        {
            puck.sharedMaterial.bounciness = originalPuckBounce;

            PowerUpExpiredPayload pwrUpExpiredPayload = new PowerUpExpiredPayload(this);
            pwrUpExpiredEvent.Invoke(pwrUpExpiredPayload);

            IsActive = false;
        }
    }