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

            if (count == 1)
            {
                UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckObject(L, 1, typeof(UnityEngine.GameObject));
                LuaEventListener       o    = LuaEventListener.AddUpEvent(arg0);
                ToLua.Push(L, o);
                return(1);
            }
            else if (count == 2)
            {
                UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckObject(L, 1, typeof(UnityEngine.GameObject));
                LuaFunction            arg1 = ToLua.CheckLuaFunction(L, 2);
                LuaEventListener       o    = LuaEventListener.AddUpEvent(arg0, arg1);
                ToLua.Push(L, o);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: LuaEventListener.AddUpEvent"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
Beispiel #2
0
    public static LuaEventListener AddUpEvent(GameObject go, LuaFunction luafunc = null)
    {
        LuaEventListener listen = go.GetComponent <LuaEventListener>();

        if (listen == null)
        {
            listen = go.AddComponent <LuaEventListener>();
        }
        onUp = luafunc;
        return(listen);
    }
Beispiel #3
0
 static int OnDrop(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         LuaEventListener obj = (LuaEventListener)ToLua.CheckObject <LuaEventListener>(L, 1);
         UnityEngine.EventSystems.PointerEventData arg0 = (UnityEngine.EventSystems.PointerEventData)ToLua.CheckObject <UnityEngine.EventSystems.PointerEventData>(L, 2);
         obj.OnDrop(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
    /// <summary>
    /// 添加指定监听事件类型的监听事件
    /// </summary>
    /// <param name="_eventType">指定监听事件的类型</param>
    /// <param name="_luaFunName">指定监听事件名称</param>
    /// <param name="_luaFun">指定监听事件</param>
    /// <param name="_luaTable">需要触发的监听事件所在的LuaTable</param>
    public static void AddListener(string _eventType, string _luaFunName, LuaFunction _luaFun, LuaTable _luaTable)
    {
        if (!IsExistEventTypeListener(_eventType))
        {
            LuaEventListener luaEventListener = new LuaEventListener
            {
                luaTable = _luaTable
            };
            luaEventListener.dicLuaFun.Add(_luaFunName, _luaFun);
            dicLuaEventListener.Add(_eventType, luaEventListener);
        }

        LuaEventListener _luaEventListener = dicLuaEventListener[_eventType];

        if (_luaEventListener != null && !_luaEventListener.dicLuaFun.ContainsKey(_luaFunName))
        {
            dicLuaEventListener[_eventType].dicLuaFun.Add(_luaFunName, _luaFun);
        }
    }