示例#1
0
        public virtual object Generate()
        {
            Debug.Log($"--- Generator started (Edgar v{AssetInfo.Version}) ---");

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var(pipelineItems, payload) = GetPipelineItemsAndPayload();

            PipelineRunner.Run(pipelineItems, payload, EnableDiagnostics);

            Debug.Log($"--- Level generated in {stopwatch.ElapsedMilliseconds / 1000f:F}s ---");

            return(payload);
        }
        public void ExportMapDescription()
        {
            var payload    = InitializePayload();
            var inputSetup = GetInputTask();

            var pipelineItems = new List <IPipelineTask <DungeonGeneratorPayload> > {
                inputSetup
            };

            PipelineRunner.Run(pipelineItems, payload);

            var levelDescription = payload.LevelDescription.GetLevelDescription();

            levelDescription.Name = "Test";
            var wrappedLevelDescription = GetWrappedLevelDescription(levelDescription);

            var filename = "exportedMapDescription.json";

            wrappedLevelDescription.SaveToJson(filename);
            Debug.Log($"Map description exported to {filename}");
        }