protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.Black); if (FrameWatcher.TotalFrames < 120) { SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.NonPremultiplied, SamplerState.LinearClamp, DepthStencilState.Default, RasterizerState.CullNone); Vector2 measure = Xiq12.MeasureString(loading) * 1.5f; SpriteBatch.DrawBorderedString(Xiq12, loading, ScreenRect.Center.ToVector2() - measure / 2f, Color.White, 1.5f); FrameWatcher.Draw(SpriteBatch); if (FrameWatcher.TotalFrames % 30 == 0) { loading += "."; if (loading.Contains("....")) { loading = "Loading"; } } SpriteBatch.End(); return; } SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.NonPremultiplied, SamplerState.PointClamp, DepthStencilState.Default, RasterizerState.CullNone, null, Camera.Transform); currentmap.Draw(SpriteBatch); Player.Draw(SpriteBatch); SpriteBatch.End(); SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.NonPremultiplied, SamplerState.LinearClamp, DepthStencilState.Default, RasterizerState.CullNone); DrawUI(SpriteBatch); SpriteBatch.DrawBorderedString(Xiq12, DEBUG_MEDIA_TEXT.ToString(), default, Color.White, 0.4f);
protected override void Update(GameTime time) { if (FrameWatcher.TotalFrames < 120 || !HasFocus) { return; } mouseState = Mouse.GetState(Window); kbState = Keyboard.GetState(); MouseX = mouseState.X; MouseY = mouseState.Y; MouseLeftReleased = MouseLeft && mouseState.LeftButton == ButtonState.Released; MouseRightReleased = MouseRight && mouseState.RightButton == ButtonState.Released; MouseMiddleReleased = MouseMiddle && mouseState.MiddleButton == ButtonState.Released; Player.Update(time); currentmap.Update(time); Camera.Position = Player.Center; UpdateUI(time); MouseLeft = mouseState.LeftButton == ButtonState.Pressed; MouseRight = mouseState.RightButton == ButtonState.Pressed; MouseMiddle = mouseState.MiddleButton == ButtonState.Pressed; FrameWatcher.Update(time); base.Update(time); }