Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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();
    }
Ejemplo n.º 3
0
    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);
        }
    }