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;
            }
        }