public MyGame() : base(SCREEN_WIDTH, SCREEN_HEIGHT, Settings.FullScreen) // Create a window that's 800x600 and NOT fullscreen { SCREEN_WIDTH = game.width; SCREEN_HEIGHT = game.height; HALF_SCREEN_WIDTH = SCREEN_WIDTH / 2; HALF_SCREEN_HEIGHT = SCREEN_HEIGHT / 2; ShowMouse(true); string[] tmxFiles = TmxFilesLoader.GetTmxFileNames("Level*.tmx"); var mapData = TiledMapParserExtended.MapParser.ReadMap(tmxFiles[0]); _caveLevelMap = new CaveLevelMapGameObject(mapData); _cam = new FollowCamera(0, 0, game.width, game.height); _cam.scale = Settings.Camera_Scale; Cam = _cam; var gameSoundManager = new GameSoundManager(mapData); AddChild(gameSoundManager); var startScreen = new PreGameStartScreen(Settings.StartScreen_Bg_Image, Settings.StartScreen_Music, () => { var inGameStartScreen1 = new PreGameStartScreen(Settings.In_Game_StartScreen_1_Bg_Image, Settings.In_Game_StartScreen_1_Music, () => { var inGameStartScreen2 = new PreGameStartScreen(Settings.In_Game_StartScreen_2_Bg_Image, Settings.In_Game_StartScreen_2_Music, () => { var inGameStartScreen3 = new PreGameStartScreen(Settings.In_Game_StartScreen_3_Bg_Image, null, () => { GameSoundManager.Instance.FadeOutCurrentMusic(); CoroutineManager.StartCoroutine(LoadLevelWithDelay(), this); }); AddChild(inGameStartScreen3); }); AddChild(inGameStartScreen2); }); AddChild(inGameStartScreen1); }); AddChild(startScreen); //Debug _fpsCounter = new FpsCounter(); AddChild(_fpsCounter); _debugText = new DebugTextBox("Hello World", width, 100); _cam.AddChild(_debugText); _debugText.x = -SCREEN_WIDTH / 2; _debugText.y = -SCREEN_HEIGHT / 2; _debugText.SetActive(false); }
static void Main(string[] args) // Main() is the first method that's called when the program is run { Console.WriteLine($"main args: {string.Join(Environment.NewLine, args.Select(arg => $"'{arg}'"))}"); var tmxFileNames = TmxFilesLoader.GetTmxFileNames().Where(tmx => !tmx.Contains("ZZZ") && !tmx.EndsWith("HUD.tmx")).ToArray(); int levelIndex = 0; if (args.Length > 0 && !string.IsNullOrWhiteSpace(args[0])) { levelIndex = Array.FindIndex(tmxFileNames, t => t.Equals(args[0], StringComparison.InvariantCultureIgnoreCase)); } levelIndex = (levelIndex == -1) ? 0 : levelIndex; var myGame = new MyGame(tmxFileNames, levelIndex); myGame.Start(); }
public void LoadLevel() { string[] tmxFiles = TmxFilesLoader.GetTmxFileNames("Level*.tmx"); var mapData = TiledMapParserExtended.MapParser.ReadMap(tmxFiles[0]); _level = new BaseLevel(_caveLevelMap, _cam); AddChild(_level); _gameHud = new GameHud(_level, _cam); DebugDrawBoundBox.level = _level; foreach (var sprite in _level.GetChildren().Where(s => s is Sprite)) { DebugDrawBoundBox.AddSprite((Sprite)sprite); } foreach (var sprite in _gameHud.GetChildrenRecursive().Where(s => s is Sprite)) { DebugDrawBoundBox.AddSprite((Sprite)sprite); } }