private void ExecuteAdditionalEffect(BrickType type) { switch (type) { case BrickType.ThreeBalls: { IPad pad = padManager.GetFirst(); IBall ball1 = new Ball(randomGenerator); ball1.SetSize(15, 15); SetBallStartPosition(pad, ball1); ballManager.Add(ball1); IBall ball2 = new Ball(randomGenerator); ball2.SetSize(15, 15); SetBallStartPosition(pad, ball2); ballManager.Add(ball2); break; } case BrickType.DestroyerBall: { foreach (IBall ball in ballManager) { tailManager.Add(ball); } break; } default: break; } }
public void Create(IPad pad) { IBall ball = Create(); padManager.SetBallStartPosition(pad, ball); ballManager.Add(ball, pad); }
public Game() { screen = new Screen { Width = ScreenWidth, Height = ScreenHeight }; levelManager = new LevelManager(); collisionManager = new CollisionManager(); screenCollisionManager = new ScreenCollisionManager(screen); randomGenerator = new RandomGenerator(); tailManager = new TailManager(); ballManager = new BallManager(); borderManager = new BorderManager(); padManager = new PadManager(screen); ballStateMachine = new BallStateMachine(this, screenCollisionManager, collisionManager, padManager, borderManager, levelManager); padManager.Add(Edge.Top); padManager.Add(Edge.Bottom); borderManager.Create(screen); foreach (var pad in padManager) { VerifyBorderCollision(pad); } IBall ball = new Ball(randomGenerator); ball.SetSize(15, 15); ballManager.Add(ball); }