Exemple #1
0
        /// <summary>
        /// Dispose method
        /// </summary>
        public void Destroy()
        {
            GameMapManager.Instance.Dispose();

            GameManager.Instance.mouse.MouseMoved          -= Mouse_MouseMoved;
            GameManager.Instance.mouse.MousePressed        -= Mouse_MousePressed;
            GameManager.Instance.mouse.MouseReleased       -= Mouse_MouseReleased;
            GameManager.Instance.keyboard.KeyPressed       -= Keyboard_KeyPressed;
            GameManager.Instance.keyboard.KeyReleased      -= Keyboard_KeyReleased;
            GameManager.Instance.root.FrameRenderingQueued -= FrameRenderingQueued;

            TimerManager.Instance.Stop();

            OpenGLRenderManager.Shutdown();

            scm.DestroyCamera(cam);
            GameManager.Instance.root.DestroySceneManager(scm);
        }
Exemple #2
0
        /// <summary>
        /// Init the game world
        /// </summary>
        public void Init()
        {
            GameMapManager.Instance.Initization(this);

            /* Will implement them in the script or the map xml file */
            scm = GameManager.Instance.root.CreateSceneManager(SceneType.ST_EXTERIOR_CLOSE, "GameSceneManager");
            scm.AmbientLight = new ColourValue(0.7f, 0.7f, 0.7f);

            OpenGLRenderManager.Initization(scm);

            cam                  = scm.CreateCamera("gameCam");
            cam.AspectRatio      = GameManager.Instance.viewport.ActualWidth / GameManager.Instance.viewport.ActualHeight;
            cam.NearClipDistance = 5;

            GameManager.Instance.viewport.Camera = cam;

            UIManager.Instance.DestroyAllWidgets();
            cam.FarClipDistance = 50000;

            //var time = TimerManager.Instance.CurrentTime;
            //scm.SetSkyBox(true, GetSkyboxMaterialByTime(time));

            Light light = scm.CreateLight();

            light.Type           = Light.LightTypes.LT_POINT;
            light.Position       = new Mogre.Vector3(-10, 40, 20);
            light.SpecularColour = ColourValue.White;

            ScreenManager.Instance.Camera = cam;

            TimerManager.Instance.TimeChanged += TimeChanged;

            GameManager.Instance.mouse.MouseMoved     += Mouse_MouseMoved;
            GameManager.Instance.mouse.MousePressed   += Mouse_MousePressed;
            GameManager.Instance.mouse.MouseReleased  += Mouse_MouseReleased;
            GameManager.Instance.keyboard.KeyPressed  += Keyboard_KeyPressed;
            GameManager.Instance.keyboard.KeyReleased += Keyboard_KeyReleased;

            GameManager.Instance.root.FrameRenderingQueued += FrameRenderingQueued;

            globalVariableTable = new Dictionary <string, object>();
        }