コード例 #1
0
        /// <summary>
        /// Create a level with a specified type and a specified size. <remarks>Calls OnLevelsLoad event.</remarks>
        /// </summary>
        /// <param name="size">The size to create the level.</param>
        /// <param name="type">The type of the level you want to create</param>
        /// <param name="name">Name of the level to create</param>
        /// <returns>
        /// returns the level that was created
        /// </returns>
        public static Level CreateLevel(Vector3S size, LevelTypes type, string name = "main")
        {
            Level newlevel = new Level(size)
            {
                Name = name
            };

            switch (type)
            {
            case LevelTypes.Flat:

                var gen = new Generator.LevelGenerator(newlevel);
                for (int i = newlevel.CWMap.Size.z / 2; i >= 0; i--)
                {
                    newlevel.FillPlaneXZ(i, Block.BlockList.DIRT);
                }
                newlevel.FillPlaneXZ(newlevel.CWMap.Size.z / 2, Block.BlockList.GRASS);
                break;

            case LevelTypes.Pixel:
                newlevel.CreatePixelArtLevel();
                break;

            case LevelTypes.Hell:
                var mGen = new Generator.LevelGenerator(newlevel, Generator.GeneratorTemplate.Hell(newlevel));
                mGen.Generate();
                break;
            }
            OnAllLevelsLoad.Call(newlevel, new LevelLoadEventArgs(true));
            return(newlevel);
        }
コード例 #2
0
ファイル: Level.cs プロジェクト: headdetect/MCForge6-Vanilla
        /// <summary>
        /// Create a level with a specified type and a specified size. <remarks>Calls OnLevelsLoad event.</remarks>
        /// </summary>
        /// <param name="size">The size to create the level.</param>
        /// <param name="type">The type of the level you want to create</param>
        /// <param name="name">Name of the level to create</param>
        /// <returns>
        /// returns the level that was created
        /// </returns>
        public static Level CreateLevel(Vector3S size, LevelTypes type, string name = "main")
        {
            Level newlevel = new Level(size)
            {
                Name = name
            };
            switch (type)
            {
                case LevelTypes.Flat:

                    var gen = new Generator.LevelGenerator(newlevel);
                    for (int i = newlevel.CWMap.Size.z / 2; i >= 0; i--)
                        newlevel.FillPlaneXZ(i, Block.BlockList.DIRT);
                    newlevel.FillPlaneXZ(newlevel.CWMap.Size.z / 2, Block.BlockList.GRASS);
                    break;
                case LevelTypes.Pixel:
                    newlevel.CreatePixelArtLevel();
                    break;
                case LevelTypes.Hell:
                    var mGen = new Generator.LevelGenerator(newlevel, Generator.GeneratorTemplate.Hell(newlevel));
                    mGen.Generate();
                    break;
            }
            OnAllLevelsLoad.Call(newlevel, new LevelLoadEventArgs(true));
            return newlevel;
        }
コード例 #3
0
        /// <summary>
        /// Create a level with a specified type and a specified size
        /// </summary>
        /// <param name="size">The size to create the level.</param>
        /// <param name="type">The type of the level you want to create</param>
        /// <param name="name">Name of the level to create</param>
        /// <returns>returns the level that was created</returns>
        public static Level CreateLevel(Vector3 size, LevelTypes type, string name = "main")
        {
            Level newlevel = new Level(size) {
                Name = name
            };
            switch (type) {
                case LevelTypes.Flat:
                    var gen = new Generator.LevelGenerator(newlevel);
                    for (int i = newlevel.Size.y / 2 - 1; i > 0; i--)
                        gen.FillPlaneXZ(i, Block.BlockList.DIRT);
                    gen.FillPlaneXZ(newlevel.Size.y / 2, Block.BlockList.PURPLE_CLOTH);
                    gen.FillY(0, 0, Block.BlockList.RED_CLOTH);
                    gen.SetPosition();
                    break;
                case LevelTypes.Pixel:
                    newlevel.CreatePixelArtLevel();
                    break;
                case LevelTypes.Hell:
                    Generator.LevelGenerator mGen = new Generator.LevelGenerator(newlevel, new Generator.GeneratorArgs() {
                        MaxLevelGenerationHeight = size.y / 2,
                        MinLevelGenerationHeight = 0,
                        TopLayer = Block.BlockList.STONE,
                        BottomLayer = Block.BlockList.COBBLESTONE,
                        OverlayLayer = Block.BlockList.LAVA,
                        Seed = new Random().Next(),
                    });
                    mGen.Init();
                    mGen.Generate();
                    mGen.SetPosition();
                    break;
            }

            return newlevel;
        }
コード例 #4
0
ファイル: Level.cs プロジェクト: Maicke98/MCForge-Vanilla
        /// <summary>
        /// Create a level with a specified type and a specified size
        /// </summary>
        /// <param name="size">The size to create the level.</param>
        /// <param name="type">The type of the level you want to create</param>
        /// <param name="name">Name of the level to create</param>
        /// <returns>
        /// returns the level that was created
        /// </returns>
        public static Level CreateLevel(Vector3S size, LevelTypes type, string name = "main")
        {
            Level newlevel = new Level(size) {
                Name = name
            };
            switch (type) {
                case LevelTypes.Flat:
                    var gen = new Generator.LevelGenerator(newlevel);
                    for (int i = newlevel.Size.y / 2 - 1; i > 0; i--)
                        gen.FillPlaneXZ(i, Block.BlockList.DIRT);
                    gen.FillPlaneXZ(newlevel.Size.y / 2, Block.BlockList.GRASS);
                    gen.FillY(0, 0, Block.BlockList.RED_CLOTH);
                    gen.SetPosition();
                    break;
                case LevelTypes.Pixel:
                    newlevel.CreatePixelArtLevel();
                    break;
                case LevelTypes.Hell:
                    Generator.LevelGenerator mGen = new Generator.LevelGenerator(newlevel, Generator.GeneratorTemplate.Hell);
                    mGen.Generate();
                    mGen.SetPosition();
                    break;
            }

            return newlevel;
        }