private void LoadGameObject(IMapObject o) { IGameEntityFactory gameFactory = (IGameEntityFactory)EntityFactory; var goldValue = 0; if (o.Properties.ContainsKey("goldValue")) { goldValue = int.Parse(o.Properties["goldValue"]); } switch (o.Name.ToLower()) { case "army": switch (int.Parse(o.Properties["type"])) { case 0: gameFactory.CreateArcher(new Vector2(o.X, o.Y), int.Parse(o.Properties["owner"]), goldValue); break; case 1: gameFactory.CreateKnight(new Vector2(o.X, o.Y), int.Parse(o.Properties["owner"]), goldValue); break; case 2: gameFactory.CreateCatapult(new Vector2(o.X, o.Y), int.Parse(o.Properties["owner"]), goldValue); break; default: break; } break; case "tower": gameFactory.CreateTower(new Vector2(o.X, o.Y), int.Parse(o.Properties["owner"]), goldValue); break; case "fortress": gameFactory.CreateFortress(new Vector2(o.X, o.Y), int.Parse(o.Properties["owner"]), goldValue); break; case "spawnpoint": gameFactory.CreateSpawnpoint(new Vector2(o.X, o.Y), int.Parse(o.Properties["owner"])); break; default: break; } }