/// <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); }
/// <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; }
/// <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; }
/// <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; }