Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public DemoTailManager(ITailManager fileTailManager)
        {
            this.fileTailManager = fileTailManager;

            FormInterface = fileTailManager.FormInterface;

            FormInterface.GetFileNameCallback = () => demoThread.DemoFile;
        }
Exemplo n.º 3
0
        public DemoTailManager(ITailManager fileTailManager)
        {
            this.fileTailManager = fileTailManager;

            FormInterface = fileTailManager.FormInterface;

            FormInterface.GetFileNameCallback = () => demoThread.DemoFile;
        }
Exemplo n.º 4
0
 public BallBuilder(
     IBallManager ballManager,
     ITailManager tailManager,
     IPadManager padManager,
     Action <IBall, int> SpeedTimerHandler)
 {
     this.ballManager       = ballManager;
     this.tailManager       = tailManager;
     this.padManager        = padManager;
     this.SpeedTimerHandler = SpeedTimerHandler;
 }
Exemplo n.º 5
0
 public BallExtraFeatureBuilder(
     IBallManager ballManager,
     ITailManager tailManager,
     BallBuilder ballBuilder,
     FireBallCounter fireBallCounter)
 {
     this.ballManager     = ballManager;
     this.tailManager     = tailManager;
     this.ballBuilder     = ballBuilder;
     this.fireBallCounter = fireBallCounter;
 }
Exemplo n.º 6
0
 public BrickCollisionCommand(
     ICollection <IBrick> bricks,
     ILevelManager levelManager,
     ITailManager tailManager,
     ICollisionManager collisionManager,
     BallCollisionState collisionState)
 {
     this.bricks           = bricks;
     this.levelManager     = levelManager;
     this.collisionManager = collisionManager;
     this.tailManager      = tailManager;
     this.collisionState   = collisionState;
 }
Exemplo n.º 7
0
        public GameEngine(int number)
        {
            GameConfig.Mouses = number;

            screen = new Screen
            {
                Width  = ScreenWidth,
                Height = ScreenHeight
            };

            ManagerScope = managerScopeFactory.Create(screen);

            levelManager           = ManagerScope.Resolve <ILevelManager>();
            ballManager            = ManagerScope.Resolve <IBallManager>();
            padManager             = ManagerScope.Resolve <IPadManager>();
            tailManager            = ManagerScope.Resolve <ITailManager>();
            borderManager          = ManagerScope.Resolve <IBorderManager>();
            collisionManager       = ManagerScope.Resolve <ICollisionManager>();
            screenCollisionManager = ManagerScope.Resolve <IScreenCollisionManager>();
            borderCollisionManager = ManagerScope.Resolve <IBorderCollisionManager>();

            FireBallCounter = new FireBallCounter(tailManager);

            ballStateMachine = new BallStateMachine(
                ManagerScope,
                Bricks,
                HitBrick,
                LostBall);

            ballBuilder = new BallBuilder(
                ballManager,
                tailManager,
                padManager,
                FastBallCounter.TimerHandler);

            ballExtraFeatureBuilder = new BallExtraFeatureBuilder(
                ballManager,
                tailManager,
                ballBuilder,
                FireBallCounter);

            levelBuilder = new LevelBuilder(
                screen,
                levelManager,
                padManager,
                borderManager,
                borderCollisionManager,
                ballBuilder,
                GameConfig,
                Bricks);
        }
Exemplo n.º 8
0
 public GamePlayView(IRenderProxy render,
                     IGamePlayfieldView playfieldView,
                     IInfoPanelView infoView,
                     IPadManager padManager,
                     IBallManager ballManager,
                     ITailManager tailManager
                     )
 {
     this.render        = render;
     this.playfieldView = playfieldView;
     this.infoView      = infoView;
     this.padManager    = padManager;
     this.ballManager   = ballManager;
     this.tailManager   = tailManager;
 }
Exemplo n.º 9
0
 private void InitializeTailManager(IReaderFactory readerFactory)
 {
     this.tailManager = new FileTailManager()
     {
         FormInterface = new FormInterface
         {
             StartCallback         = logDisplay.StartWrite,
             UpdateCallback        = logDisplay.Write,
             FinishCallback        = logDisplay.EndWrite,
             LoadLastLinesCallback = () => mainMenuToolbar.LoadLastNLines,
             ClearDisplayCallback  = logDisplay.Clear,
             ExceptionCallback     = ExceptionHandler,
             GetFileNameCallback   = () => mainMenuToolbar.FilePath,
             GetFilterCallback     = () => filterConfigForm.Filter,
             SetStateCallback      = SetState
         }
     };
 }
Exemplo n.º 10
0
        private string StartDemo()
        {
            if (IsDemo)
            {
                return(null);
            }

            var message = "Demo mode will generate a log file automatically and tail it.  Do you want to continue?";

            if (MessageBox.Show(message, "Demo Mode", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return(null);
            }

            tailManager.StopTail();
            tailManager.FormInterface.LoadLastLinesCallback = () => - 1;
            tailManager = new DemoTailManager(tailManager);

            InitializeNewFile(tailManager.FormInterface.GetFileNameCallback());
            tailManager.StartTail(false, false);

            return(tailManager.FormInterface.GetFileNameCallback());
        }
Exemplo n.º 11
0
 public FireBallCounter(ITailManager tailManager)
 {
     this.tailManager = tailManager;
 }
Exemplo n.º 12
0
        private string StartDemo()
        {
            if (IsDemo)
            {
                return null;
            }

            var message = "Demo mode will generate a log file automatically and tail it.  Do you want to continue?";
            if (MessageBox.Show(message, "Demo Mode", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return null;
            }

            tailManager.StopTail();
            tailManager.FormInterface.LoadLastLinesCallback = () => -1;
            tailManager = new DemoTailManager(tailManager);

            InitializeNewFile(tailManager.FormInterface.GetFileNameCallback());
            tailManager.StartTail(false, false);

            return tailManager.FormInterface.GetFileNameCallback();
        }
Exemplo n.º 13
0
 private void InitializeTailManager(IReaderFactory readerFactory)
 {
     this.tailManager = new FileTailManager()
     {
         FormInterface = new FormInterface
         {
             StartCallback = logDisplay.StartWrite,
             UpdateCallback = logDisplay.Write,
             FinishCallback = logDisplay.EndWrite,
             LoadLastLinesCallback = () => mainMenuToolbar.LoadLastNLines,
             ClearDisplayCallback = logDisplay.Clear,
             ExceptionCallback = ExceptionHandler,
             GetFileNameCallback = () => mainMenuToolbar.FilePath,
             GetFilterCallback = () => filterConfigForm.Filter,
             SetStateCallback = SetState
         }
     };
 }