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); }
/* ~~~~~~~~~~~~~~~~~~ PowerUp Trigger Handlers ~~~~~~~~~~~~~~~~~~ */ public bool OnPowerUpTrigger(IPowerUpTrigger pwrUpTrigger) { bool wasHandled = false; activePowerUps.ForEach(delegate(IPowerUp pwrUp) { wasHandled |= pwrUp.OnPowerUpTrigger(pwrUpTrigger); }); return(wasHandled); }
public bool OnPowerUpTrigger(IPowerUpTrigger pwrUpTrigger) { return(false); }