dezhou_client/lua_probject/base_project/Game/View/NewGroup/FGInvitedMsgView.lua

79 lines
2.2 KiB
Lua
Raw Permalink Normal View History

2025-12-17 21:08:27 +08:00
-- 被邀请界面
local FGInvitedMsgView = {}
local M = FGInvitedMsgView
setmetatable(M, {__index = BaseWindow})
function FGInvitedMsgView.new(blur_view, group_id, callback)
local self = setmetatable({}, {__index = M})
self.class = "FGInvitedMsgView"
self._blur_view = blur_view
self._animation = true
self._close_destroy = true
self._close_time = 15
self.group_id = group_id
self.callback = callback
UIPackage.AddPackage("base/newgroup/ui/FGAssist")
self:init("ui://FGAssist/panel_invited")
return self
end
function M:FillData(data)
self._view:GetChild("tex_name").text = data.nick
self._view:GetChild("tex_id").text = "ID:" .. data.uid
local btn_head = self._view:GetChild("btn_head")
ImageLoad.Load(data.portrait, btn_head._iconObject)
local group = DataManager.groups:get(self.group_id)
local play = group:getPlay(data.pid)
self._view:GetChild("tex_play_name").text = play and play.name or pid
self._view:GetChild("tex_game_name").text = data.g_name
local btn_refuse = self._view:GetChild("btn_refuse")
local id = data.invi_id
local btn_yes = self._view:GetChild("btn_yes")
btn_yes.onClick:Set(function()
local refuse = btn_refuse.selected and 1 or 0
self:SendResponse(id, refuse)
self:Destroy()
if self.callback then
self.callback(data.roomid)
end
end)
local btn_no = self._view:GetChild("btn_no")
btn_no.onClick:Set(function()
local refuse = btn_refuse.selected and 1 or 0
self:SendResponse(id, refuse)
self:Destroy()
end)
self._co = coroutine.start(function()
while self._close_time > 0 do
coroutine.wait(1)
self._close_time = self._close_time - 1
self:ShowLeftTime()
end
self:Destroy()
end)
end
function M:ShowLeftTime()
self._view:GetChild("tex_left_time").text = self._close_time .. "s"
end
function M:SendResponse(id, refuse)
local mgr_ctr = ControllerManager.GetController(GroupMgrController)
mgr_ctr:FG_ResponseInvited(id, refuse)
end
function M:Destroy()
if self._co then
coroutine.stop(self._co)
self._co = nil
end
BaseWindow.Destroy(self)
end
return M