public void ChangeMap(MapDefinition mapDefinition) { Scheduler.Clear(); CurrentMapName = mapDefinition.Name; var mapObjects = mapDefinition.Tiles.Select(t => TileDefinitions.MapObjectMapping[t]).ToArray(); var allActors = new List <Actor>(mapDefinition.NPCs) { Player }; CurrentMap = new Map(mapObjects, allActors, mapDefinition.Items); Player.Place(mapDefinition.PlayerStartingPosition); Scheduler.AddRange(allActors); }