using System; public class pluginWrapper { public bool dispatch(blobWrapper blob) { return true; } } public class engineWrapper { private bool _connected; public engineWrapper(string empty = null) { _connected = false; } public void addPlugin(string pluginName, pluginWrapper plugin) { Console.WriteLine("Plugin {0} just added", pluginName); } public bool connectToHost(string ip, int port) { _connected = !_connected; return true; } public void disconnect() { _connected = false; } public void update() { } public static string getDataRoot() { return string.Empty; } public void destroy() { } } public class cookerWrapper { public void destroy() { } public void init(string dataPath) { } public void registerVersionCallback() { } public bool cookTexture(string platform, string filePath, bool b) { return true; } } public class blobWrapper : IDisposable { public bool sendToHost() { return true; } public void extractDataRoot(ref string dataRoot) { } public void extract(ref bool value) { } public void push(bool value) { } public void extract(ref int value) { } public void push(int value) { } public void extract(ref float value) { } public void push(float value) { } public void extract(ref uint value) { } public void push(uint value) { } public void extract(ref string value) { } public void push(string value) { } public void extractPath(ref string value) { } public void pushPath(string value) { } public void extractString8(ref string value) { } public void pushString8(string value) { } public byte[] extractBinaryArray() { return null; } public void pushBytesArray(byte[] array) { } public void Dispose() { } }