|
require("game.common.CommonModel")
|
|
--require("game.common.InstructionView")
|
|
require("game.common.InstructionView2")
|
|
require("game.common.ComposeInstructionView")
|
|
--require("game.common.InstructionItem")
|
|
require("game.common.InstructionItem2")
|
|
require("game.common.InstructionSmallView")
|
|
require("game.common.InstructionSmallItem")
|
|
require("game.common.CalculatorView")
|
|
require("game.common.RoleLevelItem")
|
|
require("game.common.UpSuccessView")
|
|
require("game.common.UpSuccessAttrItem")
|
|
require("game.common.PropItem")
|
|
require("game.common.CommonHuntResultView")
|
|
require("game.common.CommonHuntResultView2")
|
|
require("game.common.uiComToggleTipView")--通用提示消耗界面
|
|
require("game.common.AddTimeView")--通用续费界面
|
|
require("game.common.SpecialTipView")--通用特殊提醒界面
|
|
require("game.common.SpecialTipViewTwo")--通用特殊提醒界面
|
|
require("game.common.SceneSpecialTipView")--场景内美术字显示: 升级 /接受任务/完成任务 的美术字
|
|
require("game.common.SceneSpecialBuffTipView")
|
|
require("game.common.EncourageTips")--通用鼓舞界面
|
|
require("game.common.ComAwardResultView")--通用奖励结算界面
|
|
require("game.common.BeenAttackTips")--通用受击tip界面
|
|
require("game.common.BuyTimeTips")--通用购买次数界面(和vip挂钩)
|
|
require("game.common.CommonSkillTips")--通用技能tips
|
|
require("game.common.CommonSkillTipsDesItem")--通用技能tips描述节点
|
|
require("game.common.ComDialogueShowView")--通用对话功能界面
|
|
require("game.common.CommonActivityIconTipView")--通用小提示界面(首充用过)
|
|
require("game.common.RechargeTipView")--通用充值提醒(带快速充值)
|
|
require("game.common.ActivityTipView")--活动提示界面
|
|
require("game.common.ExitTimeTip")--退出场景倒计时
|
|
require("game.common.StartTimeTip")--活动开始321倒计时
|
|
require("game.common.BossAlertView") -- 通用boss预警动画界面
|
|
require("game.common.CommonMultiKillCon")--通用连杀节点
|
|
require("game.common.CommonAwardFlyView")--通用奖励飞行界面(参考装备精炼)
|
|
require("game.common.CommonInviteTipView")--通用邀请tip界面
|
|
require("game.common.ExitConView")--右上角按钮容器界面
|
|
require("game.common.ComSpecialTaskRewardView") -- 奖励展示界面(华丽)
|
|
require("game.common.ComSpecialTaskRewardItem") -- 奖励展示item
|
|
require("game.common.CommonActTipView") -- 通用活动特殊提示弹窗
|
|
require("game.common.ExitBtnView") --通用退出按钮界面
|
|
require("game.common.GotoComponent") --副本箭头
|
|
require("game.common.SpercificSceneActivityTipView") --特殊场景活动tips弹窗
|
|
require("game.common.PsionicArmorCircleItem") -- 圣物特殊处理的圆形awardItem
|
|
require("game.common.ComActRemindTipView") --
|
|
require("game.common.CommonAuctionTips")--拍卖行竞价被超过的提示
|
|
require("game.common.CommonAlertInviteTipView") -- 组队提示二级弹窗
|
|
|
|
CommonController = CommonController or BaseClass(BaseController)
|
|
function CommonController:__init()
|
|
CommonController.Instance = self
|
|
self.model = CommonModel:getInstance()
|
|
self:InitEvent()
|
|
end
|
|
|
|
function CommonController:InitEvent()
|
|
local function on_game_start()
|
|
self.model:Reset()
|
|
end
|
|
GlobalEventSystem:Bind(EventName.GAME_START, on_game_start)
|
|
|
|
local function chnage_day_func(type)
|
|
if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点
|
|
self.model.event_invite_cache = {} -- 清空活动邀请缓存
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(EventName.CHANE_DAY, chnage_day_func)
|
|
|
|
local onCommonAwardFlyView = function(show, data)--通用奖励飞行界面
|
|
data = data or {}
|
|
self:OpenView("CommonAwardFlyView", show, data)
|
|
end
|
|
GlobalEventSystem:Bind(EventName.OPEN_COM_AWARD_FLY_VIEW, onCommonAwardFlyView)
|
|
|
|
local onOpenRechargeTipView = function(show, data)
|
|
data = data or {}
|
|
-- 如果外部有直接传足够彩钻的回调时,在这里一起判断了,不够再走通用的快充界面流程
|
|
if show and data.price and data.enough_callback then
|
|
if GoodsModel:getInstance():IsJinEnough(data.price) then
|
|
data.enough_callback()
|
|
return
|
|
end
|
|
end
|
|
self:OpenView("RechargeTipView", show, data)
|
|
end
|
|
GlobalEventSystem:Bind(EventName.OPEN_RECHARGE_TIP_VIEW, onOpenRechargeTipView)
|
|
|
|
local onOpenuiComToggleTipView = function (data)--通用提示消耗界面--no_cost代表不是消耗钻石 是充值钻石提示(充值提示就不需要再弹一个这个了)
|
|
-- 对于钻石消耗类型,做一个拦截,钻石不够,直接打开快速充值界面
|
|
if data and not data.no_cost and (not data.gold_res or data.gold_res == "ui_momey_icon_1") then
|
|
local jin = RoleManager.Instance.mainRoleInfo.jin
|
|
if jin < data.price then -- 彩钻不足,拦截提示消耗界面,打开快速充值界面
|
|
local rc_data = {
|
|
price = data.price,
|
|
qc_type = data.qc_type or 0,
|
|
close_callback = data.jump_recharge_callback,
|
|
}
|
|
onOpenRechargeTipView(true, rc_data)
|
|
return
|
|
end
|
|
end
|
|
-- 正常的通用提示消耗界面
|
|
if self.uiComToggleTipView == nil then
|
|
self.uiComToggleTipView = uiComToggleTipView.New()
|
|
end
|
|
if self.uiComToggleTipView:HasOpen() then
|
|
self.uiComToggleTipView:UpdateView(data)
|
|
else
|
|
self.uiComToggleTipView:Open(data)
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(EventName.OPEN_COM_TOGGLE_TIP_VIEW, onOpenuiComToggleTipView)
|
|
|
|
local onOpenComAwardResultView = function (data)--通用奖励结算界面
|
|
-- data = {
|
|
-- award = {{100,230001,1},{100,230001,1},},
|
|
-- title_ab_name = "common_asset",
|
|
-- title_res = "com_award_result_title",
|
|
-- }
|
|
GiftModel:getInstance():Fire(GiftModel.CLOSE_NORMAL_VIEW)
|
|
if self.ComAwardResultView == nil then
|
|
self.ComAwardResultView = ComAwardResultView.New()
|
|
end
|
|
if self.ComAwardResultView:HasOpen() then
|
|
self.ComAwardResultView:UpdateView(data)
|
|
else
|
|
self.ComAwardResultView:Open(data)
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(EventName.OPEN_COM_AWARD_RESULT_VIEW, onOpenComAwardResultView)
|
|
|
|
--关闭普通奖励界面
|
|
local function closeNormalView()
|
|
if self.ComAwardResultView and self.ComAwardResultView:HasOpen() then
|
|
self.ComAwardResultView:Close()
|
|
end
|
|
self.ComAwardResultView = nil
|
|
end
|
|
GlobalEventSystem:Bind(EventName.CLOSE_COM_AWARD_RESULT_VIEW, closeNormalView)
|
|
|
|
-- 比通用的奖励展示 华丽一点的奖励展示界面
|
|
local onOpenComSpecialTaskRewardView = function (data)--通用奖励结算界面
|
|
local data = data or {
|
|
award = {{100,230001,1},{100,230001,1},},
|
|
title_ab_name = "common_asset",
|
|
title_res = "com_award_result_title",
|
|
}
|
|
GiftModel:getInstance():Fire(GiftModel.CLOSE_NORMAL_VIEW)
|
|
if self.ComSpecialTaskRewardView == nil then
|
|
self.ComSpecialTaskRewardView = ComSpecialTaskRewardView.New()
|
|
end
|
|
if self.ComSpecialTaskRewardView:HasOpen() then
|
|
self.ComSpecialTaskRewardView:UpdateView(data)
|
|
else
|
|
self.ComSpecialTaskRewardView:Open(data)
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(EventName.OPEN_SPECIAL_AWARD_RESULT_VIEW, onOpenComSpecialTaskRewardView)
|
|
|
|
local function onOpenInstructionView(index,extra)
|
|
if self.instruction_view == nil then
|
|
self.instruction_view = InstructionView.New()
|
|
end
|
|
if not self.instruction_view:HasOpen() then
|
|
self.instruction_view:Open(index,extra)
|
|
else
|
|
self.instruction_view:Close()
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_INSTRUCTION_VIEW,onOpenInstructionView)
|
|
|
|
local function onOpenInstructionView2(index)
|
|
do return end
|
|
if self.instruction_view2 == nil then
|
|
self.instruction_view2 = InstructionView2.New()
|
|
end
|
|
if not self.instruction_view2:HasOpen() then
|
|
self.instruction_view2:Open(index)
|
|
else
|
|
self.instruction_view2:Close()
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_INSTRUCTION_VIEW_2,onOpenInstructionView2)
|
|
|
|
local function onOpenComposeInstructionView(data)
|
|
if self.compose_instruction_view == nil then
|
|
self.compose_instruction_view = ComposeInstructionView.New()
|
|
end
|
|
if not self.compose_instruction_view:HasOpen() then
|
|
self.compose_instruction_view:Open(data)
|
|
else
|
|
self.compose_instruction_view:Close()
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_COMPOSE_INSTRUCTION_VIEW, onOpenComposeInstructionView)
|
|
|
|
local function onOpenInstructionSmallView(index,x,y)
|
|
if self.instruction_small_view == nil then
|
|
self.instruction_small_view = InstructionSmallView.New()
|
|
end
|
|
if not self.instruction_small_view:HasOpen() then
|
|
self.instruction_small_view:Open(index,x,y)
|
|
else
|
|
self.instruction_small_view:Close()
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_INSTRUCTION_SMALL_VIEW,onOpenInstructionSmallView)
|
|
|
|
local function onOpenCalculatorView(max_count,call_back,pos,type, min_price)
|
|
if self.CalculatorView == nil then
|
|
self.CalculatorView = CalculatorView.New()
|
|
end
|
|
|
|
if pos then
|
|
self.CalculatorView.localPos = pos
|
|
end
|
|
|
|
if not self.CalculatorView:HasOpen() then
|
|
self.CalculatorView:Open(max_count,call_back,type, min_price)
|
|
else
|
|
self.CalculatorView:Close()
|
|
end
|
|
|
|
end
|
|
self:Bind(EventName.OPEN_CALCULATOR_VIEW,onOpenCalculatorView)
|
|
|
|
local function onOpenUpSuccessView(data)
|
|
if not data then return end
|
|
if self.upsuccessview == nil then
|
|
self.upsuccessview = UpSuccessView.New()
|
|
end
|
|
if not self.upsuccessview:HasOpen() then
|
|
self.upsuccessview:Open(data)
|
|
else
|
|
self.upsuccessview:Close()
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_UPGRADE_SHOW_VIEW,onOpenUpSuccessView)
|
|
|
|
local function onOpenCommonHuntResultView(target_list, close_call, btn1_call, btn2_call, maskBtn_call, animEnd_call, parm_list)
|
|
if self.CommonHuntResultView == nil then
|
|
self.CommonHuntResultView = CommonHuntResultView.New()
|
|
end
|
|
if not self.CommonHuntResultView:HasOpen() then
|
|
self.CommonHuntResultView:Open(target_list, close_call, btn1_call, btn2_call, maskBtn_call, animEnd_call, parm_list)
|
|
else
|
|
self.CommonHuntResultView:Close()
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_HUNT_RESULT_VIEW, onOpenCommonHuntResultView)
|
|
|
|
local function onOpenCommonHuntResultView2(target_list, close_call, btn1_call, btn2_call, maskBtn_call, animEnd_call, parm_list)
|
|
if self.CommonHuntResultView2 == nil then
|
|
self.CommonHuntResultView2 = CommonHuntResultView2.New()
|
|
end
|
|
if not self.CommonHuntResultView2:HasOpen() then
|
|
self.CommonHuntResultView2:Open(target_list, close_call, btn1_call, btn2_call, maskBtn_call, animEnd_call, parm_list)
|
|
else
|
|
self.CommonHuntResultView2:Close()
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_HUNT_RESULT_VIEW2, onOpenCommonHuntResultView2)
|
|
|
|
local function on_open_add_time_view( data )
|
|
if self.AddTimeView == nil then
|
|
self.AddTimeView = AddTimeView.New()
|
|
end
|
|
self.AddTimeView:Open(data)
|
|
end
|
|
GlobalEventSystem:Bind(EventName.OPEN_ADD_TIME_VIEW, on_open_add_time_view)
|
|
|
|
|
|
local function OPEN_SPECIALTIPVIEW(data,layout_file_type, layer_name)
|
|
data = data or false
|
|
if data == false then
|
|
if self.special_tip_view ~= nil and self.special_tip_view:HasOpen() then
|
|
self.special_tip_view:Close()
|
|
end
|
|
return
|
|
end
|
|
|
|
local layout_file_type = layout_file_type or 1 --默认为1
|
|
local layer_name = layer_name or "Main"
|
|
data.type = data.type or SpecialTipType.Normal
|
|
if self.special_tip_view == nil then
|
|
self.special_tip_view = SpecialTipView.New(layout_file_type,layer_name)
|
|
end
|
|
if not self.special_tip_view:HasOpen() then
|
|
self.special_tip_view:Open(data,layout_file_type,layer_name)
|
|
else
|
|
self.special_tip_view:UpdateTips(data,layout_file_type,layer_name)
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_SPECIALTIPVIEW, OPEN_SPECIALTIPVIEW)
|
|
|
|
local function CLOSE_SPECIALTIPVIEW()
|
|
if self.special_tip_view then
|
|
self.special_tip_view:Close()
|
|
self.special_tip_view = nil
|
|
end
|
|
end
|
|
self:Bind(EventName.CLOSE_SPECIALTIPVIEW, CLOSE_SPECIALTIPVIEW)
|
|
|
|
local function ON_OPEN_SPECIALTIPVIEW_TWO(data)
|
|
if self.special_tip_view2 == nil then
|
|
self.special_tip_view2 = SpecialTipViewTwo.New()
|
|
end
|
|
if not self.special_tip_view2:HasOpen() then
|
|
self.special_tip_view2:Open(data)
|
|
else
|
|
self.special_tip_view2:UpdateTips(data)
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_SPECIALTIPVIEW_TWO, ON_OPEN_SPECIALTIPVIEW_TWO)
|
|
|
|
local function ON_CLOSE_SPECIALTIPVIEW_TWO()
|
|
if self.special_tip_view2 then
|
|
self.special_tip_view2:Close()
|
|
self.special_tip_view2 = nil
|
|
end
|
|
end
|
|
self:Bind(EventName.CLOSE_SPECIALTIPVIEW_TWO, ON_CLOSE_SPECIALTIPVIEW_TWO)
|
|
|
|
--场景表现/场景内美术字.psd :升级 /接受任务/完成任务 的美术字
|
|
local function func_OPEN_SCENESPECIALTIPVIEW(data)
|
|
if self.scene_special_tip_view == nil then
|
|
self.scene_special_tip_view = SceneSpecialTipView.New()
|
|
end
|
|
if not self.scene_special_tip_view:HasOpen() then
|
|
self.scene_special_tip_view:Open(data)
|
|
else
|
|
self.scene_special_tip_view:UpdateTips(data)
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_SCENESPECIALTIPVIEW, func_OPEN_SCENESPECIALTIPVIEW)
|
|
|
|
local function CLOSE_SCENESPECIALTIPVIEW()
|
|
if self.scene_special_tip_view then
|
|
self.scene_special_tip_view:Close()
|
|
self.scene_special_tip_view = nil
|
|
end
|
|
end
|
|
self:Bind(EventName.CLOSE_SCENESPECIALTIPVIEW, CLOSE_SCENESPECIALTIPVIEW)
|
|
|
|
local function func_OPEN_SCENESPECIALBUFFTIPVIEW(data)
|
|
if self.scene_special_buff_tip_view == nil then
|
|
self.scene_special_buff_tip_view = SceneSpecialBuffTipView.New()
|
|
end
|
|
if not self.scene_special_buff_tip_view:HasOpen() then
|
|
self.scene_special_buff_tip_view:Open(data)
|
|
else
|
|
self.scene_special_buff_tip_view:UpdateTips(data)
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_SCENESPECIALBUFFTIPVIEW, func_OPEN_SCENESPECIALBUFFTIPVIEW)
|
|
|
|
local function CLOSE_SCENESPECIALBUFFTIPVIEW()
|
|
if self.scene_special_buff_tip_view then
|
|
self.scene_special_buff_tip_view:Close()
|
|
self.scene_special_buff_tip_view = nil
|
|
end
|
|
end
|
|
self:Bind(EventName.CLOSE_SCENESPECIALBUFFTIPVIEW, CLOSE_SCENESPECIALBUFFTIPVIEW)
|
|
|
|
--通用鼓舞界面
|
|
local function SHOW_ENCOURAGE_TIPS(show_type,data,encourageType,extra_param_list)
|
|
show_type = show_type or EncourageTips.ShowType.Open
|
|
-------------------------
|
|
if show_type == EncourageTips.ShowType.Close then
|
|
if self.encourage_tips then
|
|
self.encourage_tips:Close()
|
|
self.encourage_tips = nil
|
|
end
|
|
else
|
|
if self.encourage_tips == nil then
|
|
if show_type == EncourageTips.ShowType.Update then
|
|
return
|
|
end
|
|
self.encourage_tips = EncourageTips.New(encourageType)
|
|
end
|
|
if not self.encourage_tips:HasOpen() then
|
|
self.encourage_tips:Open(data)
|
|
else
|
|
self.encourage_tips:UpdateTips(data,extra_param_list)
|
|
end
|
|
end
|
|
end
|
|
self:Bind(EventName.SHOW_ENCOURAGE_TIPS, SHOW_ENCOURAGE_TIPS)
|
|
|
|
local function loadComplete()
|
|
local is_show = SceneManager:getInstance():IsShowBeenAttackTips( )
|
|
if is_show then
|
|
self.beenattacktips = self.beenattacktips or BeenAttackTips.New()
|
|
if not self.beenattacktips:HasOpen() then
|
|
self.beenattacktips:Open()
|
|
end
|
|
else
|
|
if self.beenattacktips then
|
|
self.beenattacktips:Close()
|
|
end
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE, loadComplete)
|
|
|
|
local function OPEN_BUY_TIME_TIPS(show_data)
|
|
if not show_data then return end
|
|
-------------------------
|
|
self.buytimetips = self.buytimetips or BuyTimeTips.New()
|
|
if not self.buytimetips:HasOpen() then
|
|
self.buytimetips:Open(show_data)
|
|
else
|
|
self.buytimetips:SetShow(show_data)
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_BUY_TIME_TIPS, OPEN_BUY_TIME_TIPS)
|
|
|
|
--通用技能tips
|
|
local function OPEN_COMMON_SKILL_TIPS(show_data)
|
|
-- self.data = {
|
|
-- skill_id = 0,--(必填)
|
|
-- skill_lv = 1,
|
|
-- title_name = "界面标题",--界面标题
|
|
-- skill_name = "技能名",
|
|
-- active_des = "激活状态",
|
|
-- name_extra = "技能名下面那里的描述",
|
|
-- -------------------------
|
|
-- tab_title_1 = "技能效果",
|
|
-- tab_title_2 = "内容标题栏2(激活条件)",
|
|
-- content_1 = "技能描述1(技能效果描述)",
|
|
-- content_2 = "技能描述2(技能激活条件)",
|
|
-- }
|
|
if not show_data then return end
|
|
-------------------------
|
|
self.commonskilltips = self.commonskilltips or CommonSkillTips.New()
|
|
if not self.commonskilltips:HasOpen() then
|
|
self.commonskilltips:Open(show_data)
|
|
else
|
|
self.commonskilltips:SetShow(show_data)
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_COMMON_SKILL_TIPS, OPEN_COMMON_SKILL_TIPS)
|
|
|
|
local function onOpenActivityIconTipView(str,x,y)
|
|
if self.common_activity_icon_tip_view == nil then
|
|
self.common_activity_icon_tip_view = CommonActivityIconTipView.New()
|
|
end
|
|
if not self.common_activity_icon_tip_view:HasOpen() then
|
|
self.common_activity_icon_tip_view:Open(str,x,y)
|
|
else
|
|
self.common_activity_icon_tip_view:UpdateView(str,x,y)
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_ACTIVITY_ICON_TIP_VIEW, onOpenActivityIconTipView)
|
|
|
|
local function CLOSE_ACITVITY_TIP( module_id,sub_id )
|
|
sub_id = sub_id or 0
|
|
--关闭活动提示界面
|
|
-------------------------
|
|
--把缓存列表的拿出来
|
|
self.model:GetActivityNotictOneInfo(module_id,sub_id)
|
|
if self.ActivityTipView and (self.ActivityTipView.module_id == module_id) and (self.ActivityTipView.sub_id == sub_id) then
|
|
self.ActivityTipView:CloseBtnCall()
|
|
end
|
|
end
|
|
self:Bind(EventName.CLOSE_ACITVITY_TIP, CLOSE_ACITVITY_TIP)
|
|
|
|
local function openAcitvityTipCall( module_id,sub_id,need_clock,fixed_str,is_loading, open_from_click )
|
|
sub_id = sub_id or 0
|
|
--open_from_click 防止自己点图标被下面过滤不弹的情况
|
|
if (not open_from_click) and self.model:MaskOpenActTip( module_id,sub_id ) then
|
|
CLOSE_ACITVITY_TIP(module_id,sub_id)
|
|
return
|
|
end
|
|
--module_id,sub_id对应活动日历表Config.Ac,sub_id不传会默认设为0
|
|
--need_clock,只有活动已经开启的自动弹窗需要传true,显示10秒倒计时进入玩法
|
|
--fixed_str,在ActivityIcon的点击回调要传值,传值参考温泉418,用来显示按钮文本例如:18:00开启
|
|
--is_loading,场景加载检查用的,被迫加了个参数,这个参数外部调用不需要处理传值
|
|
-------------------------
|
|
local data = ActivityTipView.Data[module_id .. "@" .. sub_id]
|
|
if data and data.open_module then
|
|
if not GetModuleIsOpen(data.open_module[1],data.open_module[2]) then
|
|
--活动未开放
|
|
return
|
|
end
|
|
end
|
|
-------------------------
|
|
local is_loading = is_loading or (not Scene.Instance:IsProgressLoadFinish())--0说明是刚上线
|
|
local function open_call( module_id,sub_id,need_clock,fixed_str )
|
|
if not self.ActivityTipView then
|
|
self.ActivityTipView = ActivityTipView.New()
|
|
self.ActivityTipView:Open( module_id,sub_id,need_clock,fixed_str )
|
|
AdvertisementModel:getInstance():AddConflictViewState( AdvertisementModel.CONFLICT_VIEW.BEACH, true )
|
|
else
|
|
--如果已经开了一个界面,那就继续存着先
|
|
self.model:AddActivityNotice(module_id,sub_id,need_clock,fixed_str,is_loading)
|
|
end
|
|
end
|
|
-------------------------
|
|
if Scene.Instance:IsProgressLoadFinish() and (SceneManager:getInstance():IsMainCityAndFieldScene() or (not need_clock)) then
|
|
--主城或者野外
|
|
--只有活动开启弹出的要检查场景,其它都是玩家自己点击弹的
|
|
open_call(module_id,sub_id,need_clock,fixed_str)
|
|
else
|
|
self.model:AddActivityNotice(module_id,sub_id,need_clock,fixed_str,is_loading)
|
|
end
|
|
end
|
|
self:Bind(EventName.OPEN_ACITVITY_TIP,openAcitvityTipCall)
|
|
|
|
local function scene_start_func( )
|
|
--切场景检查一下要不要提示活动信息
|
|
if SceneManager:getInstance():IsMainCityAndFieldScene() then
|
|
local notice_info = self.model:GetActivityNotictOneInfo()
|
|
if notice_info then
|
|
--如果玩法开启时玩家不处于大世界,待回到大世界同样需要自动弹出玩法界面,但无需倒计时
|
|
if SceneManager:getInstance():GetLastSceneId() ~= 0 then
|
|
--普通切场景的触发,就不需要倒计时了
|
|
openAcitvityTipCall(notice_info.module_id,notice_info.sub_id, nil,nil,notice_info.is_loading)
|
|
else
|
|
--断线重连或者刚登陆的情况要倒计时
|
|
openAcitvityTipCall(notice_info.module_id,notice_info.sub_id, notice_info.is_loading,nil,notice_info.is_loading)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE, scene_start_func)
|
|
|
|
local function onOpenExitTipView(data,show)
|
|
if show == nil then
|
|
show = true
|
|
end
|
|
self:OpenView("ExitTimeTip", show, data)
|
|
end
|
|
self:Bind(EventName.OPEN_EXIT_TIME_TIP, onOpenExitTipView)
|
|
|
|
-- local function onOpenExitBtnView(show,data)
|
|
-- if show == nil then
|
|
-- show = true
|
|
-- end
|
|
-- self:OpenView("ExitBtnView", show, data)
|
|
-- end
|
|
-- self:Bind(EventName.OPEN_EXIT_BTN_VIEW, onOpenExitBtnView)
|
|
|
|
local function onOpenStartTipView(data,show)
|
|
if show == nil then
|
|
show = true
|
|
end
|
|
self:OpenView("StartTimeTip", show, data)
|
|
end
|
|
self:Bind(EventName.OPEN_START_TIME_TIP, onOpenStartTipView)
|
|
|
|
-- 打开boss预警动画界面
|
|
local function open_boss_alert_view(show, sub_res, time_data)
|
|
self:OpenView("BossAlertView", show, sub_res, time_data)
|
|
end
|
|
self:Bind(EventName.OPEN_BOSS_ALERT_VIEW, open_boss_alert_view)
|
|
|
|
local function openCommonInviteTipView(data)
|
|
if data then
|
|
self.model:PushInviteDataCache(data)
|
|
end
|
|
if self.CommonActTipView and self.CommonActTipView:HasOpen() then--活动tips存在则关掉活动tips
|
|
GlobalEventSystem:Fire(EventName.CLOSE_COMMON_ACT_TIPS)
|
|
return
|
|
end
|
|
-- 缓存需数量大于0
|
|
local cache_count = self.model:GetInviteDataCacheCount()
|
|
if cache_count > 0 then
|
|
local pop_data = self.model:PopInviteDataCache(true)
|
|
local temp_layer_name = pop_data.layer_name or "Main"
|
|
-- 存在界面且层级不同且等待中时,需要立即关闭一次界面并重新创建
|
|
if self.CommonInviteTipView and self.CommonInviteTipView.waiting and self.CommonInviteTipView.layer_name ~= temp_layer_name then
|
|
self.CommonInviteTipView:Close()
|
|
self.CommonInviteTipView = nil
|
|
end
|
|
|
|
if not self.CommonInviteTipView then
|
|
self.CommonInviteTipView = CommonInviteTipView.New()
|
|
end
|
|
if pop_data.invite_type == CommonModel.InviteTipsType.Team and
|
|
SceneManager:getInstance():IsBossMoneyScene() then -- 商品幻魔中的组队邀请tip需要特殊二级界面
|
|
self:OpenAlertInviteTipView()
|
|
return
|
|
end
|
|
if not self.CommonInviteTipView:HasOpen() then
|
|
self.CommonInviteTipView:Open(self.model:PopInviteDataCache())
|
|
elseif self.CommonInviteTipView.waiting then
|
|
self.CommonInviteTipView:ReOpen(self.model:PopInviteDataCache())
|
|
end
|
|
else
|
|
local cache_count = self.model:GetActTipDataCacheCount()
|
|
if cache_count > 0 then
|
|
GlobalEventSystem:Fire(EventName.SHOW_COMMON_ACT_TIPS)
|
|
end
|
|
end
|
|
end
|
|
self:Bind(EventName.SHOW_COMMON_INVITE_TIPS, openCommonInviteTipView)
|
|
|
|
local function openCommonActTipView(data)--通用活动特殊提示弹窗
|
|
if data then
|
|
self.model:PushActTipDataCache(data)
|
|
end
|
|
if self.CommonInviteTipView and self.CommonInviteTipView:HasOpen() then--如果邀请界面正在持续中 这个就不要再弹了
|
|
return
|
|
end
|
|
local cache_count = self.model:GetActTipDataCacheCount()
|
|
if cache_count > 0 then
|
|
if not self.CommonActTipView then
|
|
self.CommonActTipView = CommonActTipView.New()
|
|
end
|
|
if not self.CommonActTipView:HasOpen() then
|
|
self.CommonActTipView:Open(self.model:PopActTipDataCache())
|
|
end
|
|
end
|
|
end
|
|
self:Bind(EventName.SHOW_COMMON_ACT_TIPS, openCommonActTipView)
|
|
|
|
local function openComActRemindTipView(data)--通用活动特殊提醒小弹窗
|
|
if data then
|
|
self.model:PushActRemindTipDataCache(data)
|
|
end
|
|
if self.ComActRemindTipView and self.ComActRemindTipView:HasOpen() then--如果邀请界面正在持续中 这个就不要再弹了
|
|
return
|
|
end
|
|
local cache_count = self.model:GetActRemindTipDataCacheCount()
|
|
if cache_count > 0 then
|
|
if not self.ComActRemindTipView then
|
|
self.ComActRemindTipView = ComActRemindTipView.New()
|
|
end
|
|
if not self.ComActRemindTipView:HasOpen() then
|
|
self.ComActRemindTipView:Open()
|
|
end
|
|
end
|
|
end
|
|
self:Bind(EventName.SHOW_COMMON_ACT_REMIND_TIPS, openComActRemindTipView)
|
|
|
|
|
|
|
|
local function MOVE_NODE_EXIT_CON( node,parent_node,tag_str,op_type,off_x,off_y )
|
|
-- node 传入的节点
|
|
-- parent_node 节点来源界面
|
|
-- tag_str 标记字符串
|
|
-- op_type 操作类型1:添加,2移除
|
|
-- off_x 偏移,可不传
|
|
-- off_y 偏移,可不传
|
|
if (not tag_str) or (not node) then return end
|
|
if tag_str == 1 and (not parent_node) then return end
|
|
if not self.ExitConView then
|
|
self.ExitConView = ExitConView.New()
|
|
self.ExitConView:Open()
|
|
end
|
|
if op_type == 1 then
|
|
self.ExitConView:AddNode(node,parent_node,tag_str,off_x,off_y)
|
|
else
|
|
self.ExitConView:RemoveNode(node,tag_str)
|
|
end
|
|
end
|
|
self:Bind(EventName.MOVE_NODE_EXIT_CON, MOVE_NODE_EXIT_CON)
|
|
|
|
local function open_spercific_scene_act_tipview(show, ac_data)
|
|
if (show and ac_data) or not show then
|
|
self:OpenView("SpercificSceneActivityTipView", show, ac_data)
|
|
end
|
|
end
|
|
self.model:Bind(EventName.OPEN_SPERCIFIC_SCENE_ACT_TIPVIEW, open_spercific_scene_act_tipview)
|
|
|
|
local function onOpenCommonAuctionTips(data)
|
|
if data and data.goods_id and GoodsModel:getInstance():GetGoodsBasicByTypeId(data.goods_id) ~= nil then--有数据才可以进行操作
|
|
if not self.CommonAuctionTips then
|
|
self.CommonAuctionTips = CommonAuctionTips.New()
|
|
end
|
|
if not self.CommonAuctionTips:HasOpen() then
|
|
self.CommonAuctionTips:Open(data)
|
|
else
|
|
self.CommonAuctionTips:ReOpen(data)
|
|
end
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(EventName.OPEN_COMMON_AUCTION_VIEW, onOpenCommonAuctionTips)
|
|
end
|
|
|
|
function CommonController:OpenAlertInviteTipView()
|
|
if not self.CommonAlertInviteTipView then
|
|
self.CommonAlertInviteTipView = CommonAlertInviteTipView.New()
|
|
end
|
|
if not self.CommonAlertInviteTipView:HasOpen() then
|
|
self.CommonAlertInviteTipView:Open(self.model:PopInviteDataCache())
|
|
else
|
|
self.CommonAlertInviteTipView:ReOpen(self.model:PopInviteDataCache())
|
|
end
|
|
end
|