diff --git a/lua_probject/base_project/Game/Controller/RoomController.lua b/lua_probject/base_project/Game/Controller/RoomController.lua index 148e7cb1..4a03d33a 100644 --- a/lua_probject/base_project/Game/Controller/RoomController.lua +++ b/lua_probject/base_project/Game/Controller/RoomController.lua @@ -216,6 +216,104 @@ function M:PublicJoinRoom(cmd, roomid, tem, callback, group_id, pid) end) end +local witness_room_frame = 0 +---comment 房间观战进入协议 +---@param cmd string 协议号 +---@param roomid number 房间号 +---@param group_id number 亲友圈id +---@param callback function 回调函数 +function M:PublicWitnessRoom(cmd, roomid, group_id, callback) + printlog("公共观战房间接口=============PublicWitnessRoom") + -- 同一帧不重复调用 + local last_frame = join_room_frame + join_room_frame = Time.frameCount + if join_room_frame == last_frame then + return + end + -- 防止游戏没有离开控制器 + ControllerManager.ChangeController(RoomController) + local _data = {} + _data["room_id"] = roomid + _data["id"] = group_id + _data["platform"] = GetPlatform() + pt(_data) + local _client = ControllerManager.GroupClient + _client:send(cmd, _data, function(res) + printlog("++++++++++++111111111111111111111111111111111111") + pt(res) + if (res.ReturnCode == 0) then + local json = res.Data + local game_info = json["game_info"] + pt(game_info) + if ExtendHotupdate.CheckVersion(game_info) ~= ExtendHotupdate.VERSION_NORMAL then + ExtendHotupdate.UpdateGame(game_info, function() + res.ReturnCode = -2 + callback(res) + end) + return + end + local game_id = game_info.game_id + local server_ip = json["server_ip"] + local server_port = json["server_port"] + + local room = ExtendManager.GetExtendConfig(game_id):NewRoom() + room.lev = json["lev"] -- 自己在当前房间所在圈子的职位,1盟主,2管理员,3用户,非圈子房间就是3 + room.room_id = json["room_id"] + room.game_id = game_id + room.status = json["status"] + room.server_host = string.concat(server_ip, ":", server_port) + room.session = _client:getSession() + -- 圈子信息,圈子id和玩法id + room.group_id = json["groupId"] + -- 圈子禁止文字聊天,禁止语音聊天 + room.ban_chat1 = json["ban_chat1"] + room.ban_chat2 = json["ban_chat2"] + -- 玩法id + room.play_id = json["pid"] + -- 体力值开关 + room.hpOnOff = json["hpOnOff"] + -- 体力值倍数 + room.score_times = d2ad(json.hp_times) or 1 + DataManager.CurrenRoom = room + local j_data = {} + if not DataManager.SelfUser.location then + DataManager.SelfUser.location = Location.new() + end + j_data["pos"] = DataManager.SelfUser.location:Location2String() + printlog("++++++++++++++++++++++++++++++++++++++++++") + __ConntectGameServer(Protocol.GAME_JOIN_ROOM, room, room.server_host, j_data, function(res1) + printlog("===============================-------------") + pt(res1) + ControllerManager.IsSendCard = false + if (res1.ReturnCode ~= 0) then + if (callback) then callback(res1) end + else + ControllerManager.enterPlayerData = res1.Data.tableInfo.playerData + local _s2croom = res1.Data + room.owner_id = _s2croom["owner"] + if _s2croom.createTime then + room.create_time = _s2croom["createTime"] + end + if _s2croom.manor then + room.banker_seat = _s2croom.manor + end + room.agent = _s2croom.agent == 1 and true or false + -- ControllerManager.SetGameNetClient(game_net) + local extend = ExtendManager.GetExtendConfig(room.game_id) + extend:FillRoomData(_s2croom) + ControllerManager.ChangeController(GameController) + local gamectr = ControllerManager.GetCurrenController() + gamectr.tmpRoomID = room.room_id + gamectr.tmpGroupID = room.group_id + if callback then callback(res1) end + end + end) + else + if callback then callback(res) end + end + end) +end + function M:JoinRoom(room_id, callback) self:PublicJoinRoom(Protocol.WEB_JOIN_ROOM, room_id, false, callback, group_id, group_layer) end diff --git a/lua_probject/base_project/Game/Protocol.lua b/lua_probject/base_project/Game/Protocol.lua index ac36db27..5fc4c833 100644 --- a/lua_probject/base_project/Game/Protocol.lua +++ b/lua_probject/base_project/Game/Protocol.lua @@ -335,6 +335,9 @@ Protocol = { -- 圈子删除房间 WEB_FG_DEL_ROOM = "group/room/del__room", + -- 圈子观战房间 + WEB_FG_Witness_ROOM = "group/room/3013", + -------------- group-mgr -------------------- -- 进入圈子 FGMGR_ENTER_GROUP = "11001", diff --git a/lua_probject/base_project/Game/View/FamilyView.lua b/lua_probject/base_project/Game/View/FamilyView.lua index 12eb3bcb..a01c1136 100644 --- a/lua_probject/base_project/Game/View/FamilyView.lua +++ b/lua_probject/base_project/Game/View/FamilyView.lua @@ -208,6 +208,7 @@ function M:UpdateFamilyRoom(fgCtr, id) roomList[newIndex].id) obj:GetChild('btn_joinGame'):GetController('type').selectedIndex = 1 obj:GetController('num').selectedIndex = roomList[newIndex].maxPlayers - 2 + obj:GetController('type').selectedIndex = 1 local plist = roomList[newIndex].plist local insertName = "" for i = 1, #plist do @@ -219,7 +220,7 @@ function M:UpdateFamilyRoom(fgCtr, id) roomCtr:PublicJoinRoom( Protocol.WEB_FG_JOIN_ROOM, roomList[newIndex].id, - false, + id, function(response) if (response.ReturnCode == -1) then ViewUtil.ErrorMsg(self._root_view, response.ReturnCode, 'response.ReturnCode == -1') @@ -240,6 +241,29 @@ function M:UpdateFamilyRoom(fgCtr, id) roomList[newIndex].pid ) end) + obj:GetChild('btn_watch').onClick:Set(function() + roomCtr:PublicWitnessRoom( + Protocol.WEB_FG_Witness_ROOM, + roomList[newIndex].id, + id, + function(response) + if (response.ReturnCode == -1) then + ViewUtil.ErrorMsg(self._root_view, response.ReturnCode, 'response.ReturnCode == -1') + -- RestartGame() + return + end + + if response.ReturnCode ~= 0 then + ViewUtil.ErrorMsg(self._root_view, response.ReturnCode, '进入房间失败') + -- ViewManager.ChangeView(ViewManager.View_Lobby) + return + else + ViewManager.ChangeView(ViewManager.View_Main, playGameInfoTable[roomList[newIndex].pid] + .gameId) + end + end + ) + end) else local newIndex = index - #roomList + 1 local config = ExtendManager.GetExtendConfig(playList[newIndex].gameId) diff --git a/lua_probject/base_project/Game/View/MainView.lua b/lua_probject/base_project/Game/View/MainView.lua index a77e6933..2942fb04 100644 --- a/lua_probject/base_project/Game/View/MainView.lua +++ b/lua_probject/base_project/Game/View/MainView.lua @@ -231,6 +231,21 @@ function M:InitView(url, isHideIpAdds) end)--]] end + local chatText = _view:GetChild('btn_sendText') + if chatText then + chatText.onClick:Add(function() + if self.chat_view == nil then + self.chat_view = ChatView.new(self) + end + if self._room.ban_chat1 then + if self.chat_view.HideInputField then + self.chat_view:HideInputField() + end + end + self.chat_view:Show() + end) + end + local btn_ready = _view:GetChild('btn_ready') if btn_ready ~= nil then btn_ready.onClick:Set(function() diff --git a/lua_probject/base_project/Game/View/RoomInfoView.lua b/lua_probject/base_project/Game/View/RoomInfoView.lua index df515ea8..2a8b874e 100644 --- a/lua_probject/base_project/Game/View/RoomInfoView.lua +++ b/lua_probject/base_project/Game/View/RoomInfoView.lua @@ -3,78 +3,40 @@ RoomInfoView = {} local M = RoomInfoView function RoomInfoView.new(_room, auto_close) - setmetatable(M, {__index = BaseWindow}) - local self = setmetatable({}, {__index = M}) + setmetatable(M, { __index = BaseWindow }) + local self = setmetatable({}, { __index = M }) self.class = "RoomInfoView" self._close_destroy = true self._close_zone = true - self._auto_close = auto_close - self:init("ui://Common/GameRule",_room) + self:init("ui://Common/GameRule", _room) return self end -function M:init( url,_room ) - BaseWindow.init(self,url) + +function M:init(url, _room) + BaseWindow.init(self, url) self._close_time = 3 local _mainView = self._view - - self._view:GetChild("btn_close2").onClick:Add(function() - self:Destroy() - end) - self:FillRoomConfig(self._view:GetChild("rule"),_room) - - self:FillGameConfig(self._view:GetChild("point"),_room) - --self:FillGameConfig(_room) + + self:FillRoomConfig(self._view:GetChild("rule"), _room) end -function M:FillRoomConfig(roominfo_panel,_room) - if _room.room_id and _room.room_id ~= "" then - local tex_roomid = roominfo_panel:GetChild("tex_roomid") - tex_roomid.text = _room.room_id - else - roominfo_panel:GetController("hide_id").selectedIndex = 1 - end +function M:FillRoomConfig(roominfo_panel, _room) + local config = ExtendManager.GetExtendConfig(_room.game_id) + local mode = config:GetGameInfo() + local gamePlay = mode:LoadConfigToDetail(json.encode(_room.room_config.config)) local tex_gametype = roominfo_panel:GetChild("tex_gametype") tex_gametype.text = _room.room_config:GetGameName() local tex_roomconfig = roominfo_panel:GetChild("tex_roomconfig") - tex_roomconfig.text = _room.room_config:GetDes() + tex_roomconfig.text = gamePlay end -function M:FillGameConfig(parentP,_room) - --local tex_roomconfig = roominfo_panel:GetChild("tex_roomconfig") - --tex_roomconfig.text = _room.room_config:GetGameJS() - --local tempX,tempY=_room.room_config:GetGameSMSize() - --if tempX and tempY then - -- tex_roomconfig:SetSize(tempX,tempY) - --end - - --[[local gameR=_room.room_config:GetGameJS() - if gameR then - parentP:AddChild(gameR) - end--]] -end - - function M:Show() BaseWindow.Show(self) if self._run_close then coroutine.stop(self._run_close) end - if self._auto_close then - self._view:GetController("auto_close").selectedIndex = 1 - self._run_close = coroutine.start(function() - while self._close_time > 0 do - local tex_time = self._view:GetChild("tex_time") - tex_time.text = "自动关闭剩余" .. self._close_time .. "s" - coroutine.wait(1) - self._close_time = self._close_time - 1 - end - self:Destroy() - end) - end end - - return M diff --git a/lua_probject/extend_project/extend/poker/runfast/RunFast_MainView.lua b/lua_probject/extend_project/extend/poker/runfast/RunFast_MainView.lua index 8d5da1c7..b9d25e34 100644 --- a/lua_probject/extend_project/extend/poker/runfast/RunFast_MainView.lua +++ b/lua_probject/extend_project/extend/poker/runfast/RunFast_MainView.lua @@ -217,9 +217,6 @@ function M:InitView(url) -- self._view:GetChild('Btn_GamePlay').onClick:Set(function() -- ViewUtil.ErrorMsg(self._view, "", "该功能还未开放") -- end) - self._view:GetChild('Btn_Check').onClick:Set(function() - ViewUtil.ErrorMsg(self._view, "", "该功能还未开放") - end) self._view:GetChild('Btn_Message').onClick:Set(function() ViewUtil.ErrorMsg(self._view, "", "该功能还未开放") end) diff --git a/lua_probject/main_project/main/majiang/MJMainView.lua b/lua_probject/main_project/main/majiang/MJMainView.lua index c3f4bfeb..8e71c46c 100644 --- a/lua_probject/main_project/main/majiang/MJMainView.lua +++ b/lua_probject/main_project/main/majiang/MJMainView.lua @@ -133,6 +133,14 @@ function M:InitView(url, use_custom_bg) self._ctr_action.selectedIndex = 0 end + local changeTable = self._view:GetChild('btn_change') + if changeTable then + changeTable.onClick:Set(function() + default_bg = default_bg + 1 > #bg_config and 1 or default_bg + 1 + TableBG.LoadTableBG(default_bg, self._room.game_id, self._root_view, bg_config) + end) + end + self:InitXiPai() self:InitXiPai1() end diff --git a/lua_probject/main_project/main/poker/PKCheckG.lua b/lua_probject/main_project/main/poker/PKCheckG.lua new file mode 100644 index 00000000..2515d753 --- /dev/null +++ b/lua_probject/main_project/main/poker/PKCheckG.lua @@ -0,0 +1,42 @@ +-- local EXMainView = import(".EXMainView") + +local PKCheckG = { +} +local M = PKCheckG +function PKCheckG.new() + setmetatable(M, { __index = BaseWindow }) + -- setmetatable(M, { __index = BaseWindow }) + local self = setmetatable({}, { __index = M }) + self.class = 'PKCheckG' + self._currenIndex = 0 + self._close_destroy = true + self:init('ui://Common/comp_checkG') + + return self +end + +function M:init(url) + BaseWindow.init(self, url) + + self._view:GetChild('btn_ok').onClick:Set(function() + self:Destroy() + end) + + self.valueTemp = 0 + self.silder = self._view:GetChild('slider_check') + local showText = self._view:GetChild('n3') + + self.coroutine = coroutine.start(function(...) + self.valueTemp = 0 + while self.valueTemp < 100 do + self.valueTemp = self.valueTemp + math.random(4) + self.silder.value = self.valueTemp + coroutine.wait(0.1) + end + showText.text = "检测完成,没有外挂痕迹" + coroutine.wait(2) + self:Destroy() + end) +end + +return M diff --git a/lua_probject/main_project/main/poker/PKMainView.lua b/lua_probject/main_project/main/poker/PKMainView.lua index 4ea61786..10166b80 100644 --- a/lua_probject/main_project/main/poker/PKMainView.lua +++ b/lua_probject/main_project/main/poker/PKMainView.lua @@ -1,5 +1,6 @@ local TableBG = import('Game.Data.TableBG') local PKSettingView = import('.PKSettingView') +local PKCheckG = import('.PKCheckG') local MainRightPanelView = import('Game.View.MainRightPanelView') --- @@ -76,6 +77,14 @@ function M:InitView(url, isHideIpAdds, settingViewType, ex_defaultbg, ex_bgconfi end self:InitXiPai() self:InitXiPai1() + + local checkG = self._view:GetChild('Btn_Check') + if checkG then + checkG.onClick:Set(function() + local checkG = PKCheckG.new() + checkG:Show() + end) + end end function M:InitXiPai() diff --git a/wb_new_ui/assets/Chat/Main.xml b/wb_new_ui/assets/Chat/Main.xml index 4f537c57..31162770 100644 --- a/wb_new_ui/assets/Chat/Main.xml +++ b/wb_new_ui/assets/Chat/Main.xml @@ -1,19 +1,20 @@ - + - + - +