Improved mod interface; Basic mod install process

This commit is contained in:
Joshua Askharoun
2021-04-26 04:28:43 -05:00
parent c8cf308cc3
commit 7161797d74
6 changed files with 141 additions and 87 deletions
+18 -4
View File
@@ -29,15 +29,29 @@ namespace ZuneModCore
public virtual Task Init() => Task.CompletedTask;
public abstract Task<bool> Apply();
public abstract Task<string?> Apply();
public abstract Task<bool> Reset();
public abstract Task<string?> Reset();
public abstract AbstractUIElementGroup? OptionsUI { get; }
public string StorageDirectory => Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"ZuneModCore", Id);
public string StorageDirectory
{
get
{
string dir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "ZuneModCore", Id);
// Create the directory just in case the consumer assumes the folder exists already
Directory.CreateDirectory(dir);
return dir;
}
}
public abstract IReadOnlyList<Type>? DependentMods { get; }
internal FileStream OpenFileInStorageDirectory(string filename)
{
FileInfo info = new(Path.Combine(StorageDirectory, filename));
return File.Create(info.FullName);
}
}
}