2019-11-03 15:26:51 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using VFS;
|
2019-11-03 16:43:43 +00:00
|
|
|
|
using Wabbajack.Common;
|
2019-11-03 15:26:51 +00:00
|
|
|
|
using Wabbajack.Lib.CompilationSteps;
|
|
|
|
|
|
|
|
|
|
namespace Wabbajack.Lib
|
|
|
|
|
{
|
|
|
|
|
public abstract class ACompiler
|
|
|
|
|
{
|
2019-11-03 16:43:43 +00:00
|
|
|
|
public ModManager ModManager;
|
2019-11-03 15:26:51 +00:00
|
|
|
|
|
2019-11-03 16:43:43 +00:00
|
|
|
|
public string GamePath;
|
2019-11-03 15:26:51 +00:00
|
|
|
|
|
2019-11-03 16:43:43 +00:00
|
|
|
|
public string ModListOutputFolder;
|
|
|
|
|
public string ModListOutputFile;
|
|
|
|
|
|
|
|
|
|
public List<Archive> SelectedArchives;
|
|
|
|
|
public List<Directive> InstallDirectives;
|
|
|
|
|
public List<RawSourceFile> AllFiles;
|
|
|
|
|
public ModList ModList;
|
|
|
|
|
public VirtualFileSystem VFS;
|
|
|
|
|
public List<IndexedArchive> IndexedArchives;
|
|
|
|
|
public Dictionary<string, IEnumerable<VirtualFile>> IndexedFiles;
|
2019-11-03 15:26:51 +00:00
|
|
|
|
|
|
|
|
|
public abstract void Info(string msg);
|
|
|
|
|
public abstract void Status(string msg);
|
|
|
|
|
public abstract void Error(string msg);
|
|
|
|
|
|
|
|
|
|
internal abstract string IncludeFile(byte[] data);
|
|
|
|
|
internal abstract string IncludeFile(string data);
|
|
|
|
|
|
|
|
|
|
public abstract bool Compile();
|
|
|
|
|
|
|
|
|
|
public abstract Directive RunStack(IEnumerable<ICompilationStep> stack, RawSourceFile source);
|
|
|
|
|
public abstract IEnumerable<ICompilationStep> GetStack();
|
|
|
|
|
public abstract IEnumerable<ICompilationStep> MakeStack();
|
|
|
|
|
}
|
|
|
|
|
}
|