Beispiel #1
0
    static int SendMessage(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        Type[] types1 = { typeof(FSMBase), typeof(string), typeof(SendMessageOptions) };
        Type[] types2 = { typeof(FSMBase), typeof(string), typeof(object) };

        if (count == 2)
        {
            FSMBase obj  = LuaScriptMgr.GetNetObject <FSMBase>(L, 1);
            string  arg0 = LuaScriptMgr.GetLuaString(L, 2);
            obj.SendMessage(arg0);
            return(0);
        }
        else if (count == 3 && LuaScriptMgr.CheckTypes(L, types1, 1))
        {
            FSMBase            obj  = LuaScriptMgr.GetNetObject <FSMBase>(L, 1);
            string             arg0 = LuaScriptMgr.GetString(L, 2);
            SendMessageOptions arg1 = LuaScriptMgr.GetNetObject <SendMessageOptions>(L, 3);
            obj.SendMessage(arg0, arg1);
            return(0);
        }
        else if (count == 3 && LuaScriptMgr.CheckTypes(L, types2, 1))
        {
            FSMBase obj  = LuaScriptMgr.GetNetObject <FSMBase>(L, 1);
            string  arg0 = LuaScriptMgr.GetString(L, 2);
            object  arg1 = LuaScriptMgr.GetVarObject(L, 3);
            obj.SendMessage(arg0, arg1);
            return(0);
        }
        else if (count == 4)
        {
            FSMBase            obj  = LuaScriptMgr.GetNetObject <FSMBase>(L, 1);
            string             arg0 = LuaScriptMgr.GetLuaString(L, 2);
            object             arg1 = LuaScriptMgr.GetVarObject(L, 3);
            SendMessageOptions arg2 = LuaScriptMgr.GetNetObject <SendMessageOptions>(L, 4);
            obj.SendMessage(arg0, arg1, arg2);
            return(0);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: FSMBase.SendMessage");
        }

        return(0);
    }