-- <*
|
|
-- @Author: msh
|
|
-- @Description: 二级邀请提示界面view
|
|
-- *>
|
|
CommonAlertInviteTipView = CommonAlertInviteTipView or BaseClass(BaseView)
|
|
local CommonAlertInviteTipView = CommonAlertInviteTipView
|
|
|
|
function CommonAlertInviteTipView:__init()
|
|
self.base_file = "common"
|
|
self.layout_file = "CommonAlertInviteTipView"
|
|
self.layer_name = "Top"
|
|
self.destroy_imm = true
|
|
self.use_background = G_USING_BG --全屏界面默认使用这个参数
|
|
--self.hide_maincancas = true --全屏界面需要放开隐藏主UI
|
|
self.change_scene_close = true
|
|
self.append_to_ctl_queue = false --是否要添加进界面堆栈
|
|
self.need_show_money = false --是否要显示顶部的金钱栏
|
|
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:AddEvent()
|
|
end
|
|
self.open_callback = function ( )
|
|
self:UpdateView()
|
|
end
|
|
self.switch_callback = function(index)
|
|
self:SwitchTab(index)
|
|
end
|
|
self.destroy_callback = function ( )
|
|
self:DestroySuccess()
|
|
end
|
|
end
|
|
|
|
function CommonAlertInviteTipView:Open(invite_data)
|
|
self.invite_data = invite_data
|
|
-- 定制层级
|
|
self.layer_name = invite_data.layer_name or self.layer_name
|
|
self:InitNodesAndData()
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function CommonAlertInviteTipView:ReOpen(invite_data)
|
|
self.invite_data = invite_data
|
|
if self.is_loaded then
|
|
self:InitNodesAndData()
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function CommonAlertInviteTipView:InitNodesAndData( )
|
|
if self.is_loaded then
|
|
if self.vip_item then
|
|
self.vip_item:SetData(0)
|
|
end
|
|
self.lb_name_tmp.text = ""
|
|
self.lb_content_tmp.text = ""
|
|
end
|
|
self.auto_close_time = self.invite_data.auto_close_time or 10
|
|
-- self.waiting = false
|
|
-- self:ClearAutoCloseTimer()
|
|
-- self:ClearViewAnimId()
|
|
-- self:ClearDestroyTimer()
|
|
end
|
|
|
|
function CommonAlertInviteTipView:LoadSuccess()
|
|
local nodes = {
|
|
"Window:raw",
|
|
"Window/windowCloseBtn:obj",
|
|
"Window/windowTitleText:tmp",
|
|
"confirmBtn:obj","confirmBtn/lb_confirmBtn:tmp",
|
|
"refuseBtn:obj", "refuseBtn/lb_refuseBtn:tmp",
|
|
"con_vip:obj", "lb_name:tmp", "lb_content:tmp",
|
|
"lb_tip:tmp",
|
|
}
|
|
self:GetChildren(nodes)
|
|
self:UpdateBaseView( )
|
|
end
|
|
|
|
function CommonAlertInviteTipView:UpdateBaseView( )
|
|
lua_resM:setOutsideRawImage(self, self.Window_raw, GameResPath.GetViewBigBg("tips_comm_bg6"))
|
|
self.vip_item = RoleVipItem.New(self.con_vip)
|
|
self.vip_item:SetAnchoredPosition(0, 0)
|
|
self.vip_item:SetScale(0.84, 0.84)
|
|
self.windowCloseBtn_obj:SetActive(false)
|
|
SetAnchoredPositionX(self.lb_content, 0)
|
|
end
|
|
|
|
function CommonAlertInviteTipView:AddEvent()
|
|
local on_click = function ( click_obj )
|
|
if self.windowCloseBtn_obj == click_obj then
|
|
if self.invite_data and self.invite_data.reject_callback then
|
|
self.invite_data.reject_callback(self.invite_data)
|
|
end
|
|
self:CloseCallBack()
|
|
elseif self.confirmBtn_obj == click_obj then
|
|
if self.invite_data and self.invite_data.accept_callback then
|
|
self.invite_data.accept_callback(self.invite_data)
|
|
end
|
|
self:CloseCallBack()
|
|
elseif self.refuseBtn_obj == click_obj then
|
|
if self.invite_data and self.invite_data.reject_callback then
|
|
self.invite_data.reject_callback(self.invite_data)
|
|
end
|
|
self:CloseCallBack()
|
|
end
|
|
end
|
|
AddClickEvent(self.windowCloseBtn_obj, on_click)
|
|
AddClickEvent(self.confirmBtn_obj, on_click)
|
|
AddClickEvent(self.refuseBtn_obj, on_click)
|
|
end
|
|
|
|
-- 关闭界面并回调
|
|
function CommonAlertInviteTipView:CloseCallBack( )
|
|
self:Close()
|
|
CommonController.Instance:Fire(EventName.SHOW_COMMON_INVITE_TIPS)
|
|
end
|
|
|
|
function CommonAlertInviteTipView:UpdateView()
|
|
if self.invite_data.invite_type == CommonModel.InviteTipsType.Team then -- 组队邀请
|
|
local data = self.invite_data.param_data
|
|
local str = string.format('Lv.%s %s', data.level, HtmlColorTxt( data.name, ColorUtil.BLUE_DARK) )
|
|
self.lb_name_tmp.text = str
|
|
self.lb_content_tmp.text = "邀请与您组队,是否同意请求?"
|
|
|
|
-- -- 副本目标
|
|
-- local main_type = data.activity_id or ""
|
|
-- local sub_type = data.subtype or ""
|
|
-- local cfg = Config.Teamui[main_type.."@"..sub_type]
|
|
-- if cfg then
|
|
-- local txt = cfg.subtype_name
|
|
-- self.invite_content_tmp.text = "副本:" .. HtmlColorTxt( Trim(txt), "#fdffc2")
|
|
-- else
|
|
-- self.invite_content_tmp.text = "暂无目标"
|
|
-- end
|
|
end
|
|
-- 设置vip 并调整名字的位置
|
|
self.vip_item:SetData(self.invite_data.vip, self.invite_data.svip)
|
|
local pos_x = self.invite_data.vip > 0 and 10 or 0
|
|
SetAnchoredPositionX(self.lb_name, pos_x)
|
|
SetAnchoredPositionX(self.con_vip, pos_x - self.lb_name_tmp.preferredWidth / 2 - 20)
|
|
self:StartAutoCloseTimer()
|
|
end
|
|
|
|
-- 自动关闭倒计时
|
|
function CommonAlertInviteTipView:StartAutoCloseTimer( )
|
|
local end_time = self.auto_close_time + TimeUtil:getServerTime()
|
|
self:ClearAutoCloseTimer()
|
|
local function auto_close_func()
|
|
local left_time = end_time - TimeUtil:getServerTime()
|
|
|
|
if left_time > 0 then
|
|
if self.invite_data.invite_type == CommonModel.InviteTipsType.Team and
|
|
SceneManager:getInstance():IsBossMoneyScene() then
|
|
self.lb_tip_tmp.text = string.format('(%s)秒后自动同意', HtmlColorTxt( left_time, ColorUtil.GREEN_DARK) )
|
|
else
|
|
self.lb_tip_tmp.text = string.format('(%s)秒后自动拒绝', HtmlColorTxt( left_time, ColorUtil.GREEN_DARK))
|
|
end
|
|
elseif left_time <= 0 then
|
|
if self.invite_data.invite_type == CommonModel.InviteTipsType.Team and
|
|
SceneManager:getInstance():IsBossMoneyScene() then
|
|
if self.invite_data and self.invite_data.accept_callback then
|
|
self.invite_data.accept_callback(self.invite_data)
|
|
end
|
|
else
|
|
if self.invite_data and self.invite_data.reject_callback then
|
|
self.invite_data.reject_callback(self.invite_data)
|
|
end
|
|
end
|
|
self:ClearAutoCloseTimer()
|
|
self:CloseCallBack()
|
|
end
|
|
end
|
|
self.auto_close_func_id = GlobalTimerQuest:AddPeriodQuest(auto_close_func, 0.3, -1)
|
|
end
|
|
|
|
function CommonAlertInviteTipView:ClearAutoCloseTimer( )
|
|
if self.auto_close_func_id then
|
|
GlobalTimerQuest:CancelQuest(self.auto_close_func_id)
|
|
self.auto_close_func_id = nil
|
|
end
|
|
end
|
|
|
|
function CommonAlertInviteTipView:SwitchTab( index )
|
|
|
|
end
|
|
|
|
function CommonAlertInviteTipView:DestroySuccess( )
|
|
if self.vip_item then
|
|
self.vip_item:DeleteMe()
|
|
self.vip_item = nil
|
|
end
|
|
self:ClearAutoCloseTimer( )
|
|
end
|