mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-15 03:30:53 +01:00
29 lines
813 B
C#
29 lines
813 B
C#
namespace Robust.Packaging.AssetProcessing.Passes;
|
|
|
|
/// <summary>
|
|
/// Appends a prefix to file paths of passed-through files.
|
|
/// </summary>
|
|
public sealed class AssetPassPrefix : AssetPass
|
|
{
|
|
public string Prefix { get; set; }
|
|
|
|
public AssetPassPrefix(string prefix)
|
|
{
|
|
Prefix = prefix;
|
|
}
|
|
|
|
protected override AssetFileAcceptResult AcceptFile(AssetFile file)
|
|
{
|
|
var newPath = Prefix + file.Path;
|
|
var newFile = file switch
|
|
{
|
|
AssetFileDisk disk => (AssetFile) new AssetFileDisk(newPath, disk.DiskPath),
|
|
AssetFileMemory memory => new AssetFileMemory(newPath, memory.Memory),
|
|
_ => throw new ArgumentOutOfRangeException(nameof(file))
|
|
};
|
|
|
|
SendFile(newFile);
|
|
return AssetFileAcceptResult.Consumed;
|
|
}
|
|
}
|