Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
        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;

            }
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
 public void LoadNewLevel(Engine.EngineLevel _futureGameLevel)
 {
     futureGameLevel = _futureGameLevel;
 }
Exemplo n.º 5
0
        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();
        }