public InGameView(string level, IGameView v) { mainMenu = v; if (File.Exists("settings.json")) settings = JsonConvert.DeserializeObject<GameSettings>(File.ReadAllText("settings.json")); else { settings = new GameSettings(); settings.EnableClouds = true; } bgFore = new Sprite(new Texture("Content/bgFore.png") { Smooth = true }); bgFore.Origin = new Vector2f(0, 256); bgFore.Scale = new Vector2f(2, 2); bgBack = new Sprite(new Texture("Content/bgBack.png") { Smooth = true }); bgBack.Origin = new Vector2f(0, 256); bgBack.Scale = new Vector2f(2, 2); world = new PhysicsWorld(); SceneDeserializer d = new SceneDeserializer(SceneLoader.Load(level)); player = new Player(d.Scene.StartCoords, world); d.AddObjects(world); player.FinishHigh = d.Scene.FinishHigh; player.FinishLow = d.Scene.FinishLow; portal = new Sprite(new Texture("Content/portal.png") { Smooth = true }); portal.Scale = new Vector2f(2, 2); portal.Position = new Vector2f(player.FinishLow.X + (player.FinishHigh.X - player.FinishLow.X) * 0.5f, player.FinishLow.Y + (player.FinishHigh.Y - player.FinishLow.Y) * 0.5f) * 10; scene = new Scene(ScrollInputs.None); listener = new GameEventListener(world, player); listener.OnWin += listener_OnWin; scene.AddComponent(listener); cloudSprite = new Sprite(); clouds = new Texture(256, 64); clouds.Smooth = true; if (settings.EnableClouds) { GenerateClouds(); } bgGradient = new Texture("Content/bg.png"); bg = new Sprite(bgGradient); }
public void Import(string file) { world.Clear(); SceneDeserializer s = new SceneDeserializer(JsonConvert.DeserializeObject<GameScene>(File.ReadAllText(file))); s.AddObjects(world); }