/// <summary> /// Find the proxy for a reader /// </summary> public static LuaReaderProxy FindProxy(LuaReader reader) { if (reader == null) { return(null); } return(_Proxies.FirstOrDefault(p => p.ManagedReader == reader)); }
private static void InitLuaConfigData() { LuaReader.Read <AnimClipData.AnimClipData>(); LuaReader.Read <EffectConf.EffectData>(true); LuaAnimClipModel.SetCurrentModelName(m_model.name); LuaEffectConfModel.Init(); LuaAnimClipModel.SetEffectChangeCallback(SetEffectData); }
public static IntPtr ToFunctionPointer(this LuaReader d) { if (d == null) { return(IntPtr.Zero); } return(Marshal.GetFunctionPointerForDelegate <LuaReader>(d)); }
/// <summary> /// Convert a reader to lua reader /// </summary> public static Lua.lua_Reader ToLuaReader(this LuaReader reader) { if (reader == null) { return(null); } var proxy = LuaReaderProxy.GetProxy(reader); return(proxy != null ? proxy.UnmanagedReader : null); }
public static IntPtr ToFunctionPointer(this LuaReader d) { if (d == null) { return(IntPtr.Zero); } #if NETFRAMEWORK return(Marshal.GetFunctionPointerForDelegate(d)); #else return(Marshal.GetFunctionPointerForDelegate <LuaReader>(d)); #endif }
/// <summary> /// Find or create a proxy for a reader /// </summary> public static LuaReaderProxy GetProxy(LuaReader reader) { if (reader == null) return null; var result = FindProxy(reader); if (result == null) { result = new LuaReaderProxy() { ManagedReader = reader }; result.UnmanagedReader = result.InvokeManagementReader; _Proxies.Add(result); } return result; }
public static void ReloadEffectConf() { LuaEffectConfModel.Reset(); LuaReader.Read <EffectConf.EffectData>(true); LuaEffectConfModel.Init(); foreach (var idObjectPair in m_dicIDEffectObject) { uint id = idObjectPair.Key; GameObject effectNode = idObjectPair.Value; EffectConf.EffectData data = LuaEffectConfModel.GetEffectData(id); if (data.IsNullTable()) { continue; } SetEffectTransform(data, effectNode); } }
/// <summary> /// Find or create a proxy for a reader /// </summary> public static LuaReaderProxy GetProxy(LuaReader reader) { if (reader == null) { return(null); } var result = FindProxy(reader); if (result == null) { result = new LuaReaderProxy() { ManagedReader = reader }; result.UnmanagedReader = result.InvokeManagementReader; _Proxies.Add(result); } return(result); }
/// <summary> /// Find the proxy for a reader /// </summary> public static LuaReaderProxy FindProxy(LuaReader reader) { if (reader == null) return null; return _Proxies.FirstOrDefault(p => p.ManagedReader == reader); }
public static void Loader(AbstractDb <int> db, string file) { if (file == null) { Debug.Ignore(() => DbDebugHelper.OnUpdate(db.DbSource, null, "achievement_list table will not be loaded.")); return; } LuaList list; var table = db.Table; var metaGrf = db.ProjectDatabase.MetaGrf; string outputPath = GrfPath.Combine(SdeAppConfiguration.TempPath, Path.GetFileName(file)); byte[] itemData = metaGrf.GetData(file); if (itemData == null) { Debug.Ignore(() => DbDebugHelper.OnUpdate(db.DbSource, file, "File not found.")); return; } File.WriteAllBytes(outputPath, itemData); if (!File.Exists(outputPath)) { return; } if (Methods.ByteArrayCompare(itemData, 0, 4, new byte[] { 0x1b, 0x4c, 0x75, 0x61 }, 0)) { // Decompile lub file Lub lub = new Lub(itemData); var text = lub.Decompile(); itemData = EncodingService.DisplayEncoding.GetBytes(text); File.WriteAllBytes(outputPath, itemData); } DbIOMethods.DetectAndSetEncoding(itemData); using (LuaReader reader = new LuaReader(outputPath, DbIOMethods.DetectedEncoding)) { list = reader.ReadAll(); } LuaKeyValue itemVariable = list.Variables[0] as LuaKeyValue; if (itemVariable != null && itemVariable.Key == "achievement_tbl") { LuaList items = itemVariable.Value as LuaList; if (items != null) { foreach (LuaKeyValue item in items.Variables) { _loadEntry(table, item); } } } else { // Possible copy-paste data foreach (LuaKeyValue item in list.Variables) { _loadEntry(table, item); } } Debug.Ignore(() => DbDebugHelper.OnLoaded(db.DbSource, metaGrf.FindTkPath(file), db)); }
internal static extern int lua_load(LuaStatePtr l, LuaReader reader, IntPtr dt, [MarshalAs(UnmanagedType.LPStr)] string chunkname, [MarshalAs(UnmanagedType.LPStr)] string mode);
internal static extern int lua_load(LuaStatePtr l, LuaReader reader, IntPtr dt, [MarshalAs(UnmanagedType.LPStr)] string chunkname, [MarshalAs(UnmanagedType.LPStr)] string mode);
/// <summary> /// Loads a Lua chunk without running it. /// </summary> public LuaStatus Load(LuaReader reader, Object dt, String chunkname, String mode) { return (LuaStatus)Lua.lua_load(NativeState, reader.ToLuaReader(), UserDataRef.GetRef(dt), chunkname, mode); }
public static int Load(LuaStatePtr l, LuaReader reader, IntPtr dt, string chunkname, string mode) { return(LuaDelegates.lua_load(l, reader, dt, chunkname, mode)); }
public static extern int Load(IntPtr State, LuaReader R, IntPtr Data, [MarshalAs(StringType)] string ChunkName);
public static extern int Load(IntPtr State, LuaReader R, IntPtr Data, IntPtr ChunkName);