static public int PostLuaEvent_s(IntPtr l) { try { System.String a1; checkType(l, 1, out a1); System.Object[] a2; checkParams(l, 2, out a2); LuaUtils.PostLuaEvent(a1, a2); pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } }
// 每帧检查处理消息 public void UpdateSocket() { // 向 Lua 发送缓存的socket链接状态 if (cacheConnectEvent != SocketConnectionEvent.None) { Debug.Log(cacheConnectEvent.ToString()); LuaUtils.PostLuaEvent(cacheConnectEvent.ToString(), null); cacheConnectEvent = SocketConnectionEvent.None; } // 检查是否有消息来了 if (null != _conn && _conn.State == SocketConnectionState.Connected) { List <SocketData> sockDatas = _conn.RecvSocketDataList(); if (sockDatas != null && sockDatas.Count > 0) { for (int i = 0; i < sockDatas.Count; ++i) { SocketData data = sockDatas [i]; ReceiveMsg msgData = new ReceiveMsg(); msgData.data = data; tobeHandledSocketData.Enqueue(msgData); } } } // 处理接收的消息 if (tobeHandledSocketData.Count > 0) { ReceiveMsg msgData = tobeHandledSocketData.Dequeue(); DealWithSocketData(msgData); } else { } }
//case public static void SwitchToLevel(string sceneName) { LevelManager.Instance().SwitchToLevel(sceneName, delegate(float obj) { LuaUtils.PostLuaEvent("UpdateBattleLoading", obj); }); }