Example #1
0
    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);
    }
Example #2
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"));
        }
Example #3
0
    static int CallLuaFunction(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 1);
        LuaFunction arg0 = LuaScriptMgr.GetLuaFunction(L, 1);

        LuaTools.CallLuaFunction(arg0);
        return(0);
    }
Example #4
0
    static int GetUIModule(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 0);
        Type o = LuaTools.GetUIModule();

        LuaScriptMgr.Push(L, o);
        return(1);
    }
Example #5
0
    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);
    }
Example #6
0
    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);
    }
Example #7
0
    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);
    }
Example #8
0
    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);
    }
Example #9
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);
    }
Example #11
0
    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);
    }