/// <summary> /// Find or create a proxy for a lua reader /// </summary> public static LuaReaderProxy GetProxy(Lua.lua_Reader reader) { if (reader == null) return null; var result = FindProxy(reader); if (result == null) { result = new LuaReaderProxy() { UnmanagedReader = reader }; result.ManagedReader = result.InvokeUnmanagedReader; _Proxies.Add(result); } return result; }
/// <summary> /// Find the proxy for a lua reader /// </summary> public static LuaReaderProxy FindProxy(Lua.lua_Reader reader) { if (reader == null) return null; return _Proxies.FirstOrDefault(p => p.UnmanagedReader == reader); }
/// <summary> /// Find or create a proxy for a C function /// </summary> public static LuaCFunctionProxy GetProxy(Lua.lua_CFunction function) { if (function == null) return null; var result = FindProxy(function); if (result == null) { result = new LuaCFunctionProxy() { UnmanagedFunction = function }; result.ManagedFunction = result.InvokeUnmanagedFunction; _Proxies.Add(result); } return result; }
/// <summary> /// Find the proxy for a lua writer /// </summary> public static LuaWriterProxy FindProxy(Lua.lua_Writer writer) { if (writer == null) return null; return _Proxies.FirstOrDefault(p => p.UnmanagedWriter == writer); }
/// <summary> /// Find the proxy for a C function /// </summary> public static LuaCFunctionProxy FindProxy(Lua.lua_CFunction function) { if (function == null) return null; return _Proxies.FirstOrDefault(p => p.UnmanagedFunction == function); }