static int Invoke(IntPtr L) { int count = LuaDLL.lua_gettop(L); Type[] types0 = { typeof(LuaInterface.LuaFunction), typeof(float) }; Type[] types1 = { typeof(string), typeof(string), typeof(float) }; if (LuaScriptMgr.CheckTypes(L, types0, 1) && LuaScriptMgr.CheckParamsType(L, typeof(object), 3, count - 2)) { LuaFunction arg0 = LuaScriptMgr.GetLuaFunction(L, 1); float arg1 = (float)LuaScriptMgr.GetNumber(L, 2); object[] objs2 = LuaScriptMgr.GetParamsObject(L, 3, count - 2); LuaTools.Invoke(arg0, arg1, objs2); return(0); } else if (LuaScriptMgr.CheckTypes(L, types1, 1) && LuaScriptMgr.CheckParamsType(L, typeof(object), 4, count - 3)) { string arg0 = LuaScriptMgr.GetString(L, 1); string arg1 = LuaScriptMgr.GetString(L, 2); float arg2 = (float)LuaScriptMgr.GetNumber(L, 3); object[] objs3 = LuaScriptMgr.GetParamsObject(L, 4, count - 3); LuaTools.Invoke(arg0, arg1, arg2, objs3); return(0); } else { LuaDLL.luaL_error(L, "invalid arguments to method: LuaTools.Invoke"); } return(0); }
private void CreateCMPFile(CampaignTemplate campaignTemplate, string campaignFilePath) { string campaignName = Path.GetFileNameWithoutExtension(campaignFilePath); string lua = LuaTools.ReadIncludeLuaFile("Campaign\\Campaign.lua"); LuaTools.ReplaceKey(ref lua, "Name", campaignName); LuaTools.ReplaceKey(ref lua, "Description", $"This is a {campaignTemplate.ContextCoalitionsBlue} vs {campaignTemplate.ContextCoalitionsRed} randomly-generated campaign created by an early version of the campaign generator of BriefingRoom, a mission generator for DCS World ({BriefingRoom.WEBSITE_URL})."); LuaTools.ReplaceKey(ref lua, "Units", ""); string stagesLua = ""; for (int i = 0; i < campaignTemplate.MissionsCount; i++) { string nextStageLua = LuaTools.ReadIncludeLuaFile("Campaign\\CampaignStage.lua"); LuaTools.ReplaceKey(ref nextStageLua, "Index", i + 1); LuaTools.ReplaceKey(ref nextStageLua, "Name", $"Stage {i + 1}"); LuaTools.ReplaceKey(ref nextStageLua, "Description", $""); LuaTools.ReplaceKey(ref nextStageLua, "File", $"{campaignName}{i + 1:00}.miz"); stagesLua += nextStageLua + "\r\n"; } LuaTools.ReplaceKey(ref lua, "Stages", stagesLua); File.WriteAllText(campaignFilePath, lua.Replace("\r\n", "\n")); }
static int CallLuaFunction(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 1); LuaFunction arg0 = LuaScriptMgr.GetLuaFunction(L, 1); LuaTools.CallLuaFunction(arg0); return(0); }
static int GetUIModule(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 0); Type o = LuaTools.GetUIModule(); LuaScriptMgr.Push(L, o); return(1); }
static int GetType(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 1); object arg0 = LuaScriptMgr.GetVarObject(L, 1); Type o = LuaTools.GetType(arg0); LuaScriptMgr.Push(L, o); return(1); }
static int GetMD5(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 1); string arg0 = LuaScriptMgr.GetLuaString(L, 1); string o = LuaTools.GetMD5(arg0); LuaScriptMgr.Push(L, o); return(1); }
static int UnZip(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 2); string arg0 = LuaScriptMgr.GetLuaString(L, 1); string arg1 = LuaScriptMgr.GetLuaString(L, 2); bool o = LuaTools.UnZip(arg0, arg1); LuaScriptMgr.Push(L, o); return(1); }
static int LoadResource(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 3); string arg0 = LuaScriptMgr.GetLuaString(L, 1); string arg1 = LuaScriptMgr.GetLuaString(L, 2); string arg2 = LuaScriptMgr.GetLuaString(L, 3); LuaTools.LoadResource(arg0, arg1, arg2); return(0); }
//回调Lua函数,回调到Lua 的错误处理函数 protected void LuaErrorCallBack(string sendData, LuaFunction elFunction, Exception e) { //Debug.Log("C#::HttpClient::asyncSend.error(" + sendData + ", " + elFunction.ToString() + ", " + e.Message + ")"); AsyncTask.QueueOnMainThread( () => { LuaTools.Invoke("NetInterFace.hprose_callback", "sendCallBack", 10, new object[] { sendData, elFunction, e }); } ); //Debug.Log("C#::HttpClient::asyncSend.error(" + sendData + ", " + elFunction.ToString() + e.Message + ")"); }
private void Awake() { _luaTable = LuaManager.luaEnv.NewTable(); LuaTools.SetMetaTable(_luaTable); // LuaManager.luaEnv.DoString(LuaToCSharp.GetLuaString("Test"), "Test", _luaTable); LuaManager.luaEnv.DoString(luaScript.text, "Test", _luaTable); _luaTable.Get("start", out start); _luaTable.Get("update", out update); _luaTable.Get("destory", out destory); }
static int get_localPath(IntPtr L) { object o = LuaScriptMgr.GetLuaObject(L, 1); if (o == null) { LuaTypes types = LuaDLL.lua_type(L, 1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name localPath"); } else { LuaDLL.luaL_error(L, "attempt to index localPath on a nil value"); } } LuaTools obj = (LuaTools)o; LuaScriptMgr.Push(L, obj.localPath); return(1); }