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

            if (count == 2)
            {
                LuaMessageCenter obj  = (LuaMessageCenter)ToLua.CheckObject <LuaMessageCenter>(L, 1);
                string           arg0 = ToLua.CheckString(L, 2);
                obj.SendMessage(arg0);
                return(0);
            }
            else if (count == 3 && TypeChecker.CheckTypes <string, UnityEngine.SendMessageOptions>(L, 2))
            {
                LuaMessageCenter obj  = (LuaMessageCenter)ToLua.CheckObject <LuaMessageCenter>(L, 1);
                string           arg0 = ToLua.ToString(L, 2);
                UnityEngine.SendMessageOptions arg1 = (UnityEngine.SendMessageOptions)ToLua.ToObject(L, 3);
                obj.SendMessage(arg0, arg1);
                return(0);
            }
            else if (count == 3 && TypeChecker.CheckTypes <int, LuaMessageCenter.Message>(L, 2))
            {
                LuaMessageCenter obj          = (LuaMessageCenter)ToLua.CheckObject <LuaMessageCenter>(L, 1);
                int arg0                      = (int)LuaDLL.lua_tonumber(L, 2);
                LuaMessageCenter.Message arg1 = (LuaMessageCenter.Message)ToLua.ToObject(L, 3);
                obj.SendMessage(arg0, arg1);
                return(0);
            }
            else if (count == 3 && TypeChecker.CheckTypes <string, object>(L, 2))
            {
                LuaMessageCenter obj  = (LuaMessageCenter)ToLua.CheckObject <LuaMessageCenter>(L, 1);
                string           arg0 = ToLua.ToString(L, 2);
                object           arg1 = ToLua.ToVarObject(L, 3);
                obj.SendMessage(arg0, arg1);
                return(0);
            }
            else if (count == 4)
            {
                LuaMessageCenter obj  = (LuaMessageCenter)ToLua.CheckObject <LuaMessageCenter>(L, 1);
                string           arg0 = ToLua.CheckString(L, 2);
                object           arg1 = ToLua.ToVarObject(L, 3);
                UnityEngine.SendMessageOptions arg2 = (UnityEngine.SendMessageOptions)ToLua.CheckObject(L, 4, typeof(UnityEngine.SendMessageOptions));
                obj.SendMessage(arg0, arg1, arg2);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: LuaMessageCenter.SendMessage"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
示例#2
0
 static int set_Instance(IntPtr L)
 {
     try
     {
         LuaMessageCenter arg0 = (LuaMessageCenter)ToLua.CheckObject <LuaMessageCenter>(L, 2);
         LuaMessageCenter.Instance = arg0;
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#3
0
 static int AddMessage(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 3);
         LuaMessageCenter obj = (LuaMessageCenter)ToLua.CheckObject <LuaMessageCenter>(L, 1);
         int arg0             = (int)LuaDLL.luaL_checknumber(L, 2);
         LuaMessageCenter.VOID_MESSAGE arg1 = (LuaMessageCenter.VOID_MESSAGE)ToLua.CheckDelegate <LuaMessageCenter.VOID_MESSAGE>(L, 3);
         obj.AddMessage(arg0, arg1);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#4
0
    static int set_messages(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            LuaMessageCenter obj = (LuaMessageCenter)o;
            System.Collections.Generic.Queue <LuaMessageCenter.Message> arg0 = (System.Collections.Generic.Queue <LuaMessageCenter.Message>)ToLua.CheckObject <System.Collections.Generic.Queue <LuaMessageCenter.Message> >(L, 2);
            obj.messages = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index messages on a nil value"));
        }
    }
示例#5
0
    static int set_VOID_CB___S(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            LuaMessageCenter obj = (LuaMessageCenter)o;
            System.Collections.Generic.Dictionary <int, LuaMessageCenter.VOID_CB___> arg0 = (System.Collections.Generic.Dictionary <int, LuaMessageCenter.VOID_CB___>)ToLua.CheckObject(L, 2, typeof(System.Collections.Generic.Dictionary <int, LuaMessageCenter.VOID_CB___>));
            obj.VOID_CB___S = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index VOID_CB___S on a nil value"));
        }
    }
示例#6
0
    static int set_luaFuncs(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            LuaMessageCenter obj = (LuaMessageCenter)o;
            LuaMessageCenter.VOID_MESSAGE arg0 = (LuaMessageCenter.VOID_MESSAGE)ToLua.CheckDelegate <LuaMessageCenter.VOID_MESSAGE>(L, 2);
            obj.luaFuncs = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index luaFuncs on a nil value"));
        }
    }
示例#7
0
    static int get_messages(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            LuaMessageCenter obj = (LuaMessageCenter)o;
            System.Collections.Generic.Queue <LuaMessageCenter.Message> ret = obj.messages;
            ToLua.PushObject(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index messages on a nil value"));
        }
    }
示例#8
0
    static int get_VOID_CB___S(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            LuaMessageCenter obj = (LuaMessageCenter)o;
            System.Collections.Generic.Dictionary <int, LuaMessageCenter.VOID_CB___> ret = obj.VOID_CB___S;
            ToLua.PushSealed(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index VOID_CB___S on a nil value"));
        }
    }
示例#9
0
    static int get_luaFuncs(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            LuaMessageCenter obj = (LuaMessageCenter)o;
            LuaMessageCenter.VOID_MESSAGE ret = obj.luaFuncs;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index luaFuncs on a nil value"));
        }
    }
示例#10
0
    private void Awake()
    {
        AddMessage(1001, CSCallback);

        VOID_CB___S.Add(1, Awake);
        Instance = this;
        Init();
        //luaFuncs.Add()
        luaState.DoFile(name);
        //调用lua注册函数,该函数调用消息中心注册
        LuaFunction func = luaState.GetFunction("Awake");

        func.BeginPCall();
        func.PushGeneric <GameObject>(gameObject);
        func.PCall();
        func.EndPCall();

        func.Dispose();
        func = null;
    }