public Engine(IGameController gameController, IRenderer renderer, ISpaceUnitFactory spaceUnitFactory, int canvasRows, int canvasColumns) { this.gameController = gameController; this.renderer = renderer; this.spaceUnitFactory = spaceUnitFactory; this.gameObjects = new List<GameObject>(); this.spaceUnits = new List<SpaceUnit>(); this.producedSpaceUnits = new List<SpaceUnit>(); this.healthUi = null; this.scoreUi = null; this.player = null; this.randomGenerator = new Random(); this.lastSpawnedEnemy = DateTime.Now; this.canvasRows = canvasRows; this.canvasCols = canvasColumns; }
public Game() { this.mode = GameMode.MainMenu; this.menuItems = ConsoleUI.MainMenuItems; this.menuItemIndex = 0; this.cursorMoved = false; this.keyboard = new KeyboardController(); this.renderer = new Renderer(ConsoleUI.BufferRows, ConsoleUI.BufferCols, new Coordinate(ConsoleUI.BufferPositionRow, ConsoleUI.BufferPositionCol)); this.spaceUnitFactory = new SpaceUnitFactory(); this.gameLogo = new GameObject(new Coordinate(ConsoleUI.LogoPositionRow, ConsoleUI.LogoPositionCol), ConsoleUI.LogoBody); this.bottomWall = new GameObject(new Coordinate(ConsoleUI.BottomWallPositionRow, ConsoleUI.BottomWallPositionCol), ConsoleUI.BottomWallBody); this.cursor = new GameObject(new Coordinate(ConsoleUI.MainMenuCursorPositionRow, ConsoleUI.MainMenuCursorPositionCol), ConsoleUI.CursorBody); this.mainMenu = new GameObject(new Coordinate(ConsoleUI.MainMenuPositionRow, ConsoleUI.MainMenuPositionCol), ConsoleUI.MainMenuBody); this.controlsMenu = new GameObject(new Coordinate(ConsoleUI.ConstrolsMenuPositionRow, ConsoleUI.ConstrolsMenuPositionCol), ConsoleUI.ControlsMenuBody); this.highScoreMenu = new GameObject(new Coordinate(ConsoleUI.HighScoreMenuPositionRow, ConsoleUI.HighScoreMenuPositionCol), ConsoleUI.HighScoreMenuBody); this.gameOverMenu = new GameObject(new Coordinate(ConsoleUI.GameOverMenuPositionRow, ConsoleUI.GameOverMenuPositionCol), ConsoleUI.GameOverMenuBody); this.hittedHighScore = new GameObject(new Coordinate(ConsoleUI.HittedHighScorePositionRow, ConsoleUI.HittedHighScorePositionCol), ConsoleUI.HittedHighScoreBody); this.highScore = FileManager.ParseHighScore(); this.gameEngine = null; this.player = null; }