public GameForm(int numberOfPlayers, int numberOfTurns, int numberOfSpells) { InitializeComponent(); NumberOfTurns = numberOfTurns; DescriptionPanel.Visible = false; gameboard = new Gameboard(gamePanel, fieldName, movesLeftLabel); engine = new GameEngine(numberOfPlayers, gameboard, this, numberOfTurns); spellboard = new SpellBoard(spellPanel, engine.Players, engine, numberOfSpells); engine.spellboard = spellboard; engine.InitializeEngineElements(); }
public void LoadGame() { var state = LoadData(); if (state != null) { LoadPlayers(state); LoadMonsters(state); var game = new GameForm(); var gameboard = new Gameboard(game.GetGamePanel, game.GetNameField, game.GetMovesLeftLabel); var gameEngine = new GameEngine(LoadedPlayers.Count - 1, gameboard, game, state.TurnsAmount, false); gameEngine.startForm = StartMenu; gameEngine.Players = LoadedPlayers; gameEngine.CurrentPlayer = LoadedPlayers.ElementAt(state.currentPlayerIndex); var spellboard = new SpellBoard(game.GetSpellPanel, LoadedPlayers, gameEngine, 98, false); game.engine = gameEngine; game.gameboard = gameboard; game.spellboard = spellboard; gameEngine.spellboard = spellboard; gameEngine.InitializeEngineElements(true); var tiles = (Tile[])gameboard.GetElementsCollection(); foreach (var monster in LoadedMonsters) { var mCoords = monster.coordinates; foreach (var t in tiles) { if (t.GetCoordinates() == mCoords) { t.SetOccupant(monster); } } } game.Show(); } }