using System.Collections.Generic; using System.IO; using Robust.Shared.ContentPack; using Robust.Shared.Utility; namespace Content.MapRenderer; /// /// Helper class for collecting the files used for parallax output /// public sealed class ParallaxOutput { public const string OutputDirectory = "_parallax"; public readonly HashSet FilesToCopy = []; private readonly string _outputPath; /// /// Helper class for collecting the files used for parallax output /// public ParallaxOutput(string outputPath) { _outputPath = outputPath; Directory.CreateDirectory(Path.Combine(_outputPath, OutputDirectory)); } public string ReferenceResourceFile(IResourceManager resourceManager, ResPath path) { var fileName = Path.Combine(OutputDirectory, path.Filename); if (FilesToCopy.Add(path)) { using var file = resourceManager.ContentFileRead(path); using var target = File.Create(Path.Combine(_outputPath, fileName)); file.CopyTo(target); } return fileName; } }