internal void HandleBuyLife(ulong guid) { UserProcessScheduler scheduler = LobbyServer.Instance.UserProcessScheduler; if (null == scheduler) return; // 响应玩家要求复活 UserInfo user = scheduler.GetUserInfo(guid); if (null != user) { RoomInfo room = user.Room; if (null != room) { Msg_LR_UserReLive resultBuilder = new Msg_LR_UserReLive(); resultBuilder.UserGuid = guid; resultBuilder.RoomID = user.CurrentRoomID; LobbyServer.Instance.RoomSvrChannel.Send(room.RoomServerName, resultBuilder); LogSys.Log(LOG_TYPE.INFO, "BuyLife Guid {0}", guid); } } }
internal void HandleUserRelive(Msg_LR_UserReLive msg) { Room room = GetRoomByID(msg.RoomID); if (null != room) { Scene curScene = room.ActiveScene; if (null != curScene) { //curScene.DelayActionProcessor.QueueAction(curScene.OnUserRevive, msg); } } }
private void HandleUserRelive(Msg_LR_UserReLive msg, PBChannel channel, int handle, uint seq) { bool isFieldThread; int ix = GetActiveRoomThreadIndex(msg.RoomID, out isFieldThread); if (ix >= 0) { if (isFieldThread) { RoomThread roomThread = field_roomthread_list_[ix]; roomThread.QueueAction(roomThread.HandleUserRelive, msg); } else { RoomThread roomThread = roomthread_list_[ix]; roomThread.QueueAction(roomThread.HandleUserRelive, msg); } } }