private GameEntities loadGameEntities(XmlNode gameEntitiesNode, CombatBoard board) { GameEntities gameEntities = new GameEntities(); XmlNodeList childNodes = gameEntitiesNode.ChildNodes; foreach (XmlNode childNode in childNodes) { switch (childNode.Name) { case "heroes": break; case "enemies": progress.updateProgress("Loading Enemies", "Loading Enemies", 40); loadEnemies(childNode, gameEntities, board); break; case "obstacles": progress.updateProgress("Loading Obstacles", "Loading Obstacles", 50); loadObstacles(childNode, gameEntities, board); break; } } return(gameEntities); }
private void loadObstacles(XmlNode obstaclesNode, GameEntities gameEntities, CombatBoard board) { XmlNodeList children = obstaclesNode.ChildNodes; foreach (XmlNode childNode in children) { Obstacle obstacle = obstacleFactory.createObstacleForCombat(board, childNode); if (obstacle != null) { gameEntities.addObstacle(obstacle); } } }
private void loadEnemies(XmlNode enemiesNode, GameEntities gameEntities, CombatBoard board) { XmlNodeList playerNodes = enemiesNode.ChildNodes; foreach (XmlNode playerNode in playerNodes) { if (playerNode.Name.Equals("player")) { Player player = playerFactory.createPlayerForCombat(board, playerNode); if (player != null) { gameEntities.addPlayer(player); } } } }
private CombatBoard loadBoard(XmlNode boardNode) { CombatBoard board = null; if (boardNode != null) { XmlNodeList boardChildren = boardNode.ChildNodes; foreach (XmlNode childNode in boardChildren) { switch (childNode.Name) { case "dimensions": int size = 0, height = 0, width = 0, xoffset = 0, yoffset = 0, penWidth = 0; bool isPointy = false; Color boardColor = Color.White; loadDimensions(childNode, ref size, ref height, ref width, ref xoffset, ref yoffset, ref penWidth, ref isPointy, ref boardColor); board = new CombatBoard(this.lhg, size, width, height, xoffset, yoffset, penWidth, isPointy, boardColor); break; case "colors": if (board != null) { Color backgroundColor = Color.Black, selectedPlayerColor = Color.Black, moveRadiusColor = Color.Black, moveSelectColor = Color.Black, attackRadiusColor = Color.Black; loadColors(childNode, ref backgroundColor, ref selectedPlayerColor, ref moveRadiusColor, ref moveSelectColor, ref attackRadiusColor); board.setHexColors(backgroundColor, selectedPlayerColor, moveRadiusColor, moveSelectColor, attackRadiusColor); } break; case "gameEntities": if (board != null) { GameEntities gameEntities = loadGameEntities(childNode, board); board.MyGameEntities = gameEntities; } break; } } } return(board); }