Exemple #1
0
        internal void CreateEngineAndShow()
        {
            RenderFormSurface surface = new RenderFormSurface(this);
            CLogger           logger  = new CLogger("game.log", true, true, true);

            CInitializer initializer = new CInitializer();

            initializer.Add("Viewport");
            initializer.Add <IRenderSurface>(surface);
            initializer.Add(logger);
            CEngine.Create(initializer, true);

            CKlaxScriptRegistry dummy = CKlaxScriptRegistry.Instance;

            Input.SetReferenceHWND(Handle);
            Input.CursorVisibilitySetter = (arg) =>
            {
                if (arg)
                {
                    Cursor.Show();
                }
                else
                {
                    Cursor.Hide();
                }
            };

            Width  = WindowWidth;
            Height = WindowHeight;

            CEngine.Instance.Dispatch(EEngineUpdatePriority.BeginFrame, () => { CEngine.Instance.LoadWorld(null, WorldLoadedCallback); });

            Point size = new Point(ClientSize.Width, ClientSize.Height);

            System.Drawing.Point topLeft = PointToScreen(new System.Drawing.Point(0, 0));
            IntPtr    handlePtr          = Handle;
            CRenderer renderer           = CRenderer.Instance;

            CEngine.Instance.Dispatch(EEngineUpdatePriority.BeginFrame, () =>
            {
                renderer.Resize(size.X, size.Y, topLeft.X, topLeft.Y, handlePtr);
                CEngine.Instance.CurrentWorld.StartPlayMode();
            });
        }
Exemple #2
0
        private void InitializeEngine()
        {
            CInitializer initializer  = new CInitializer();
            CLogger      editorLogger = new CLogger("editor.log", true, true, true);

            initializer.Add(editorLogger);

            CEngine.Create(initializer, true);
            Input.CursorVisibilitySetter = (arg) =>
            {
                Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (Action)(() =>
                {
                    if (arg)
                    {
                        System.Windows.Forms.Cursor.Show();
                    }
                    else
                    {
                        System.Windows.Forms.Cursor.Hide();
                    }
                }));
            };
        }