예제 #1
0
        public override void Render(float dtime)
        {
            Program.Instance.Device9.Clear(SlimDX.Direct3D9.ClearFlags.Target | SlimDX.Direct3D9.ClearFlags.ZBuffer, new Color4(Renderer.Settings.FogColor), 1.0f, 0);
            //Color.FromArgb(255, (int)(Renderer.Settings.FogColor.X*255), (int)(Renderer.Settings.FogColor.Y*255), (int)(Renderer.Settings.FogColor.Z*255)), 1.0f, 0);

            state.Render(dtime);
            InterfaceIngameRenderer.Render(dtime);
        }
예제 #2
0
 public override void OnLostDevice()
 {
     Graphics.Application.Log("Storing old physics state for running");
     if (Mechanics != null)
     {
         physicsWasRunningLostReset         = Mechanics.MotionSimulation.Running;
         Mechanics.MotionSimulation.Running = false;
     }
     Graphics.Application.Log("Calling OnLostDevice for all entities");
     foreach (var v in Scene.AllEntities)
     {
         if (v != null && v is Map.GameEntity)
         {
             ((Map.GameEntity)v).OnLostDevice();
         }
     }
     Graphics.Application.Log("Calling OnLostDevice for the map");
     if (Map != null)
     {
         Map.OnLostDevice();
     }
     Graphics.Application.Log("Calling OnLostDevice for InterfaceIngameRenderer");
     InterfaceIngameRenderer.OnLostDevice(Scene.View.Content);
 }
예제 #3
0
        public override void OnResetDevice()
        {
            if (Map != null)
            {
                Map.OnResetDevice();
            }
            foreach (var v in Scene.AllEntities)
            {
                if (v != null && v is Map.GameEntity)
                {
                    ((Map.GameEntity)v).OnResetDevice();
                }
            }
            if (Mechanics != null)
            {
                Mechanics.MotionSimulation.Running = physicsWasRunningLostReset;
            }
            InterfaceIngameRenderer.OnResetDevice(Scene.View);

            foreach (MetaModel m in Client.Game.PreLoading.MetaModels)
            {
                if (m.SkinnedMesh != null)
                {
                    Program.Instance.Content.Acquire <SkinnedMesh>(m.SkinnedMesh);
                }
                if (m.XMesh != null)
                {
                    Program.Instance.Content.Acquire <SlimDX.Direct3D9.Mesh>(m.XMesh);
                }
                if (m.Texture != null)
                {
                    Program.Instance.Content.Acquire <SlimDX.Direct3D9.Texture>(m.Texture);
                }
                for (int i = 0; i < 2; i++)
                {
                    if (m.SplatTexutre != null)
                    {
                        if (m.SplatTexutre[i] != null)
                        {
                            Program.Instance.Content.Acquire <SlimDX.Direct3D9.Texture>(m.SplatTexutre[i]);
                        }
                    }
                }
                for (int i = 0; i < 8; i++)
                {
                    if (m.MaterialTexture != null)
                    {
                        if (m.MaterialTexture[i] != null)
                        {
                            Program.Instance.Content.Acquire <SlimDX.Direct3D9.Texture>(m.MaterialTexture[i]);
                        }
                    }
                }
            }

            foreach (Graphics.Renderer.Renderer.MetaEntityAnimation m in Client.Game.PreLoading.MetaEntityAnimations)
            {
                Program.Instance.Content.Acquire <Graphics.Renderer.Renderer.EntityAnimation>(m);
            }

            foreach (Graphics.Content.Font font in Client.Game.PreLoading.MetaFonts)
            {
                Program.Instance.Content.Acquire <Graphics.Content.FontImplementation>(font);
            }
        }