hengyang_client/lua_probject/base_project/Game/View/FamilyZuo/FamilyDissolveByRoomView.lua

114 lines
3.2 KiB
Lua
Raw Permalink Normal View History

2026-01-20 18:46:16 +08:00
local FamilyUtilInput = import(".FamilyUtilInput")
local FamilyDissolveByRoomView = {}
local M = FamilyDissolveByRoomView
function FamilyDissolveByRoomView.new(data, callback)
setmetatable(M, { __index = BaseWindow })
local self = setmetatable({}, { __index = M })
self.class = "FamilyDissolveByRoomView"
self._data = data
self._callback = callback
self._close_destroy = true
self:init("ui://Family/FamilyDissolveByRoom")
return self
end
function M:init(url)
getmetatable(M).__index.init(self, url)
local view = self._view
self._input = view:GetChild('input_text')
FamilyUtilInput:init(self._input, view:GetChild('comp_input'))
self._ctr_page = view:GetController('page')
view:GetChild('btn_search').onClick:Set(handler(self, self.ClickSearch))
view:GetChild('btn_returnPage0').onClick:Set(handler(self,self.ClickReturnPage0))
view:GetChild('btn_confirmDissolve').onClick:Set(handler(self, self.ClickDissolve))
self:FillData()
end
function M:ClickDissolve()
local _curren_msg =
MsgWindow.new(
self._root_view,
'确定要解散该房间吗?',
MsgWindow.MsgMode.OkAndCancel
)
_curren_msg.onOk:Add(
function()
ViewUtil.ShowModalWait2(self._root_view)
local fgCtr = ControllerManager.GetController(NewGroupController)
fgCtr:FG_RemoveRoom(
DataManager.CurrenGroup.id,
self._searchRoom.id,
function(res)
ViewUtil.CloseModalWait2()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, '删除房间失败!')
return
else
ViewUtil:ErrorTip('删除房间成功!')
self:ClickReturnPage0()
end
end
)
end
)
_curren_msg:Show()
end
function M:ClickSearch()
local group = DataManager.CurrenGroup
local view = self._view
for i, v in ipairs(group.rooms) do
if v.id == self._input.text then
local playInfo = group:getPlay(v.pid)
self._searchRoom = v
self._ctr_page.selectedIndex = 1
view:GetChild('text_roomType').text = string.format("%s/%s局", v.round, v.times)
view:GetChild('text_roomName').text = playInfo.name
view:GetChild('list_player'):RemoveChildrenToPool()
for i, v1 in ipairs(v.plist) do
local obj = view:GetChild('list_player'):AddItemFromPool()
obj:GetChild('text_name').text = v1.nick
ImageLoad.Load(v1.portrait, obj:GetChild('btn_head')._iconObject)
end
return
end
end
ViewUtil:ErrorTip("没有该房间号。")
end
function M:ClickReturnPage0()
self._searchRoom = nil
self._input.text = ""
self._ctr_page.selectedIndex = 0
end
function M:FillData()
self:Show()
end
-- 打开窗口
function M:Show()
getmetatable(M).__index.Show(self)
end
-- 关闭窗口
function M:Close()
getmetatable(M).__index.Close(self)
end
-- 销毁窗口
function M:Destroy()
getmetatable(M).__index.Destroy(self)
end
return M