public Dictionary<string, Objekt> Load(MacGame game, ContentManager content) { Dictionary<string, Objekt> levelObjects = new Dictionary<string, Objekt> (); Objekt add = null; foreach (ObjectInfo o in Objects) { switch(o.Type) { case "maker.Objekt": add = new Objekt(game,o.Obj.Collidable); break; case "maker.Tile": Tile tile = (Tile)o.Obj; add = new Tile(game,true); //((Tile)add).SolidBottom = tile.SolidBottom; //((Tile)add).SolidLeft = tile.SolidLeft; //((Tile)add).SolidRight = tile.SolidRight; //((Tile)add).SolidTop = tile.SolidTop; break; case "maker.Player": Player player = (Player)o.Obj; add = new Player(game); break; } add.Position = o.Obj.Position; foreach(ObjectInfo.Action a in o.Actions) { add.AddSprite(a.Name, new Sprite(content,a.Asset)); } levelObjects.Add(o.Name,add); } return levelObjects; }
public static Dictionary<string, Objekt> Load(string fileName, MacGame game, ContentManager content) { Dictionary<string, Objekt> gameObjekts = new Dictionary<string, Objekt>(); string levelFile = File.ReadAllText (@"/Users/Fritz/Documents/level_Save.json"); JObject l = JObject.Parse (levelFile); Level level = new Level ((string)l ["Name"]); JArray objekts = (JArray)l ["Objects"]; Objekt o = null; for (int i = 0; i < objekts.Count; i++) { JObject obj = (JObject)objekts[i]; Objekt add = null; JObject gObject = (JObject)obj["Obj"]; JArray actions = (JArray)obj["Actions"]; switch((string)obj["Type"]) { case "maker.Objekt": add = new Objekt(game,false); LoadActions(add, actions, game); break; case "maker.Tile": add = new Tile(game,true); ((Tile)add).SolidBottom = (bool)gObject["SolidBottom"]; ((Tile)add).SolidLeft = (bool)gObject["SolidLeft"]; ((Tile)add).SolidRight = (bool)gObject["SolidRight"]; ((Tile)add).SolidTop = (bool)gObject["SolidTop"]; LoadActions(add, actions, game); break; case "maker.Player": add = new Player(game); break; case "maker.MousePointer": add = new MousePointer(game); break; } //JObject gObject = (JObject)obj["Obj"]; bool collidable = (bool)gObject["Collidable"]; JObject position = (JObject)gObject["Position"]; add.Position = new Vector2((float)position["X"], (float)position["Y"]); string firstAction = (string)actions[0]["Name"]; float scale = (float)actions[0]["Scale"]; add.Scale = scale; add.Name = (string)obj["Name"]; gameObjekts.Add((string)obj["Name"], add); } return gameObjekts; }