2026-03-28 09:59:31 +01:00
|
|
|
|
using Microsoft.Xna.Framework;
|
2025-12-19 17:54:50 +01:00
|
|
|
|
using Microsoft.Xna.Framework.Graphics;
|
|
|
|
|
|
using Microsoft.Xna.Framework.Input;
|
|
|
|
|
|
using MonoGameLibrary;
|
|
|
|
|
|
using MonoGameLibrary.Input;
|
2026-03-22 18:31:05 +01:00
|
|
|
|
using ONDClient.GUI;
|
2026-03-28 09:59:31 +01:00
|
|
|
|
using ONDClient.Net;
|
|
|
|
|
|
using ONDClient.Sound;
|
2025-12-19 17:54:50 +01:00
|
|
|
|
|
2026-03-22 18:31:05 +01:00
|
|
|
|
namespace ONDClient;
|
2025-12-19 17:54:50 +01:00
|
|
|
|
|
2026-03-25 16:37:18 +01:00
|
|
|
|
public class GameMain() : Core("OND", 1280, 720, false) {
|
2025-12-19 17:54:50 +01:00
|
|
|
|
protected override void Initialize() {
|
2026-03-21 21:23:33 +01:00
|
|
|
|
Exiting += (_, _) => {
|
|
|
|
|
|
Client.Disconnect();
|
|
|
|
|
|
};
|
2026-03-28 09:59:31 +01:00
|
|
|
|
|
2025-12-19 17:54:50 +01:00
|
|
|
|
CommandManager.InitInputListeners();
|
2026-01-15 19:56:50 +01:00
|
|
|
|
|
2025-12-19 17:54:50 +01:00
|
|
|
|
base.Initialize();
|
2026-01-26 09:39:17 +01:00
|
|
|
|
|
2026-03-21 21:23:33 +01:00
|
|
|
|
Client.Init();
|
2026-03-11 22:35:30 +01:00
|
|
|
|
UIManager.InitUI();
|
|
|
|
|
|
UIManager.DisplayMainMenu();
|
2025-12-19 17:54:50 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void LoadContent() {
|
2026-03-11 22:35:30 +01:00
|
|
|
|
UIManager.LoadAssets();
|
2026-03-19 20:10:45 +01:00
|
|
|
|
SoundManager.LoadSounds();
|
2025-12-19 17:54:50 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void Update(GameTime gameTime) {
|
2026-03-21 21:23:33 +01:00
|
|
|
|
if (Keyboard.GetState().IsKeyDown(Keys.Escape)){
|
2025-12-19 17:54:50 +01:00
|
|
|
|
Exit();
|
2026-03-21 21:23:33 +01:00
|
|
|
|
}
|
2025-12-19 17:54:50 +01:00
|
|
|
|
|
|
|
|
|
|
InputManager.NextInputCycle();
|
2026-03-09 20:05:21 +01:00
|
|
|
|
Screen.UpdateAll();
|
2025-12-19 17:54:50 +01:00
|
|
|
|
|
2026-03-11 22:35:30 +01:00
|
|
|
|
if(Client.State == Client.ConnectionState.IDLE) return;
|
|
|
|
|
|
|
2025-12-19 17:54:50 +01:00
|
|
|
|
Client.Update();
|
|
|
|
|
|
base.Update(gameTime);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void Draw(GameTime gameTime) {
|
2026-01-26 09:39:17 +01:00
|
|
|
|
GraphicsDevice.Clear(Color.Black);
|
|
|
|
|
|
spriteBatch.Begin(samplerState:SamplerState.PointClamp);
|
2026-01-15 19:56:50 +01:00
|
|
|
|
|
2026-03-09 20:05:21 +01:00
|
|
|
|
Screen.DrawCurrentAndOverlay(spriteBatch);
|
2025-12-19 17:54:50 +01:00
|
|
|
|
|
2026-01-15 19:56:50 +01:00
|
|
|
|
spriteBatch.End();
|
2025-12-19 17:54:50 +01:00
|
|
|
|
base.Draw(gameTime);
|
|
|
|
|
|
}
|
2026-03-21 21:23:33 +01:00
|
|
|
|
|
|
|
|
|
|
|
2025-12-19 17:54:50 +01:00
|
|
|
|
}
|