Exemplo n.º 1
0
 public Editor(Game game, SosEngine.Level level) : base(game, null)
 {
     this.font        = SosEngine.Core.GetBitmapFont("font");
     this.level       = level;
     this.mouseCursor = new SosEngine.MouseCursor(game, "mouse_pointer", "mouse_grab");
     this.Visible     = false;
 }
Exemplo n.º 2
0
        public PlayScene(Game game, string levelName, PlayerStats playerStats = null, PlayScene mainScene = null)
            : base(game)
        {
            this.levelName = levelName;

            replay = new SosEngine.Replay("C:\\Temp\\mario.rec", SosEngine.Replay.Mode.Standby);

            BackgroundColor = new Color(0, 128, 240);
            font            = SosEngine.Core.GetBitmapFont("font");

            //
            // Level
            //
            level = new SosEngine.Level(game, levelName, 0, 0);
            Mario.Helpers.LevelHelper.SetupTileAnimation(level);
            level.SetupAnimatedTiles("Block");
            level.HideLayer("Items");

            var backgroundImage = level.GetCustomProperty("BackgroundImage");

            if (backgroundImage != "")
            {
                background = SosEngine.Core.LoadTextureWithoutCache("bg_sky");
                SetBackground(background);
            }
            else
            {
                BackgroundColor = new Color(0, 0, 0);
            }

            var parallax2Objects = level.GetLevelObjects("Objects", "Parallax2");

            foreach (var levelObject in parallax2Objects)
            {
                level.AddParallaxSprite(new SosEngine.Sprite(game, levelObject.Name, levelObject.X, levelObject.Y), 4);
            }

            var parallax1Objects = level.GetLevelObjects("Objects", "Parallax1");

            foreach (var levelObject in parallax1Objects)
            {
                level.AddParallaxSprite(new SosEngine.Sprite(game, levelObject.Name, levelObject.X, levelObject.Y), 2);
            }

            //
            // Entities
            //
            entityManager = new EntityManager(game, level);

            //
            // Player
            //
            player = new Objects.Player(game, "mario_move_0", level);
            player.MainPlayScene = mainScene;
            player.CenterOnScreen();
            int playerX;
            int playerY;

            Helpers.LevelHelper.GetPlayerStartPosition(level, "Player", out playerX, out playerY);
            player.Position      = new Vector2(playerX - 8, playerY);
            player.EntityManager = entityManager;
            if (playerStats != null)
            {
                player.Stats = playerStats;
            }

            //
            // Hud
            //
            hud                 = new Hud(game);
            hud.ShowFps         = false;
            hud.ShowSpecialKeys = true;
            hud.SetData(1, 1, 100);

            //
            // Editor
            //
            editor         = new SosEngine.Editor(game, level);
            editor.Visible = true;

            gameComponents.Add(level);
            gameComponents.Add(hud);
            gameComponents.Add(entityManager);
            gameComponents.Add(player);
            gameComponents.Add(editor);

            var pipeIns = level.GetLevelObjects("Objects", "PipeIn");

            foreach (var pipeIn in pipeIns)
            {
                var pipe = new Pipe(game, pipeIn.Bounds, level, Pipe.PipeTypes.Entrance, pipeIn.Name);
                AddGameComponent(pipe);
                player.AddPipe(pipe);
            }

            var pipeOuts = level.GetLevelObjects("Objects", "PipeOut");

            foreach (var pipeOut in pipeOuts)
            {
                var pipe = new Pipe(game, pipeOut.Bounds, level, Pipe.PipeTypes.Exit, pipeOut.Name);
                AddGameComponent(pipe);
                player.AddPipe(pipe);
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Creates a new Hud component
 /// </summary>
 /// <param name="game"></param>
 public Hud(Game game) : base(game, null)
 {
     font = SosEngine.Core.GetBitmapFont("font");
 }