79 lines
2.2 KiB
Lua
79 lines
2.2 KiB
Lua
-- 被邀请界面
|
|
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 |