/// <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); }
/// <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>(); }