public GameEngine(MyGame game) { lightDir.Normalize(); DeviceManager = new GraphicsDeviceManager( game ); //разме рэкрана1158; 708 DeviceManager.PreferredBackBufferWidth = 1158; DeviceManager.PreferredBackBufferHeight = 708; objectstoadd = new MyContainer<PivotObject>(); gameLevel = new EngineLevel(); databaseManager = ResourceCollector.Logic.DatabaseManager.Manager; }
public void UpdateLevelPart() { if (needclear) { editor.Clear(); if (objectstoadd.Count != 0) foreach (PivotObject p in objectstoadd) ContentLoader.ContentLoader.UnloadPivotObject(p); objectstoadd.Clear(); gameLevel.unload(); needclear = false; //GraphicPipeleine.NewFrame(lightDir); // return; } if (neednewlevel) { if (objectstoadd.Count != 0) foreach (PivotObject p in objectstoadd) ContentLoader.ContentLoader.UnloadPivotObject(p); objectstoadd.Clear(); gameLevel.unload(); editor.Clear(); neednewlevel = false; GraphicPipeleine.NewFrame(lightDir); gameLevel = new EngineLevel(); editor.setNewLevel(gameLevel); // return; } if (futureGameLevel != null) { if (objectstoadd.Count != 0) foreach (PivotObject p in objectstoadd) ContentLoader.ContentLoader.UnloadPivotObject(p); objectstoadd.Clear(); futureGameLevel.load(); Camera._cameraPitch = futureGameLevel.levelContent.camera._cameraPitch; Camera._cameraYaw = futureGameLevel.levelContent.camera._cameraYaw; Camera.View = futureGameLevel.levelContent.camera._view; GraphicPipeleine.NewFrame(lightDir); gameLevel.unload(); gameLevel = futureGameLevel; editor.setNewLevel(gameLevel); futureGameLevel = null; } }
private void button4_Click(object sender, EventArgs e) { if (PackList.Instance.packs.Count == 0) { MessageBox.Show("no packs loaded!"); return; } FormObjectPicker fop = new FormObjectPicker(PackList.Instance.packs[0], ElementType.LevelContent); if (fop.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; LevelContent lc = PackList.Instance.packs[0].getobject(fop.PickedContent[0]) as LevelContent; Engine.EngineLevel el = new Engine.EngineLevel(lc); textBox1.Text = lc.name.Substring(0, lc.name.Length - 1); GameEngine.Instance.LoadNewLevel(el); GameEngine.Instance.UpdateLevelPart(); RenderWindow.Instance.Activate(); }
public void LoadNewLevel(Engine.EngineLevel _futureGameLevel) { futureGameLevel = _futureGameLevel; }
private void button3_Click(object sender, EventArgs e) { if (PackList.Instance.packs.Count == 0) { MessageBox.Show("no packs loaded!"); return; } OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; LevelContent lc = new LevelContent(); try { lc.loadbody(new System.IO.BinaryReader(new System.IO.FileStream(ofd.FileName, System.IO.FileMode.Open))); } catch(Exception ex) { MessageBox.Show(ex.ToString()); return; } /*FormObjectPicker fop = new FormObjectPicker(PackList.Instance.packs[0], ElementType.LevelContent); if (fop.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; LevelContent lc = PackList.Instance.packs[0].getobject(fop.PickedContent[0]) as LevelContent;*/ Engine.EngineLevel el = new Engine.EngineLevel(lc); textBox1.Text = ofd.FileName; GameEngine.Instance.LoadNewLevel(el); GameEngine.Instance.UpdateLevelPart(); RenderWindow.Instance.Activate(); }