public static GameEngine.StartingGameUnits getStartingSettingsFromXML(string strFactionName, Model.StaticDataCards staticDataCards) { GameEngine.StartingGameUnits rtnStartingGameUnits = new GameEngine.StartingGameUnits(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(_DataPath + _StartingSettingsXMLPath); XmlNodeList xmlTerrainNodes = xmlDoc.GetElementsByTagName("StartingUnits"); foreach (XmlNode curNode in xmlTerrainNodes) { //Get this factions starting units if (curNode.Attributes["FactionName"].InnerText == strFactionName) { XmlNodeList xmlChildNodes = curNode.ChildNodes; foreach (XmlNode curChildNode in xmlChildNodes) { //Consider a way to implement this... //if (curChildNode.Attributes["Type"].InnerText == Model.DataCardType.Planet.ToString()) //{ // GameEngine.PlayerInvObjs.InvUnit curInvUnit = new GameEngine.PlayerInvObjs.InvUnit(staticDataCards.getShipByName(curChildNode.Attributes["UnitName"].InnerText), curChildNode.Attributes["PlanetName"].InnerText); // rtnStartingGameUnits.startingUnits.Add(curInvUnit); //} if (curChildNode.Attributes["Type"].InnerText == "Resources") { rtnStartingGameUnits.startingResources = Model.Utilities.getIntOrN(curChildNode.Attributes["StartingAmount"].InnerText, -1); } if (curChildNode.Attributes["Type"].InnerText == Model.DataCardType.Facility.ToString()) { GameEngine.PlayerInvObjs.InvUnit curInvUnit = new GameEngine.PlayerInvObjs.InvUnit(staticDataCards.getFacilityByName(curChildNode.Attributes["UnitName"].InnerText), curChildNode.Attributes["PlanetName"].InnerText); rtnStartingGameUnits.startingUnits.Add(curInvUnit); } else if (curChildNode.Attributes["Type"].InnerText == Model.DataCardType.Ship.ToString()) { GameEngine.PlayerInvObjs.InvUnit curInvUnit = new GameEngine.PlayerInvObjs.InvUnit(staticDataCards.getShipByName(curChildNode.Attributes["UnitName"].InnerText), curChildNode.Attributes["PlanetName"].InnerText); rtnStartingGameUnits.startingUnits.Add(curInvUnit); } else if (curChildNode.Attributes["Type"].InnerText == Model.DataCardType.Troops.ToString()) { GameEngine.PlayerInvObjs.InvUnit curInvUnit = new GameEngine.PlayerInvObjs.InvUnit(staticDataCards.getTroopsByName(curChildNode.Attributes["UnitName"].InnerText), curChildNode.Attributes["PlanetName"].InnerText); rtnStartingGameUnits.startingUnits.Add(curInvUnit); } } } } return(rtnStartingGameUnits); }
public static GameEngine.StartingGameUnits getStartingSettingsFromXML(string strFactionName, Model.StaticDataCards staticDataCards) { GameEngine.StartingGameUnits rtnStartingGameUnits = new GameEngine.StartingGameUnits(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(_DataPath + _StartingSettingsXMLPath); XmlNodeList xmlTerrainNodes = xmlDoc.GetElementsByTagName("StartingUnits"); foreach (XmlNode curNode in xmlTerrainNodes) { //Get this factions starting units if (curNode.Attributes["FactionName"].InnerText == strFactionName) { XmlNodeList xmlChildNodes = curNode.ChildNodes; foreach (XmlNode curChildNode in xmlChildNodes) { //Consider a way to implement this... //if (curChildNode.Attributes["Type"].InnerText == Model.DataCardType.Planet.ToString()) //{ // GameEngine.PlayerInvObjs.InvUnit curInvUnit = new GameEngine.PlayerInvObjs.InvUnit(staticDataCards.getShipByName(curChildNode.Attributes["UnitName"].InnerText), curChildNode.Attributes["PlanetName"].InnerText); // rtnStartingGameUnits.startingUnits.Add(curInvUnit); //} if (curChildNode.Attributes["Type"].InnerText == "Resources") rtnStartingGameUnits.startingResources = Model.Utilities.getIntOrN(curChildNode.Attributes["StartingAmount"].InnerText, -1); if (curChildNode.Attributes["Type"].InnerText == Model.DataCardType.Facility.ToString()) { GameEngine.PlayerInvObjs.InvUnit curInvUnit = new GameEngine.PlayerInvObjs.InvUnit(staticDataCards.getFacilityByName(curChildNode.Attributes["UnitName"].InnerText), curChildNode.Attributes["PlanetName"].InnerText); rtnStartingGameUnits.startingUnits.Add(curInvUnit); } else if (curChildNode.Attributes["Type"].InnerText == Model.DataCardType.Ship.ToString()) { GameEngine.PlayerInvObjs.InvUnit curInvUnit = new GameEngine.PlayerInvObjs.InvUnit(staticDataCards.getShipByName(curChildNode.Attributes["UnitName"].InnerText), curChildNode.Attributes["PlanetName"].InnerText); rtnStartingGameUnits.startingUnits.Add(curInvUnit); } else if (curChildNode.Attributes["Type"].InnerText == Model.DataCardType.Troops.ToString()) { GameEngine.PlayerInvObjs.InvUnit curInvUnit = new GameEngine.PlayerInvObjs.InvUnit(staticDataCards.getTroopsByName(curChildNode.Attributes["UnitName"].InnerText), curChildNode.Attributes["PlanetName"].InnerText); rtnStartingGameUnits.startingUnits.Add(curInvUnit); } } } } return rtnStartingGameUnits; }