-- 被邀请界面 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