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); }
public void OnPowerUpExpired(IEventPayload genericPayload) { if (genericPayload.GetType() == typeof(PowerUpExpiredPayload)) { PowerUpExpiredPayload pwrUpExpiredPayload = (PowerUpExpiredPayload)genericPayload; activePowerUps.Remove(pwrUpExpiredPayload.PowerUp); } }
public void Deactivate() { if (IsActive) { PowerUpExpiredPayload pwrUpExpiredPayload = new PowerUpExpiredPayload(this); pwrUpExpiredEvent.Invoke(pwrUpExpiredPayload); IsActive = false; } }
public void Deactivate() { if (isActive) { puck.sharedMaterial.bounciness = originalPuckBounce; PowerUpExpiredPayload pwrUpExpiredPayload = new PowerUpExpiredPayload(this); pwrUpExpiredEvent.Invoke(pwrUpExpiredPayload); IsActive = false; } }