public void Bounce(IBall ball) { if (collisionState.BounceFromPad) { collisionManager.Bounce(collisionState.Pad, ball); } }
protected bool HandlePadCollision(IBall ball) { foreach (IPad pad in padManager) { if (collisionManager.Detect(pad, ball)) { pad.LogData(); CorrectBallPosition(pad, ball); collisionManager.Bounce(ball); ball.LogData(); return(true); } } return(false); }
public bool DetectAndVerify(IBall ball) { if (collisionManager.Detect(border, ball)) { collisionManager.Bounce(ball); ball.SavePosition(); return(true); } return(false); }
public void Bounce(IBall ball) { if (!collisionState.CollisionWithBrick && !collisionState.BounceFromBrick && collisionState.BounceFromBorder ) { collisionManager.Bounce(collisionState.BordersHitList, ball); } }
public void Bounce(IBall ball) { if (collisionState.CollisionWithBrick && collisionState.BounceFromBrick && !collisionState.BounceFromBorder ) { var hitBricks = bricks.FilterByIndex(collisionState.BricksHitList).Select(x => x.Key).ToArray(); collisionManager.Bounce(hitBricks, ball); } }