public static XLuaSetting GetInstance() { if (ms_Instance == null) { ms_Instance = Load <XLuaSetting>(SETTING_NAME); } return(ms_Instance); }
public override string AddScript(string name, TextAsset script) { int startIndex = XLuaSetting.GetInstance().ExportedLuaRoot.Length + 1; int length = name.IndexOf('.') - startIndex; name = name.Substring(startIndex, length).Replace(@"/", "."); m_Names.Add(name); m_Scripts.Add(script); return(name); }
public byte[] CustomLoader(ref string filepath) { #if UNITY_EDITOR if (m_FileToCodes == null) { string luaRoot = XLuaSetting.GetInstance().ExportedLuaRoot; string luaPath = $"{luaRoot}/{filepath.Replace('.', '/')}.lua.txt"; TextAsset luaTextAsset = UnityEditor.AssetDatabase.LoadMainAssetAtPath(luaPath) as TextAsset; if (luaTextAsset == null) { MDebug.LogError("XLua", $"Not found lua script: " + filepath); return(null); } return(System.Text.Encoding.UTF8.GetBytes(LuaScriptParser.s_Instance.Parse(luaTextAsset.text))); } #endif if (m_FileToCodes.TryGetValue(filepath, out byte[] code))