static int TriggerEvent(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 1)
            {
                string arg0 = ToLua.CheckString(L, 1);
                UserEventManager.TriggerEvent(arg0);
                return(0);
            }
            else if (count == 2)
            {
                string arg0 = ToLua.CheckString(L, 1);
                object arg1 = ToLua.ToVarObject(L, 2);
                UserEventManager.TriggerEvent(arg0, arg1);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: UserEventManager.TriggerEvent"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
示例#2
0
    public override void OnClose()
    {
        base.OnClose();
        Scheduler.Instance.Stop("ChangeMatchingText");

        //注销事件
        UserEventManager.UnRegisterEvent("rep_message_match_success");
    }
示例#3
0
 public static void EnterGame()
 {
     //加载TableUI
     UIManager.OpenUI("Prefabs/TableUI", UIManager.Instance.BaseUIRoot, (GameObject obj) =>
     {
         UserEventManager.TriggerEvent("LoginGame");
         Debug.Log("CommonMethod.EnterGame Open TableUI Success!");
     });
 }
示例#4
0
 public override void OnClose()
 {
     base.OnClose();
     if (null != playBase)
     {
         playBase.Close();
     }
     Scheduler.Instance.Stop("UIPlay.SetCountdownTime");
     UserEventManager.UnRegisterEvent("rep_message_updata_opponent_grade");
     UserEventManager.UnRegisterEvent("rep_message_innings_end");
 }
示例#5
0
 //注册监听
 void RegisterEvent()
 {
     UserEventManager.RegisterEvent("LoginGame", (param) =>
     {
         UIManager.CloseUI("Prefabs/LoginUI");
     });
     UserEventManager.RegisterEvent("rep_message_player_info", (param) =>
     {
         rep_message_player_info repMsg = Client.Deserialize(rep_message_player_info.Parser, (byte[])param) as rep_message_player_info;
         PlayerData.UpdatePlayerData(repMsg.PlayerInfo);
     });
 }
 static int UnRegisterEvent(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         string arg0 = ToLua.CheckString(L, 1);
         UserEventManager.UnRegisterEvent(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
 static int RegisterEvent(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         string        arg0 = ToLua.CheckString(L, 1);
         EventCallback arg1 = (EventCallback)ToLua.CheckDelegate <EventCallback>(L, 2);
         UserEventManager.RegisterEvent(arg0, arg1);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#8
0
    public override void OnOpen()
    {
        base.OnOpen();
        //注册匹配成功推送
        UserEventManager.RegisterEvent("rep_message_match_success", (param) => {
            rep_message_match_success repMsg = Client.Deserialize(rep_message_match_success.Parser, (byte[])param) as rep_message_match_success;
            //设置对手信息
            SetPlayerInfo(repMsg.PlayerInfo, bottomInfo);
            //六边形
            SetHexagon(repMsg.PlayerInfo, false);
            //状态切换
            SetMatchState(1);
        });
        //设置自己的信息
        SetPlayerInfo(PlayerData.playerInfo, topInfo);
        //六边形
        SetHexagon(PlayerData.playerInfo, true);

        //设置状态
        SetMatchState(0);
    }
示例#9
0
    private void receiveData(byte[] data)
    {
        root_proto proto = new root_proto();

        proto = Deserialize(root_proto.Parser, data) as root_proto;
        Debug.Log("Client.receiveData messageName = " + proto.MessageName);
        //校正服务器时间
        Function.SetServerTime((long)proto.ServerTime);
        //数据
        byte[] byteData = proto.MessageData.ToByteArray();
        //取消菊花
        if (0 != proto.MessageID && true == RequestLoadDict[proto.MessageID])
        {
            //0是推送协议
            LoadLayerManager.Instance.RemoveLoad();
        }
        RequestLoadDict.Remove(proto.MessageID);

        //事件
        UserEventManager.TriggerEvent(proto.MessageName, byteData);

        //激活回调函数
        if (CallbackDict.ContainsKey(proto.MessageID))
        {
            try
            {
                RequestCallback callback = CallbackDict[proto.MessageID];
                if (null != callback)
                {
                    callback(byteData);
                }
                CallbackDict.Remove(proto.MessageID);
            }
            catch (Exception e)
            {
                Debug.LogError(e);
            }
        }
    }
示例#10
0
    public override void OnOpen()
    {
        base.OnOpen();
        //重设分数
        leftGrade  = 0;
        rightGrade = 0;
        SetGrade(0, 0);
        //注册对手分数变更事件
        UserEventManager.RegisterEvent("rep_message_updata_opponent_grade", (param) =>
        {
            rep_message_updata_opponent_grade repMsg = Client.Deserialize(rep_message_updata_opponent_grade.Parser, (byte[])param) as rep_message_updata_opponent_grade;
            SetGrade(0, repMsg.Grade - rightGrade);
        });

        //注册局结束事件
        UserEventManager.RegisterEvent("rep_message_innings_end", (param) =>
        {
            rep_message_innings_end repMsg = Client.Deserialize(rep_message_innings_end.Parser, (byte[])param) as rep_message_innings_end;
            if (repMsg.HasInnings)
            {
                CommonRequest.ReqSatrtReady();
            }
        });
        //注册游戏结束事件
        UserEventManager.RegisterEvent("rep_message_game_end", (param) =>
        {
            rep_message_game_end repMsg = Client.Deserialize(rep_message_game_end.Parser, (byte[])param) as rep_message_game_end;
            UIManager.OpenUI("Prefabs/GameEndUI", UIManager.Instance.GameUIRoot, (uiObj) =>
            {
                UIGameEnd uiGameEnd = uiObj.transform.GetComponent <UIGameEnd>();
                uiGameEnd.RefreshUI(repMsg);
                //关闭UIPlay
                this.Close();
            });
        });
    }