using System; namespace FreedomFighter; public enum GameState { Intro, Idle, Intermission, Playing, Stats, Shop, GameOver, Credits, HighScore, EnterName } public enum Weapon { Reg, Super, Multi } public enum AI { Normal, Hunt, Tactical, Mine, Turret, Boss, Boss2, None } public enum ObjectType { Fighter, Kamikaze, Tactical, Mine, MissileBase, MissileTurret, Scanner, Boss, Boss2 } public struct Camera { public int X, Y, Width, Height; } /// /// The global variables from GameU.pas, kept global to preserve the original's structure. /// public static class G { public const int ScreenWidth = 800; public const int ScreenHeight = 600; public const string Version = "BETA 5"; public const int MUS_LEVEL1 = 0; public const int MUS_GAMEOVER = 3; public const int MUS_TITLE = 4; public static Game1 Game = null!; public static SpriteManager Sprites = null!; public static ImageLists Images = null!; public static MusicManager Music = null!; public static GameMap Map = null!; public static OmegaInput Input = null!; public static HighScores HighScores = null!; public static Random Rnd = new(); public static GameState State; public static bool BossMode; public static bool Done; public static Player Player = null!; public static int Counter; public static int Change; public static int CurCount; public static int Score; public static int Lives; public static int ShipsKilled; public static int Level; public static Camera Camera; public static int NewCamX, NewCamY; public static int TextNum; public static bool TextCreated; public static int TFCounter; public static int CurSelection = 4; public static int[] MainMenu = new int[5]; public static int Prev = 4; public static GameText GameTextObj = null!; public static GameText TitleText = null!; public static GameText IdText = null!; public static BitmapFont BitmapFont1 = null!; // numbers public static BitmapFont BitmapFont2 = null!; // A-Z public static int Random(int max) => max <= 0 ? 0 : Rnd.Next(max); }