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