示例#1
0
        public bool InitSystem(MainWindow window)
        {
            window.MainCtrl.PG.Instance = this;
            EngineNS.ERHIType rhiType = EngineNS.ERHIType.RHT_D3D11;//RHT_OGL;//
            EngineNS.CIPlatform.Instance.IsEditor = true;

            var ok = EngineNS.CEngine.Instance.GfxInitEngine(rhiType, 0, window.MainCtrl.VP1.DrawHandle);

            if (ok == false)
            {
                return(false);
            }

            var rc = EngineNS.CEngine.Instance.RenderContext;

            var gameDesc = new EngineNS.Editor.CEditorInstanceDesc();

            gameDesc.SceneName = gameDesc.DefaultMapName;

            InitDefaultResource(gameDesc);

            var srv = CEngine.Instance.TextureManager.GetShaderRView(rc, RName.GetRName("Texture/noused.png"));

            ScopeTickRender.Enable = true;
            ScopeTickLogic.Enable  = true;
            ScopeTickSync.Enable   = true;

            window.MainCtrl.VP1.ViewPortName = "MainEditorView";

            if (true)
            {
                window.MainCtrl.VP1.OnWindowCreated = delegate(EditorCommon.ViewPort.ViewPortControl vp)
                {
                    if (EditorInited == true)
                    {
                        return;
                    }
                    EditorInited = true;
                    var editor = this.GameEditorInstance as CEditorInstance;
                    editor?.InitEditor(window, gameDesc);
                };
            }

            return(true);
        }
示例#2
0
        public bool InitSystem(EngineNS.ERHIType rhiType, IntPtr window, bool debugGraphicsLayer = false)
        {
            //rhiType = ERHIType.RHT_OGL;
            //debugGraphicsLayer = true;
            var ok = EngineNS.CEngine.Instance.GfxInitEngine(rhiType, 0, window, debugGraphicsLayer);

            if (ok == false)
            {
                return(false);
            }

            var rc = EngineNS.CEngine.Instance.RenderContext;

            ScopeTickRender.Enable = true;
            ScopeTickLogic.Enable  = true;

            return(true);
        }
示例#3
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Application.Current.MainWindow = this;
            //CEditorEngine.Instance = new CEditorEngine();

            if (Program.LoadingWindow != null)
            {
                Program.LoadingWindow.Owner = this;
            }

            this.MainCtrl.PG.Instance      = this;
            this.MainCtrl.VP1.ViewPortName = "MainEditorView";

            //在这里选择渲染API和是否启动调试层
            EngineNS.ERHIType rhiType = EngineNS.ERHIType.RHT_D3D11;//RHT_OGL;//
            bool bDebugLayer          = false;

            if (rhiType == EngineNS.ERHIType.RHT_OGL)
            {
                bDebugLayer = true;
            }
            var editorEngine = (CEditorEngine)CEditorEngine.Instance;

            editorEngine.InitSystem(rhiType, this.MainCtrl.VP1.DrawHandle, bDebugLayer);//debug device = true

            if (true)
            {
                this.MainCtrl.VP1.OnWindowCreated = async(EditorCommon.ViewPort.ViewPortControl vp) =>
                {
                    if (EditorInited == true)
                    {
                        return;
                    }
                    EditorInited = true;

                    await editorEngine.OnMainWindowCreated(this.MainCtrl.VP1);

                    Program.LoadingWindow?.Close();
                    Program.LoadingWindow             = null;
                    Program.MainWinInstance.IsEnabled = true;
                };
            }

            // Test Only /////////////////////////////////////////////
            //var folderPath = EngineNS.CEngine.Instance.FileManager.Content + "Test";
            //var folder = System.IO.Directory.CreateDirectory(folderPath);
            //for(int i=0; i<200; i++)
            //{
            //    System.IO.Directory.CreateDirectory(folderPath + "/" + i);
            //}
            //////////////////////////////////////////////////////////
            //mTickTimer = new System.Windows.Forms.Timer();
            //mTickTimer.Interval = 50;
            //mTickTimer.Enabled = true;
            //mTickTimer.Tick += new EventHandler(DoTick);

            InitGeneralMenus();

            // test only ////////////////////
            //var win = new Window_Test();
            //win.Show();
            /////////////////////////////////
        }