29 lines
1.1 KiB
C#
29 lines
1.1 KiB
C#
using System;
|
|
using Barotrauma.IO;
|
|
|
|
namespace Barotrauma
|
|
{
|
|
sealed class ServerExecutableFile : OtherFile
|
|
{
|
|
//This content type doesn't do very much on its own, it's handled manually by the Host Server menu
|
|
public ServerExecutableFile(ContentPackage contentPackage, ContentPath path) : base(contentPackage, path) { }
|
|
|
|
public static ContentPath MutateContentPath(ContentPath path)
|
|
{
|
|
if (File.Exists(path.FullPath)) { return path; }
|
|
|
|
string rawValueWithoutExtension()
|
|
=> Barotrauma.IO.Path.Combine(
|
|
Barotrauma.IO.Path.GetDirectoryName(path.RawValue ?? ""),
|
|
Barotrauma.IO.Path.GetFileNameWithoutExtension(path.RawValue ?? "")).CleanUpPath();
|
|
|
|
path = ContentPath.FromRaw(path.ContentPackage, rawValueWithoutExtension());
|
|
if (File.Exists(path.FullPath)) { return path; }
|
|
|
|
path = ContentPath.FromRaw(path.ContentPackage,
|
|
rawValueWithoutExtension() + ".exe");
|
|
return path;
|
|
}
|
|
}
|
|
}
|