public override void OnInspectorGUI() { MapsGenerator mapgen = (MapsGenerator)target; // for rendering upon changing any parameters. Can get annoying with heavy object generation if (DrawDefaultInspector()) { mapgen.CreateMap(); } if (GUILayout.Button("GenerateMap")) { mapgen.CreateMap(); } if (GUILayout.Button("GenerateTrees")) { mapgen.CreateVegetation(); } if (GUILayout.Button("GenerateRocks")) { mapgen.CreateRocks(); } if (GUILayout.Button("GenerateCreatures")) { mapgen.CreateCreature(); } }
static void Main(string[] args) { var startParamsParser = new StartParamsParser(); var startParams = startParamsParser.Parse(args); var mapsGenerator = new MapsGenerator(startParams.FieldSize); if (!Directory.Exists(startParams.FolderPath)) { Directory.CreateDirectory(startParams.FolderPath); } foreach (var folder in Directory.EnumerateDirectories(startParams.FolderPath)) { Directory.Delete(folder, true); } foreach (var file in Directory.EnumerateFiles(startParams.FolderPath)) { File.Delete(file); } var writer = new MapsWriter(); var imageSaver = new MapsImageSaver(); int imageSize; switch (startParams.ImageMode) { case ImageModeType.Small: imageSize = 1024; break; case ImageModeType.Large: imageSize = 4096; break; default: imageSize = startParams.FieldSize.Value; break; } for (var i = 1; i <= startParams.MapsNum; i++) { var map = mapsGenerator.Generate(startParams.RectsNum); var fileName = $"map{i}.json"; var filePath = Path.Combine(startParams.FolderPath, fileName); var stream = File.OpenWrite(filePath); writer.Write(map, stream); fileName = $"map{i}.png"; filePath = Path.Combine(startParams.FolderPath, fileName); stream = File.OpenWrite(filePath); imageSaver.Save(map, stream, imageSize, System.Drawing.Imaging.ImageFormat.Png); } }
void Start() { gameObjects = new GameObject[1000]; for (int i = 0; i < 1000; i++) { gameObjects[i] = Instantiate(emptyGameObject, new Vector3(-1, -1, -1), Quaternion.identity, transform); } mapsGenerator = new MapsGenerator(); mapsGenerator.Start(Height, Width, RoomCount); //전체 방 크기와 룸의 개수 mapsGenerator.Generate_Maps(Start_Y, Start_X, Size); //룸을 만들기 시작할 점과, 각 룸의 랜덤 Size 변수 Room temp = mapsGenerator.generated_Rooms[0]; temp.RoomGenerate(gameObjects, tiles); }