miduo_client/Assets/ManagedResources/~Lua/Modules/Main/MainPanel.lua

1973 lines
85 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

require("Base/BasePanel")
require("Modules/Main/View/MainPlayerView")
MainPanel = Inherit(BasePanel)
local this = MainPanel
--local isPassChapter = {}
local endTime = 0
-- local GHZ_STAGE_IMAGE ={
-- [GUILD_FIGHT_STAGE.DEFEND] = "r_zjm_zhanbz",
-- [GUILD_FIGHT_STAGE.MATCHING] = "r_zjm_zhanpzz",
-- [GUILD_FIGHT_STAGE.COUNTING] = "r_zjm_zhanjjz",
-- }
local GlobalActConfig = ConfigManager.GetConfig(ConfigName.GlobalActivity)
--示意图轮回放
local imageList = {}
-- 主界面需要隐藏的功能
this.btnFunHide = {}
this.btnFunGray = {}
this.runHorseData = {}
this.operateIcon = {}
this.multiple = 0 --显示信息次数
this.isOpen = false
this.SystemInfo = ""
local orginLayer
this.patFaceCallList = Stack.New()
local timePressStarted
local curMianTaskData = {}
local canGetMsg = true
local moveTranList
local isFirstOpen = 0
--local isCanDragMsg = true
local supremHadSet = false
local isUpperMonthCardTimeShow = true
local moveSceneList = {
[1] = 0,
[2] = 0.02,
[3] = 0.05,
[4] = 0.432,
[5] = 0.5,
[6] = 0.65,
[7] = 0.84,
}
local lightList = {
[1] = { -475, 185 },
[2] = { -1367, -950 },
[3] = { -2447, -2397 },
}
local mainDynamicActivityIcon = {
[1] = "r_zjm_huodongicon-pozhenzhuxian", --破阵诛仙
[2] = "r_zjm_huodongicon-yongguansanjun", -- 勇冠三军
[3] = "r_zjm_huodongicon-chichafenyun", --叱咤风云
[4] = "r_zjm_huodongicon-danxinbixue", --碧血丹心
[5] = "r_zjm_huodongicon-shibukedang", ----势不可挡
[6] = "r_zjm_huodongicon-yongwangzhiqian", ----勇往直前
[7] = "r_zjm_huodongicon-yunchouweiwo", ----运筹帷幄
[8] = "r_zjm_huodongicon-yishandaohai", ----移山倒海
[9] = "r_zjm_huodongicon-xuanjimiaosuan", ----玄机妙算
[10] = "r_zjm_huodongicon-xianglongfuhu", ----降龙伏虎
[11] = "r_zjm_huodongicon-qikaidesheng", ----旗开得胜
[12] = "r_zjm_huodongicon-bianhuanmoce", ----变幻莫测
[13] = "r_zjm_huodongicon-bowenduoshi", ----博文多识
[14] = "r_zjm_huodongicon-tianxiangjiren", ----天相吉人
[15] = "r_zjm_huodongicon-suoxiangpimi", ----所向披靡
[16] = "r_zjm_huodongicon-xialuxiangfeng", ----狭路相逢
[17] = "r_zjm_huodongicon-tongqiangtiebi", ----铜墙铁壁
[18] = "r_zjm_huodongicon-pozhenzhuxian", --破阵诛仙
[19] = "r_zjm_huodongicon-yongguansanjun", -- 勇冠三军
[20] = "r_zjm_huodongicon-chichafenyun", --叱咤风云
[21] = "r_zjm_huodongicon-danxinbixue", --碧血丹心
[22] = "r_zjm_huodongicon-shibukedang", ----势不可挡
}
function this:AddFuncItem(btnGO, pos)
return {go = btnGO, open = Util.GetGameObject(btnGO, "open"), lock = Util.GetGameObject(btnGO, "lock"), pos = pos}
end
function this:InsertNewText(btn)
local xinText = Util.GetGameObject(btn, "new")
return xinText
end
local isRefeshIcon = true
--初始化组件(用于子类重写)
function this:InitComponent()
orginLayer = 0
self.bg = Util.GetGameObject(self.gameObject, "bg")
self.sceneTran = Util.GetGameObject(self.gameObject, "scene"):GetComponent("RectTransform")
self.lightEffect = Util.GetGameObject(self.gameObject, "scene/effect")
self.lightEffectActive = false
self.bgTran = Util.GetGameObject(self.gameObject, "bg"):GetComponent("RectTransform")
self.mountainTran = Util.GetGameObject(self.gameObject, "front"):GetComponent("RectTransform")
this.npcRoot = Util.GetGameObject(self.gameObject, "bg/npcRoot")
this.decorateRoot = Util.GetGameObject(self.gameObject, "bg/decorate")
self.ctrl = Util.GetGameObject(self.gameObject, "scene/ctrl")
this.heroTeamPowerBtn = Util.GetGameObject(self.gameObject, "LeftUp/powerBtn")
this.heroTeamPower = Util.GetGameObject(self.gameObject, "LeftUp/powerBtn/value"):GetComponent("Text")
---------------topLeftPart----------------
--headBox
this.level = Util.GetGameObject(self.gameObject, "LeftUp/headBox/lvFrame/lv"):GetComponent("Text")
this.playName = Util.GetGameObject(self.gameObject, "LeftUp/headBox/name"):GetComponent("Text")
this.expSliderValue = Util.GetGameObject(self.gameObject, "LeftUp/headBox/exp"):GetComponent("Slider")
this.expSliderValue.transform.localScale = Vector3.New(UIManager.adapterScale, 1, 1)
this.headBox = Util.GetGameObject(self.gameObject, "LeftUp/headBox")
this.headPos = Util.GetGameObject(self.gameObject, "LeftUp/headBox/headpos")
this.headRedpot = Util.GetGameObject(self.gameObject, "LeftUp/headBox/redpot")
-- 七日登陆奖励预览入口
this.sgBtn=Util.GetGameObject(self.gameObject,"LeftUp/sevenGift")
this.sgRoot=Util.GetGameObject(this.sgBtn,"root")
this.sgItemView = SubUIManager.Open(SubUIConfig.ItemView,this.sgRoot.transform)
this.sgType=Util.GetGameObject(this.sgBtn,"type"):GetComponent("Text")
this.sgName=Util.GetGameObject(this.sgBtn,"name"):GetComponent("Text")
this.sgInfo=Util.GetGameObject(this.sgBtn,"info"):GetComponent("Text")
this.sgEffect={}
for i = 1, 2 do
this.sgEffect[i]=Util.GetGameObject(this.sgBtn,"effect/effect"..i)
end
effectAdapte(Util.GetGameObject(this.sgEffect[2], "ziti mask (1)"))
-- 一堆的小活动
this.rightUpRoot = Util.GetGameObject(self.gameObject, "RightUp")
this.rightUpRoot.transform.localScale = Vector3.one * UIManager.adapterScale
-- 充值
this.rechargeBtn = Util.GetGameObject(self.gameObject, "RightUp/recharge")
this.rechargeRedPoint = Util.GetGameObject(this.rechargeBtn, "redPoint")
-- 福利
this.packageGiftBtn = Util.GetGameObject(self.gameObject, "RightUp/packageGift")
this.packageGiftRedPoint = Util.GetGameObject(this.packageGiftBtn, "redPoint")
-- 首充
this.firstRechargeBtn = Util.GetGameObject(self.gameObject, "RightUp/firstRecharge")
this.firstRechargeRedPoint = Util.GetGameObject(this.firstRechargeBtn, "redPoint")
-- 七日狂欢
this.sevenDayCarnivalBtn = Util.GetGameObject(self.gameObject, "RightUp/sevenDay")
this.SevenDayStage1 = Util.GetGameObject(self.sevenDayCarnivalBtn, "stage1")
this.SevenDayStage2 = Util.GetGameObject(self.sevenDayCarnivalBtn, "stage2")
this.sevenDayCarnivalRedPoint = Util.GetGameObject(this.sevenDayCarnivalBtn, "redPoint")
-- 每日首充
this.dailyRechargeBtn = Util.GetGameObject(self.transform, "RightUp/dailyRecharge")
this.dailyRechargeRedPoint = Util.GetGameObject(this.dailyRechargeBtn, "redPoint")
--月基金
this.upperMonthCardBtn=Util.GetGameObject(self.transform,"RightUp/upperMonthCardBtn")
this.upperMonthCardRedPoint = Util.GetGameObject(this.upperMonthCardBtn, "redPoint")
this.upperMonthCardTimeBg = Util.GetGameObject(this.upperMonthCardBtn, "Image_1")
this.upperMonthCardTime = Util.GetGameObject(this.upperMonthCardBtn, "time"):GetComponent("Text")
--限时折扣
this.upGradePackageBtn = Util.GetGameObject(self.transform,"RightUp/upGradePackageBtn")
this.upGradePackageTime = Util.GetGameObject(this.upGradePackageBtn, "time"):GetComponent("Text")
--百宝商会
this.treasureStoreBtn=Util.GetGameObject(self.transform,"RightUp/treasureStoreBtn")
this.treasureStoreTime=Util.GetGameObject(this.treasureStoreBtn,"time"):GetComponent("Text")
this.treasureStoreRedPoint=Util.GetGameObject(this.treasureStoreBtn,"redPoint")
---- 招财猫
--this.luckyCatBtn = Util.GetGameObject(self.gameObject, "RightUp/luckyCat")
--this.luckyCatRedPoint = Util.GetGameObject(self.gameObject, "RightUp/luckyCat/redPoint")
-- 开服有礼
this.courtesyDress = Util.GetGameObject(self.gameObject, "RightUp/sevenDayGift")
--开服有礼红点
this.courtesyDressRedPoint = Util.GetGameObject(this.courtesyDress, "sevenDayRedPoint")
-- 云梦祈福
this.paryGift = Util.GetGameObject(self.gameObject, "RightUp/paryGift")
this.paryGiftTime = Util.GetGameObject(self.gameObject, "RightUp/paryGift/time"):GetComponent("Text")
-- 战力排行
this.warPowerSort = Util.GetGameObject(self.gameObject, "RightUp/warPowerSort")
this.warPowerSortRedPoint = Util.GetGameObject(this.warPowerSort, "chapterRedPoint")
-- 限时活动
this.expert = Util.GetGameObject(self.gameObject, "RightUp/expert")
this.expertRedPoint = Util.GetGameObject(this.expert, "chapterRedPoint")
-- 孙龙宝藏
this.treasureOfSl = Util.GetGameObject(self.gameObject, "RightUp/treasureOfSl")
this.treasureOfSlRedPoint = Util.GetGameObject(this.treasureOfSl, "redPoint")
this.treasureOfSlText = Util.GetGameObject(this.treasureOfSl, "time"):GetComponent("Text")
-- 问卷
this.questionnaireBtn = Util.GetGameObject(self.gameObject, "RightUp/questionnaire")
--东海寻仙
this.findFairyBtn=Util.GetGameObject(self.gameObject,"RightUp/findFairy")
this.findFairyRedPoint = Util.GetGameObject(this.findFairyBtn, "redPoint")
this.findFairyBtn:SetActive(false)
--幸运转盘
this.luckyTurnBtn=Util.GetGameObject(self.gameObject,"RightUp/luckyTurn")
this.luckyTurnRedPoint=Util.GetGameObject(this.luckyTurnBtn,"redPoint")
-- 十绝阵
this.isDeathPosShow = nil
this.deathPosBtn = Util.GetGameObject(self.gameObject,"RightUp/deathPos")
this.deathPosTime = Util.GetGameObject(self.gameObject,"RightUp/deathPos/time"):GetComponent("Text")
-- 巅峰赛
this.isTopMatchShow = nil
this.topMatchBtn=Util.GetGameObject(self.gameObject,"RightUp/topMatch")
this.topMatchTime = Util.GetGameObject(self.gameObject,"RightUp/topMatch/time"):GetComponent("Text")
--远征
--this.expeditionBtn=Util.GetGameObject(self.gameObject,"RightUp/expedition")
--this.expeditionRedPoint=Util.GetGameObject(this.expeditionBtn,"redPoint")
--成就
this.AchievementBtn=Util.GetGameObject(self.gameObject,"RightUp/Achievement")
this.AchievementBtn:SetActive(false)
--this.AchievementRedPoint=Util.GetGameObject(this.AchievementBtn,"redPoint")
-- 特权
this.vipPrivilegeBtn = Util.GetGameObject(self.gameObject, "LeftUp/vipPrivilege/vipPrivilegeBtn")
this.vipLevelText = Util.GetGameObject(this.vipPrivilegeBtn, "bg/vip"):GetComponent("Image")
this.vipRedPoint = Util.GetGameObject(self.gameObject, "LeftUp/vipPrivilege/redPoint")
screenAdapte(this.vipPrivilegeBtn)
---------------topRightPart----------------
-- 邮件
this.btnYouJian = Util.GetGameObject(self.gameObject, "LeftDown/btnRoot/btnYouJian")
this.mailRedPoint = Util.GetGameObject(this.btnYouJian, "redPoint")
-- 日常
this.btnDailyMission = Util.GetGameObject(self.gameObject, "LeftDown/btnRoot/btnDailyMission")
this.DailyRedPoint = Util.GetGameObject(this.btnDailyMission, "redPoint")
-- 好友
this.btnFriend = Util.GetGameObject(self.gameObject, "LeftDown/btnRoot/btnfriend")
this.friendRed = Util.GetGameObject(this.btnFriend, "redPoint")
-- 排行
this.btnRank = Util.GetGameObject(self.gameObject, "LeftDown/btnRoot/btnRank")
this.rankRed = Util.GetGameObject(this.btnRank, "redPoint")
-- 无尽
this.btnEndLess = Util.GetGameObject(self.gameObject, "LeftDown/btnRoot/btnEndLess")
this.btnEndLess:SetActive(false)
-- 设置
--this.btnSet = Util.GetGameObject(self.gameObject, "LeftDown/btnRoot/btnSetting")
--this.setRed = Util.GetGameObject(this.btnSet, "redPoint")
-------------------场景中的按钮------------------------
-- 按钮
this.btnMonster = Util.GetGameObject(this.gameObject, "scene/layer2/btnShouchaolaixi")
this.btnExpedition = Util.GetGameObject(this.gameObject, "scene/layer2/btnexpedition")
this.btnJingjichang = Util.GetGameObject(this.gameObject, "scene/layer4/btnJingjichang")
-- this.btnGonghui:SetActive(false)
this.btnFenjie = Util.GetGameObject(this.gameObject, "scene/layer7/btnFenjie")
--this.btnTujian = Util.GetGameObject(this.gameObject, "scene/layer7/btnTujian")
this.btnShangdian = Util.GetGameObject(this.gameObject, "scene/layer7/btnShangdian")
this.btnEquipCompound = Util.GetGameObject(this.gameObject, "scene/layer3/btnEquipCompound")
-- this.btnPaihangbang = Util.GetGameObject(this.gameObject, "scene/layer4/btnPaihangbang")
-- this.btnGuanxing = Util.GetGameObject(this.gameObject, "scene/layer4/btnGuanxing")
this.btnRecruit = Util.GetGameObject(this.gameObject, "scene/layer6/btnRecruit")
this.btnElementDrawCard = Util.GetGameObject(this.gameObject, "scene/layer4/btnElementDrawCard")
this.btnSecretBox = Util.GetGameObject(this.gameObject, "scene/layer4/btnSecretBox")
this.btnYiYao = Util.GetGameObject(this.gameObject, "scene/layer4/btnYiYao")
this.btnPokemon = Util.GetGameObject(this.gameObject, "scene/layer6/btnPokemon")
-- this.btnTianFu = Util.GetGameObject(this.gameObject, "scene/layer6/btnTianFu")
this.btnWaiDi = Util.GetGameObject(this.gameObject, "scene/layer4/btnWaiDi")
this.btnColorfulWorld = Util.GetGameObject(this.gameObject, "scene/layer6/btnColorfulWorld")
this.btnWaiDi:SetActive(false)
this.btnCompoundHero = Util.GetGameObject(this.gameObject, "scene/layer3/btnCompoundHero")
this.operateIcon = {
[FUNCTION_OPEN_TYPE.SHOP] = this:AddFuncItem(this.btnShangdian, 50),
-- [FUNCTION_OPEN_TYPE.ALLRANKING] = this:AddFuncItem(this.btnPaihangbang, -2715),
-- [FUNCTION_OPEN_TYPE.ASPECT_STAR] = this:AddFuncItem(this.btnGuanxing, -2715),
[FUNCTION_OPEN_TYPE.HERO_RESOLVE] = this:AddFuncItem(this.btnFenjie, -200),
--[FUNCTION_OPEN_TYPE.HAND_BOOK] = this:AddFuncItem(this.btnTujian,-2715),
[FUNCTION_OPEN_TYPE.ARENA] = this:AddFuncItem(this.btnJingjichang, -200),
[FUNCTION_OPEN_TYPE.ENDLESS] = this:AddFuncItem(this.btnColorfulWorld, -1500),
-- [FUNCTION_OPEN_TYPE.MONSTER_COMING] = this:AddFuncItem(this.btnMonster, -110),
-- [FUNCTION_OPEN_TYPE.EXPEDITION] = this:AddFuncItem(this.btnExpedition, -110),
[FUNCTION_OPEN_TYPE.COMPOUND] = this:AddFuncItem(this.btnEquipCompound, -200),
[FUNCTION_OPEN_TYPE.RECURITY] = this:AddFuncItem(this.btnRecruit, -56),
[FUNCTION_OPEN_TYPE.ELEMENT_RECURITY] = this:AddFuncItem(this.btnElementDrawCard, 0),
-- [FUNCTION_OPEN_TYPE.SECRETBOX] = this:AddFuncItem(this.btnSecretBox, 0),
-- [FUNCTION_OPEN_TYPE.TALENT_TREE] = this:AddFuncItem(this.btnTianFu, -1179),
-- [FUNCTION_OPEN_TYPE.DIFFER_DEMONS] = this:AddFuncItem(this.btnYiYao, 0),
-- [FUNCTION_OPEN_TYPE.FIGHT_ALIEN] = this:AddFuncItem(this.btnWaiDi, 0),
[FUNCTION_OPEN_TYPE.COMPOUND_HERO] = this:AddFuncItem(this.btnCompoundHero, 0),--神将合成、置换
[FUNCTION_OPEN_TYPE.POKEMON] = this:AddFuncItem(this.btnPokemon, -1200),--神将合成、置换
}
this.operateNewText = {
[FUNCTION_OPEN_TYPE.SHOP] = this:InsertNewText(this.btnShangdian),
-- [FUNCTION_OPEN_TYPE.ALLRANKING] = this:InsertNewText(this.btnPaihangbang),
-- [FUNCTION_OPEN_TYPE.ASPECT_STAR] = this:InsertNewText(this.btnGuanxing),
[FUNCTION_OPEN_TYPE.HERO_RESOLVE] = this:InsertNewText(this.btnFenjie),
--[FUNCTION_OPEN_TYPE.HAND_BOOK] = this:InsertNewText(this.btnTujian),
[FUNCTION_OPEN_TYPE.ARENA] = this:InsertNewText(this.btnJingjichang),
[FUNCTION_OPEN_TYPE.ENDLESS] = this:InsertNewText(this.btnColorfulWorld),
-- [FUNCTION_OPEN_TYPE.MONSTER_COMING] = this:InsertNewText(this.btnMonster),
--[FUNCTION_OPEN_TYPE.EXPEDITION] = this:InsertNewText(this.btnExpedition),
[FUNCTION_OPEN_TYPE.COMPOUND] = this:InsertNewText(this.btnEquipCompound),
[FUNCTION_OPEN_TYPE.RECURITY] = this:InsertNewText(this.btnRecruit),
[FUNCTION_OPEN_TYPE.ELEMENT_RECURITY] = this:InsertNewText(this.btnElementDrawCard),
-- [FUNCTION_OPEN_TYPE.SECRETBOX] = this:InsertNewText(this.btnSecretBox),
-- [FUNCTION_OPEN_TYPE.TALENT_TREE] = this:InsertNewText(this.btnTianFu),
-- [FUNCTION_OPEN_TYPE.DIFFER_DEMONS] = this:InsertNewText(this.btnYiYao),
-- [FUNCTION_OPEN_TYPE.FIGHT_ALIEN] = this:InsertNewText(this.btnWaiDi),
[FUNCTION_OPEN_TYPE.COMPOUND_HERO] = this:InsertNewText(this.btnCompoundHero),--神将合成、置换
[FUNCTION_OPEN_TYPE.POKEMON] = this:InsertNewText(this.btnPokemon),--神将合成、置换
}
-- 红点
this.rpShangdian = Util.GetGameObject(this.btnShangdian, "redPoint")
this.rpJingjichang = Util.GetGameObject(this.btnJingjichang, "redPoint")
this.rpExpedition = Util.GetGameObject(this.btnExpedition, "redPoint")
--this.rpMijing = Util.GetGameObject(this.btnMijing, "redPoint")
--this.rpGuShi = Util.GetGameObject(this.btnGuShi, "redPoint") -- 暂时没用的
--this.rpMonster = Util.GetGameObject(this.btnMonster, "redPoint")
--this.rpZhaomu = Util.GetGameObject(this.btnZhaomu, "redPoint")
-- this.rpGonghui = Util.GetGameObject(this.btnGonghui, "redPoint")
this.rpRecruit = Util.GetGameObject(this.btnRecruit, "redPoint")
this.rpElementDrawCard = Util.GetGameObject(this.btnElementDrawCard, "redPoint")
this.rpSecretBox = Util.GetGameObject(this.btnSecretBox, "redPoint")
this.rpYiYao = Util.GetGameObject(this.btnYiYao, "redPoint")
-- this.rpTianFu = Util.GetGameObject(this.btnTianFu, "redPoint")
--this.rpXuezhandaodi = Util.GetGameObject(this.btnXuezhandaodi, "redPoint")
--this.rpFenjie = Util.GetGameObject(this.btnFenjie, "redPoint")
--this.rpTujian = Util.GetGameObject(this.btnTujian, "redPoint")
--this.rpPaihangbang = Util.GetGameObject(this.btnPaihangbang, "redPoint")
--this.rpGuanxing = Util.GetGameObject(this.btnGuanxing, "redPoint")
this.rpAlien = Util.GetGameObject(this.btnWaiDi, "redPoint")
this.rpColorfulWorld = Util.GetGameObject(this.btnColorfulWorld, "redPoint")
this.rpCompoundHero = Util.GetGameObject(this.btnCompoundHero, "redPoint")--神将合成、置换
this.rpPokemon = Util.GetGameObject(this.btnPokemon, "redPoint")--灵兽
this.BtView = SubUIManager.Open(SubUIConfig.BtView, self.transform)
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.transform)
-- this.HorseRaceLampView = SubUIManager.Open(SubUIConfig.HorseRaceLampView, self.transform)
this.ChatTipView = SubUIManager.Open(SubUIConfig.ChatTipView, self.transform, 1)
--this.RefreshChangeName()
----==================== npc按钮 ========================
-- 云游商人
this.yunyou = Util.GetGameObject(this.npcRoot, "npcYunyou")
this.btnYunyou = Util.GetGameObject(this.yunyou, "button")
this.timeYunyou = Util.GetGameObject(this.btnYunyou, "time"):GetComponent("Text")
this.rpYunyou = Util.GetGameObject(this.btnYunyou, "redPoint")
poolManager:LoadLive("live2d_r_MapEffect_NewEvent_014", Util.GetTransform(this.yunyou, "liveRoot"), Vector3.one, Vector3.zero)
-- 精英怪
this.jingying = Util.GetGameObject(this.npcRoot, "npcJingying")
this.btnJingying = Util.GetGameObject(this.jingying, "button")
this.eliteMonsterTimeText = Util.GetGameObject(this.btnJingying, "time"):GetComponent("Text")
this.rpJingying = Util.GetGameObject(this.btnJingying, "redPoint")
poolManager:LoadLive("live2d_r_Map_NewEvent_015", Util.GetTransform(this.jingying, "liveRoot"), Vector3.one, Vector3.zero)
-- 公会战
--this.gonghuizhan = Util.GetGameObject(this.npcRoot, "npcGonghuizhan")
--this.btnGonghuizhan = Util.GetGameObject(this.gonghuizhan, "button")
--this.timeGonghuizhan = Util.GetGameObject(this.gonghuizhan, "time"):GetComponent("Text")
--this.rpGonghuizhan = Util.GetGameObject(this.btnGonghuizhan, "redPoint")
--poolManager:LoadLive("live2d_r_Map_NewEvent_015", Util.GetTransform(this.gonghuizhan, "liveRoot"), Vector3.one, Vector3.zero)
-- this.GHZStageImage = Util.GetGameObject(this.btnGonghui, "stageEffect/Image"):GetComponent("Image")
-- this.GHZStageAttackEffect = Util.GetGameObject(this.btnGonghui, "stageEffect/fight")
-- this.isGHZShow = false
-- this.GHZ_Stage = nil
-- 外敌
this.alienNPC = Util.GetGameObject(this.npcRoot, "npcAlien")
this.btnAlienNPC = Util.GetGameObject(this.alienNPC, "button")
this.timeAlienNPC = Util.GetGameObject(this.alienNPC, "time"):GetComponent("Text")
this.rpAlienNPC = Util.GetGameObject(this.alienNPC, "redPoint")
--poolManager:LoadLive("live2d_r_Map_NewEvent_015", Util.GetTransform(this.alienNPC, "liveRoot"), Vector3.one, Vector3.zero)
moveTranList = {}
for i = 1, #moveSceneList do
table.insert(moveTranList, Util.GetGameObject(self.gameObject, "scene/layer" .. i):GetComponent("RectTransform"))
end
this.btnClickMove = Util.GetGameObject(this.bg, "btnClickMove")
-- 主线任务显示
this.mainTask = Util.GetGameObject(self.gameObject, "RightDown/mainTask")
this.titleText = Util.GetGameObject(self.gameObject, "RightDown/mainTask/progressLayout/titleText"):GetComponent("Text")
this.progressText = Util.GetGameObject(self.gameObject, "RightDown/mainTask/progressLayout/progressText"):GetComponent("Text")
this.getRewardButton = Util.GetGameObject(self.gameObject, "RightDown/mainTask/getRewardButton")
this.mainTaskGRewardImage = Util.GetGameObject(self.gameObject, "RightDown/mainTask/getRewardButton/getRewardImage")
this.mainTaskJumpImage = Util.GetGameObject(self.gameObject, "RightDown/mainTask/getRewardButton/jumpImage")
this.mainTask:SetActive(false)-- 删除
this.GuideEffectGo = poolManager:LoadAsset("GuideEffect", PoolManager.AssetType.GameObject)
this.GuideEffectGo.transform:SetParent(this.mainTaskGRewardImage.transform)
this.GuideEffectGo.transform.localPosition = Vector3.zero
this.GuideEffectGo.transform.localScale = Vector3.one
Util.GetGameObject(this.GuideEffectGo, "GameObject"):SetActive(false)
this.GuideJumpEffectGo = poolManager:LoadAsset("GuideEffect", PoolManager.AssetType.GameObject)
this.GuideJumpEffectGo.transform:SetParent(this.mainTaskJumpImage.transform)
this.GuideJumpEffectGo.transform.localPosition = Vector3.zero
this.GuideJumpEffectGo.transform.localScale = Vector3.one
Util.GetGameObject(this.GuideJumpEffectGo, "GameObject"):SetActive(false)
this.GuideJumpEffectGo:SetActive(false)
this.btnFunHide[FUNCTION_OPEN_TYPE.DAILY_TASK] = this.btnDailyMission
this.btnFunHide[FUNCTION_OPEN_TYPE.PRAY] = this.paryGift
this.btnFunHide[FUNCTION_OPEN_TYPE.SUNLONG] = this.treasureOfSl
this.btnFunHide[FUNCTION_OPEN_TYPE.EMAIL] = this.btnYouJian
this.btnFunHide[FUNCTION_OPEN_TYPE.GOODFRIEND] = this.btnFriend
this.btnFunHide[FUNCTION_OPEN_TYPE.ALLRANKING] = this.btnRank
--this.btnFunGray[FUNCTION_OPEN_TYPE.NORMALCARBON] = this.btnFuBen
--this.btnFunGray[FUNCTION_OPEN_TYPE.MONSTER_COMING] = this.btnMonster
--this.btnFunGray[FUNCTION_OPEN_TYPE.ADVENTURE] = this.btnMijing
--this.btnFunGray[FUNCTION_OPEN_TYPE.RECURITY] = this.btnZhaomu
--this.btnFunGray[FUNCTION_OPEN_TYPE.ARENA] = this.btnJingjichang
--this.btnFunGray[FUNCTION_OPEN_TYPE.GUILD] = this.btnGonghui
--this.btnFunGray[FUNCTION_OPEN_TYPE.BLOODY_BATTLE] = this.btnXuezhandaodi
--this.btnFunGray[FUNCTION_OPEN_TYPE.HERO_RESOLVE] = this.btnFenjie
--this.btnFunGray[FUNCTION_OPEN_TYPE.HAND_BOOK] = this.btnTujian
--this.btnFunGray[FUNCTION_OPEN_TYPE.SHOP] = this.btnShangdian
--this.btnFunGray[FUNCTION_OPEN_TYPE.ALLRANKING] = this.btnPaihangbang
--this.btnFunGray[FUNCTION_OPEN_TYPE.ASPECT_STAR] = this.btnGuanxing
--this.btnFunGray[FUNCTION_OPEN_TYPE.RECURITY] = this.btnRecruit
--this.btnFunGray[FUNCTION_OPEN_TYPE.ELEMENT_RECURITY] = this.btnElementDrawCard
--this.btnFunGray[FUNCTION_OPEN_TYPE.SECRETBOX] = this.btnSecretBox
-- 隱藏秘境
--this.btnMijing:SetActive(false)
--跑马灯
--this.horseRaceLamp = Util.GetGameObject(self.gameObject, "horseRaceLamp")
--this.titleInfo = Util.GetGameObject(self.gameObject, "horseRaceLamp/bgImage/mask/titleInfo")
--this.horseMask = Util.GetGameObject(self.gameObject, "horseRaceLamp/bgImage/mask")
this.animRoot = Util.GetGameObject(self.gameObject, "scene")
this.btnSupreme = Util.GetGameObject(self.gameObject, "RightUp/supreme")
this.supremeRedPoint = Util.GetGameObject(this.btnSupreme, "redPoint")
this.supremeTime = Util.GetGameObject(this.btnSupreme, "time"):GetComponent("Text")
this.btnUpGradePackage = Util.GetGameObject(self.gameObject, "RightUp/upGradePackageBtn")--升级限时礼包
--主题活动
this.btnDynamicActivity = Util.GetGameObject(self.gameObject, "RightUp/dynamicActivity")
this.DynamicActivityRedPoint = Util.GetGameObject(this.btnDynamicActivity, "redPoint")
this.DynamicActivityTime = Util.GetGameObject(this.btnDynamicActivity, "time"):GetComponent("Text")
--挑战关卡快速升级提示
this.battleUpLvTip = Util.GetGameObject(self.gameObject, "LeftDown/battleUpLvTip")
Util.GetGameObject(self.gameObject, "LeftDown/battleUpLvTip/Text"):GetComponent("Text").text = Language[12390]
--三界除魔
this.isDemonSlayerShow = nil
this.btnDemonSlayer = Util.GetGameObject(self.gameObject, "RightUp/DemonSlayer")
this.DemonSlayerTime = Util.GetGameObject(this.btnDemonSlayer, "time"):GetComponent("Text")
end
function this:SetPosFunc(v2)
self.bgTran.anchoredPosition = v2
for i = 1, #moveSceneList do
moveTranList[i].anchoredPosition = Vector2.New(v2.x * moveSceneList[i], v2.y)
end
local isShowLight = false
for i = 1, #lightList do
if v2.x >= lightList[i][1] and v2.x <= lightList[i][2] then
isShowLight = true
break
end
end
if self.lightEffectActive ~= isShowLight then
self.lightEffect:SetActive(isShowLight)
self.lightEffectActive = isShowLight
end
self.mountainTran.anchoredPosition = Vector2.New(v2.x * 1.2, v2.y)
end
--绑定事件(用于子类重写)
function this:BindEvent()
self.trigger = Util.GetEventTriggerListener(self.ctrl)
self.moveTween = self.bg:GetComponent(typeof(UITweenSpring))
if not self.moveTween then
self.moveTween = self.bg:AddComponent(typeof(UITweenSpring))
end
self.moveTween.enabled = false
local setPosFunc = function(v2)
local av2 = self.bgTran.anchoredPosition
local dv2 = Vector2.New(math.clamp(v2.x + av2.x, -1500, 50), av2.y)
if v2.x + av2.x < -1500 or v2.x + av2.x > 50 then
self.moveTween:Rebound(1, 0.1)
end
this:SetPosFunc(dv2)
end
self.moveTween.OnUpdate = setPosFunc
self.moveTween.MomentumAmount = 1
self.moveTween.Strength = 1
self.trigger.onBeginDrag = self.trigger.onBeginDrag + function(p, d)
self.moveTween.enabled = true
self.moveTween.Momentum = Vector3.zero
self.moveTween.IsUseCallBack = false
end
self.trigger.onDrag = self.trigger.onDrag + function(p, d)
self.moveTween:LerpMomentum(d.delta)
setPosFunc(d.delta)
end
self.trigger.onEndDrag = self.trigger.onEndDrag + function(p, d)
self.moveTween.IsUseCallBack = true
setPosFunc(d.delta)
end
local btnClickMoveTran = this.btnClickMove:GetComponent("RectTransform")
local rect = btnClickMoveTran.rect
math.randomseed(os.time())
-- for i = 1, 10 do
-- local view = MainPlayerView.New(false, this.btnClickMove, rect, Vector2.New(math.random(rect.xMin, rect.xMax), math.random(rect.yMin, rect.yMax)))
-- view.NameText.text = NameManager.GetLocalRandomName()
-- view:SetAutoMove()
-- end
PlayerManager.GetMainPlayerNPCData(function(NPCList)
for i = 1, #NPCList do
local view = MainPlayerView.New(false, this.btnClickMove, rect, Vector2.New(math.random(rect.xMin, rect.xMax), math.random(rect.yMin, rect.yMax)))
view.NameText.text = NPCList[i].userName or NPCList[i].name
view:SetAutoMove()
end
end)
self.playerView = MainPlayerView.New(true, this.btnClickMove, rect, Vector2.New(-1210, 0))
--角色点击行走
self.trigger.onPointerClick = self.trigger.onPointerClick + function(p, d)
local x, v2 = RectTransformUtility.ScreenPointToLocalPointInRectangle(btnClickMoveTran, Input.mousePosition, UIManager.camera, nil)
if not self.moveTween.enabled then
local b1 = v2.x < rect.xMax and v2.x > rect.xMin and v2.y < rect.yMax and v2.y > rect.yMin
if b1 then
self.playerView:SetRolePos(v2)
end
end
end
--GM工具
Util.AddClick(this.headBox, function()
if AppConst.isOpenGM then
UIManager.OpenPanel(UIName.GMPanel)
else
UIManager.OpenPanel(UIName.SettingPanel)
end
end)
Util.AddClick(this.questionnaireBtn, function()
QuestionnaireManager.OpenQuestionnairePanel()
end)
-- 充值按钮
Util.AddClick(this.rechargeBtn, function()
-- if not ShopManager.IsActive(SHOP_TYPE.SOUL_STONE_SHOP) then
-- PopupTipPanel.ShowTip("商店暂未开放")
-- return
-- end
-- UIManager.OpenPanel(UIName.MainShopPanel, SHOP_TYPE.SOUL_STONE_SHOP)
UIManager.OpenPanel(UIName.MainRechargePanel)
end)
--礼包
Util.AddClick(this.packageGiftBtn, function()
UIManager.OpenPanel(UIName.OperatingPanel)
end)
--特权
Util.AddClick(this.vipPrivilegeBtn, function()
UIManager.OpenPanel(UIName.VipPanelV2)
end)
--首充
Util.AddClick(this.firstRechargeBtn, function()
UIManager.OpenPanel(UIName.FirstRechargePanel)
end)
--七日狂欢
Util.AddClick(this.sevenDayCarnivalBtn, function()
UIManager.OpenPanel(UIName.SevenDayCarnivalPanelV2,SevenDayCarnivalManager.GetPriorityDayNumber())
end)
--每日首充
Util.AddClick(this.dailyRechargeBtn, function()
UIManager.OpenPanel(UIName.DailyRechargePanel)
end)
--超值基金
Util.AddClick(this.upperMonthCardBtn,function()
UIManager.OpenPanel(UIName.OperatingPanel,{tabIndex =7,extraParam =2,showType=2})
end)
-- 百宝商会
Util.AddClick(this.treasureStoreBtn,function()
UIManager.OpenPanel(UIName.TreasureStorePopup)
end)
--八日登陆礼预览
Util.AddClick(this.sgBtn,function()
--UIManager.OpenPanel(UIName.PassGiftPopup,true)ActivityTypeDef.SevenDayRegister
--JumpManager.GoJump(15001)
UIManager.OpenPanel(UIName.EightDayGiftPanel)
end)
--日常任务
Util.AddClick(this.btnDailyMission, function()
UIManager.OpenPanel(UIName.MissionDailyPanel)
end)
--邮件
Util.AddClick(this.btnYouJian, function()
UIManager.OpenPanel(UIName.MailMainPanel)
end)
-- 精英怪
Util.AddClick(this.btnJingying, function()
if not EliteMonsterManager.HasEliteMonster() then
PopupTipPanel.ShowTip(Language[10474])
return
end
UIManager.OpenPanel(UIName.EliteMonsterPanel, 1)
end)
----打开招财猫
--Util.AddClick(this.luckyCatBtn, function()
-- UIManager.OpenPanel(UIName.LuckyCatPanel)
--end)
-- 打开开服有礼
Util.AddClick(this.courtesyDress, function()
UIManager.OpenPanel(UIName.CourtesyDressPanel)
end)
Util.AddClick(this.paryGift, function()
UIManager.OpenPanel(UIName.PrayMainPanel)
end)
Util.AddClick(this.warPowerSort, function()
UIManager.OpenPanel(UIName.WarPowerSortPanel)
end)
Util.AddClick(this.expert, function()
UIManager.OpenPanel(UIName.ExpertPanel)
end)
--戒灵秘宝
Util.AddClick(this.treasureOfSl, function()
UIManager.OpenPanel(UIName.MissionDailyPanel,2,1)
end)
-- --天宫秘宝
-- Util.AddClick(this.treasureOfSl, function()
-- local page, extra = TreasureOfHeavenManagerV2.GetTreasureRedPointShow()
-- UIManager.OpenPanel(UIName.TreasureOfHeavenPanel, {
-- tabIndex = page,
-- extraParam = extra
-- })
-- end)
--东海寻仙
Util.AddClick(this.findFairyBtn,function()
UIManager.OpenPanel(UIName.FindFairyPanel)
end)
--幸运转盘
Util.AddClick(this.luckyTurnBtn,function()
UIManager.OpenPanel(UIName.LuckyTurnTablePanel)
end)
--成就
--Util.AddClick(this.AchievementBtn,function()
-- UIManager.OpenPanel(UIName.AchievementPanel)
--end)
--群英招募
Util.AddClick(this.btnRecruit, function()
--UIManager.OpenPanel(UIName.RecruitPanel)
this.FunctionClickEvent(FUNCTION_OPEN_TYPE.RECURITY, function ()
UIManager.OpenPanel(UIName.RecruitPanel)
end)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.RECURITY)
end)
--元素招募
Util.AddClick(this.btnElementDrawCard, function()
this.FunctionClickEvent(FUNCTION_OPEN_TYPE.ELEMENT_RECURITY, function ()
UIManager.OpenPanel(UIName.ElementDrawCardPanel)
end)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.ELEMENT_RECURITY)
end)
--秘盒
Util.AddClick(this.btnSecretBox, function()
this.FunctionClickEvent(FUNCTION_OPEN_TYPE.SECRETBOX, function ()
UIManager.OpenPanel(UIName.SecretBoxPanel)
end)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.SECRETBOX)
end)
-- 给他一个点击事件吧,不然说个不停
Util.AddClick(this.btnYunyou, function()
UIManager.OpenPanel(UIName.MainShopPanel, SHOP_TYPE.ROAM_SHOP)
end)
-- 打开怪兽来袭界面t
Util.AddClick(this.btnMonster, function()
JumpManager.GoJump(1011)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.MONSTER_COMING)
end)
--Util.AddClick(this.btnZhaomu, function()
-- if (RecruitManager.CheckRecuritRedPoint() or SecretBoxManager.CheckSecretRedPoint()) then
-- if (RecruitManager.CheckRecuritRedPoint()) then
-- JumpManager.GoJump(1023)
-- else
-- if(ActTimeCtrlManager.SingleFuncState(21)) then
-- if (SecretBoxManager.CheckSecretRedPoint()) then
-- JumpManager.GoJump(21001)
-- end
-- else
-- JumpManager.GoJump(1023)
-- end
-- end
-- else
-- JumpManager.GoJump(1023)
-- end
--end)
Util.AddClick(this.btnJingjichang, function()
-- JumpManager.GoJump(8001)
if (ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.ARENA)) then
UIManager.OpenPanel(UIName.ArenaTypePanel)
else
local tip = ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.ARENA)
PopupTipPanel.ShowTip(tip)
end
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.ARENA)
end)
Util.AddClick(this.btnColorfulWorld, function()
if ActTimeCtrlManager.IsQualifiled(FUNCTION_OPEN_TYPE.ENDLESS) then
PlayerManager.carbonType = 2
UIManager.OpenPanel(UIName.CarbonTypePanelV2)
else
local config = ConfigManager.GetConfigData(ConfigName.GlobalSystemConfig,FUNCTION_OPEN_TYPE.ENDLESS)
PopupTipPanel.ShowTip(string.format(Language[12297],config.OpenRules[2]))
end
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.ENDLESS)
end)
Util.AddClick(this.btnFenjie, function()
JumpManager.GoJump(24001)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.HERO_RESOLVE)
end)
--Util.AddClick(this.btnTujian, function()
-- UIManager.OpenPanel(UIName.HandBookMainPanel)
-- this.ScenceBtnClick(FUNCTION_OPEN_TYPE.HAND_BOOK)
--end)
Util.AddClick(this.btnShangdian, function()
JumpManager.GoJump(20003)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.SHOP)
end)
Util.AddClick(this.btnEquipCompound, function()
--JumpManager.GoJump(20003)
--this.ScenceBtnClick(FUNCTION_OPEN_TYPE.SHOP)
if ActTimeCtrlManager.IsQualifiled(66) then
UIManager.OpenPanel(UIName.CompoundPanel)
end
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.COMPOUND)
end)
Util.AddClick(this.btnRank, function()
if (ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.ALLRANKING)) then
local types = {}
local activiteIds = {}
for i = 1, #rankKingList do
if rankKingList[i].isRankingMainPanelShow then
table.insert(types,rankKingList[i].rankType)
table.insert(activiteIds,rankKingList[i].activiteId)
end
end
NetManager.RankFirstRequest(types,activiteIds,function (msg)
UIManager.OpenPanel(UIName.RankingListMainPanel,msg)
end)
else
local tip = ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.ALLRANKING)
PopupTipPanel.ShowTip(tip)
end
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.ALLRANKING)
end)
-- Util.AddClick(this.btnEndLess, function()
-- MapManager.curCarbonType = CarBonTypeId.ENDLESS
-- UIManager.OpenPanel(UIName.EndLessCarbonPanel)
-- end)
-- Util.AddClick(this.btnGuanxing, function()
-- JumpManager.GoJump(1024)
-- this.ScenceBtnClick(FUNCTION_OPEN_TYPE.ASPECT_STAR)
-- end)
-- 好友
Util.AddClick(this.btnFriend, function()
UIManager.OpenPanel(UIName.GoodFriendMainPanel)
end)
--Util.AddClick(this.btnSet, function()
-- UIManager.OpenPanel(UIName.SettingPanel)
--end)
--Util.AddClick(this.btnGonghuizhan, function()
-- if PlayerManager.familyId == 0 then
-- PopupTipPanel.ShowTip("尚未加入公会")
-- return
-- end
-- if not GuildFightManager.IsInGuildFight() then
-- PopupTipPanel.ShowTip("公会战未开始")
-- return
-- end
-- JumpManager.GoJump(4001)
--end)
-- 外敌(NPC按钮)
Util.AddClick(this.btnAlienNPC, function()
this.FunctionClickEvent(FUNCTION_OPEN_TYPE.FIGHT_ALIEN, function ()
-- 外敌展示界面
local list = AdventureManager.GetAdventureEnemyList()
if not list or #list <= 0 or GetTimeStamp() > list[1].levelTime then
PopupTipPanel.ShowTip(Language[10703])
return
end
UIManager.OpenPanel(UIName.MonsterShowPanel, list[1].bossGroupId, function()
UIManager.OpenPanel(UIName.FormationPanel, FORMATION_TYPE.ADVENTURE_BOSS, list[1])
end, function()end, true, 4)
end)
end)
-- 场景中的外敌
Util.AddClick(this.btnWaiDi, function ()
this.FunctionClickEvent(FUNCTION_OPEN_TYPE.FIGHT_ALIEN, function ()
UIManager.OpenPanel(UIName.AlienMainPanel)
end)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.FIGHT_ALIEN)
end)
-- 天赋
-- Util.AddClick(this.btnTianFu, function ()
-- this.FunctionClickEvent(FUNCTION_OPEN_TYPE.TALENT_TREE, function ()
-- UIManager.OpenPanel(UIName.WorkShowTechnologPanel, 1)
-- end)
-- this.ScenceBtnClick(FUNCTION_OPEN_TYPE.TALENT_TREE)
-- end)
-- 异妖
Util.AddClick(this.btnYiYao, function ()
this.FunctionClickEvent(FUNCTION_OPEN_TYPE.DIFFER_DEMONS, function ()
UIManager.OpenPanel(UIName.DiffMonsterPanel)
end)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.DIFFER_DEMONS)
end)
Util.AddClick(this.btnPokemon, function ()
this.FunctionClickEvent(FUNCTION_OPEN_TYPE.POKEMON, function ()
UIManager.OpenPanel(UIName.PokemonMainPanel)
end)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.POKEMON)
end)
Util.AddClick(this.btnSupreme, function ()
UIManager.OpenPanel(UIName.SupremeHeroPopup)
end)
--成长礼包
Util.AddClick(this.btnUpGradePackage, function ()
UIManager.OpenPanel(UIName.UpGradePackagePanel)
end)
--破阵诛仙、限时召唤、乾坤宝盒
Util.AddClick(this.btnDynamicActivity, function ()
local dynamicAct = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.DynamicAct)
local curindex = 1
if dynamicAct then
curindex = GlobalActConfig[dynamicAct].ShowArt
end
-- LogBlue("当前选中页签0"..curindex)
UIManager.OpenPanel(UIName.DynamicActivityPanel)
end)
--神将合成、神将置换
Util.AddClick(this.btnCompoundHero, function()
if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.COMPOUND_HERO) then
JumpManager.GoJump(750001)
this.ScenceBtnClick(FUNCTION_OPEN_TYPE.COMPOUND_HERO)
else
PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.COMPOUND_HERO))
end
-- UIManager.OpenPanel(UIName.CompoundHeroPanel)--开发用,之后删除 释放上面
end)
-- 十绝阵
Util.AddClick(this.deathPosBtn, function()
JumpManager.GoJump(75001)
end)
-- 巅峰
Util.AddClick(this.topMatchBtn, function()
UIManager.OpenPanel(UIName.ArenaTopMatchPanel)
end)
--三界除魔
Util.AddClick(this.btnDemonSlayer, function()
UIManager.OpenPanel(UIName.DemonSlayerPanel)
end)
this.BindRedPoint()
end
--点击时检测功能
function this.FunctionClickEvent(funcId, callback)
if not funcId or funcId == 0 or not callback then return end
local isOpen = ActTimeCtrlManager.SingleFuncState(funcId)
if isOpen then
if callback then callback() end
else
PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(funcId))
end
end
-- 所有按钮的额外点击事件
function this.ScenceBtnClick(funcId)
if ActTimeCtrlManager.IsQualifiled(funcId) then
if funcId == FUNCTION_OPEN_TYPE.GUILD then
this.operateNewText[FUNCTION_OPEN_TYPE.GUILD]:SetActive(false)
this.BtView:CheckMainCityNew()
end
end
FunctionOpenMananger.CleadNewText(funcId)
end
-- 设置图标动画
function this.SetAnim()
local isOpen = FunctionOpenMananger.GetRootState(PanelTypeView.MainCity)
if isOpen then
PlayUIAnim(this.animRoot)
else
PlayUIAnimBack(this.animRoot)
end
end
-- 绑定红点
function this.BindRedPoint()
-- 绑定红点
BindRedPointObject(RedPointType.Recharge, this.rechargeRedPoint)
BindRedPointObject(RedPointType.Operating, this.packageGiftRedPoint)
BindRedPointObject(RedPointType.VipPrivilege, this.vipRedPoint)
BindRedPointObject(RedPointType.FirstRecharge, this.firstRechargeRedPoint)
BindRedPointObject(RedPointType.Mail, this.mailRedPoint)
BindRedPointObject(RedPointType.DailyTaskMain, this.DailyRedPoint)
BindRedPointObject(RedPointType.Shop, this.rpShangdian)
BindRedPointObject(RedPointType.Shop_Roam_Check, this.rpYunyou)
BindRedPointObject(RedPointType.TreasureOfSl, this.treasureOfSlRedPoint)
BindRedPointObject(RedPointType.Expert, this.expertRedPoint)
BindRedPointObject(RedPointType.WarPowerSort, this.warPowerSortRedPoint)
BindRedPointObject(RedPointType.SevenDayCarnival, this.sevenDayCarnivalRedPoint)
BindRedPointObject(RedPointType.DailyRecharge, this.dailyRechargeRedPoint)
BindRedPointObject(RedPointType.CourtesyDress, this.courtesyDressRedPoint)
--BindRedPointObject(RedPointType.LuckyCat, this.luckyCatRedPoint)
--BindRedPointObject(RedPointType.SecretTer, this.rpMijing)
BindRedPointObject(RedPointType.Arena, this.rpJingjichang)
BindRedPointObject(RedPointType.Friend, this.friendRed)
BindRedPointObject(RedPointType.RankingSort, this.rankRed)
--BindRedPointObject(RedPointType.Setting, this.setRed)
BindRedPointObject(RedPointType.Setting, this.headRedpot)
--BindRedPointObject(RedPointType.Recruit, this.rpZhaomu)
-- BindRedPointObject(RedPointType.Guild, this.rpGonghui)
BindRedPointObject(RedPointType.Recruit, this.rpRecruit)
BindRedPointObject(RedPointType.SecretBox, this.rpSecretBox)
BindRedPointObject(RedPointType.Alien, this.rpAlien)
BindRedPointObject(RedPointType.DiffMonster, this.rpYiYao)
BindRedPointObject(RedPointType.SupremeHero, this.supremeRedPoint)
BindRedPointObject(RedPointType.LuckyTurn, this.luckyTurnRedPoint)
BindRedPointObject(RedPointType.FindFairy, this.findFairyRedPoint)
--BindRedPointObject(RedPointType.Achievement_Main, this.AchievementRedPoint)
BindRedPointObject(RedPointType.Vientiane, this.rpColorfulWorld)
BindRedPointObject(RedPointType.DynamicActivity, this.DynamicActivityRedPoint)
BindRedPointObject(RedPointType.PokemonMainCity, this.rpPokemon)
end
-- 绑定红点
function this.ClearRedPoint()
-- 绑定红点
ClearRedPointObject(RedPointType.Recharge, this.rechargeRedPoint)
ClearRedPointObject(RedPointType.Operating, this.packageGiftRedPoint)
ClearRedPointObject(RedPointType.VipPrivilege, this.vipRedPoint)
ClearRedPointObject(RedPointType.FirstRecharge, this.firstRechargeRedPoint)
ClearRedPointObject(RedPointType.Mail, this.mailRedPoint)
ClearRedPointObject(RedPointType.DailyTaskMain, this.DailyRedPoint)
ClearRedPointObject(RedPointType.Shop, this.rpShangdian)
ClearRedPointObject(RedPointType.Shop_Roam_Check, this.rpYunyou)
ClearRedPointObject(RedPointType.TreasureOfSl, this.treasureOfSlRedPoint)
ClearRedPointObject(RedPointType.Expert, this.expertRedPoint)
ClearRedPointObject(RedPointType.WarPowerSort, this.warPowerSortRedPoint)
ClearRedPointObject(RedPointType.SevenDayCarnival, this.sevenDayCarnivalRedPoint)
ClearRedPointObject(RedPointType.DailyRecharge, this.dailyRechargeRedPoint)
ClearRedPointObject(RedPointType.CourtesyDress, this.courtesyDressRedPoint)
--ClearRedPointObject(RedPointType.LuckyCat, this.luckyCatRedPoint)
--ClearRedPointObject(RedPointType.SecretTer, this.rpMijing)
ClearRedPointObject(RedPointType.Arena, this.rpJingjichang)
ClearRedPointObject(RedPointType.Friend, this.friendRed)
ClearRedPointObject(RedPointType.RankingSort, this.rankRed)
--ClearRedPointObject(RedPointType.Setting, this.setRed)
ClearRedPointObject(RedPointType.Setting, this.headRedpot)
--ClearRedPointObject(RedPointType.Recruit, this.rpZhaomu)
-- ClearRedPointObject(RedPointType.Guild, this.rpGonghui)
ClearRedPointObject(RedPointType.Recruit, this.rpRecruit)
ClearRedPointObject(RedPointType.SecretBox, this.rpSecretBox)
ClearRedPointObject(RedPointType.Alien, this.rpAlien)
ClearRedPointObject(RedPointType.DiffMonster, this.rpYiYao)
ClearRedPointObject(RedPointType.SupremeHero, this.supremeRedPoint)
ClearRedPointObject(RedPointType.LuckyTurn, this.luckyTurnRedPoint)
ClearRedPointObject(RedPointType.FindFairy, this.findFairyRedPoint)
--ClearRedPointObject(RedPointType.Achievement_Main, this.AchievementRedPoint)
ClearRedPointObject(RedPointType.Vientiane, this.rpColorfulWorld)
ClearRedPointObject(RedPointType.DynamicActivity, this.DynamicActivityRedPoint)
ClearRedPointObject(RedPointType.PokemonMainCity, this.rpPokemon)
end
--添加事件监听(用于子类重写)
function this:AddListener()
Game.GlobalEvent:AddEvent(GameEvent.Player.OnChangeName, this.RefreshChangeName)
Game.GlobalEvent:AddEvent(GameEvent.FunctionCtrl.OnFunctionOpen, this.InitFuncShow)
Game.GlobalEvent:AddEvent(GameEvent.FunctionCtrl.OnFunctionClose, this.InitFuncShow)
Game.GlobalEvent:AddEvent(GameEvent.Activity.OnActivityOpenOrClose, this.RefreshActivityBtn)
Game.GlobalEvent:AddEvent(GameEvent.Activity.OnPatFaceRedRefresh, this.RefreshShowPatPaceActivity)
Game.GlobalEvent:AddEvent(GameEvent.Questionnaire.OnQuestionnaireChange, this.OnQuestionnaireCallBack)
Game.GlobalEvent:AddEvent(GameEvent.Adventure.OnEnemyListChanged, this.OnAlienListChanged)
Game.GlobalEvent:AddEvent(GameEvent.Player.OnPlayerLvChange, this.RefreshPlayerInfoShow)
Game.GlobalEvent:AddEvent(GameEvent.EightDay.GetRewardSuccess, this.RefreshEightGiftPreview)
Game.GlobalEvent:AddEvent(GameEvent.FiveAMRefresh.ServerNotifyRefresh, this.RefreshEightGiftPreview)
Game.GlobalEvent:AddEvent(GameEvent.FindFairy.RefreshBuyOpenState, this.RefreshGiftBtnShow)
Game.GlobalEvent:AddEvent(GameEvent.Player.OnShowBattleUpLvTip, this.RefreshBattleUpLvTip)
end
--移除事件监听(用于子类重写)
function this:RemoveListener()
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnChangeName, this.RefreshChangeName)
Game.GlobalEvent:RemoveEvent(GameEvent.FunctionCtrl.OnFunctionOpen, this.InitFuncShow)
Game.GlobalEvent:RemoveEvent(GameEvent.FunctionCtrl.OnFunctionClose, this.InitFuncShow)
Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnActivityOpenOrClose, this.RefreshActivityBtn)
Game.GlobalEvent:RemoveEvent(GameEvent.Activity.OnPatFaceRedRefresh, this.RefreshShowPatPaceActivity)
Game.GlobalEvent:RemoveEvent(GameEvent.Questionnaire.OnQuestionnaireChange, this.OnQuestionnaireCallBack)
Game.GlobalEvent:RemoveEvent(GameEvent.Adventure.OnEnemyListChanged, this.OnAlienListChanged)
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnPlayerLvChange, this.RefreshPlayerInfoShow)
Game.GlobalEvent:RemoveEvent(GameEvent.EightDay.GetRewardSuccess, this.RefreshEightGiftPreview)
Game.GlobalEvent:RemoveEvent(GameEvent.FiveAMRefresh.ServerNotifyRefresh, this.RefreshEightGiftPreview)
Game.GlobalEvent:RemoveEvent(GameEvent.FindFairy.RefreshBuyOpenState, this.RefreshGiftBtnShow)
Game.GlobalEvent:RemoveEvent(GameEvent.Player.OnShowBattleUpLvTip, this.RefreshBattleUpLvTip)
end
function this:OnSortingOrderChange()
self.sceneTran.gameObject:GetComponent("Canvas").sortingOrder = self.sortingOrder - 4
Util.GetGameObject(self.sceneTran.gameObject, "layer7"):GetComponent("Canvas").sortingOrder = self.sortingOrder - 3
this.npcRoot:GetComponent("Canvas").sortingOrder = self.sortingOrder - 2
this.decorateRoot:GetComponent("Canvas").sortingOrder = self.sortingOrder - 1
Util.AddParticleSortLayer(this.btnClickMove, self.sortingOrder - orginLayer)
Util.AddParticleSortLayer(this.sceneTran.gameObject, self.sortingOrder - orginLayer)
Util.AddParticleSortLayer(this.mountainTran.gameObject, self.sortingOrder - orginLayer)
Util.AddParticleSortLayer(Util.GetGameObject(this.decorateRoot, "effect"), self.sortingOrder - orginLayer)
Util.AddParticleSortLayer(this.sgEffect[1], self.sortingOrder - orginLayer)
Util.AddParticleSortLayer(this.sgEffect[2], self.sortingOrder - orginLayer)
Util.AddParticleSortLayer(this.vipPrivilegeBtn, self.sortingOrder - orginLayer)
if orginLayer < 100 then
Util.AddParticleSortLayer(self.GuideEffectGo, self.sortingOrder)
Util.AddParticleSortLayer(self.GuideJumpEffectGo, self.sortingOrder)
else
Util.AddParticleSortLayer(self.GuideEffectGo, self.sortingOrder - orginLayer)
Util.AddParticleSortLayer(self.GuideJumpEffectGo, self.sortingOrder - orginLayer)
end
orginLayer = self.sortingOrder
this.BtView:SetOrderStatus({ sortOrder = self.sortingOrder })
-- 头像层级
if this.playerHead then
this.playerHead:SetLayer(self.sortingOrder)
end
end
--界面打开时调用(用于子类重写)
function this:OnShow()
-- 音效
if isFirstOpen >= 2 then
-- PlaySoundWithoutClick(SoundConfig.Sound_interface)
end
isFirstOpen = isFirstOpen + 1
isRefeshIcon = true
this.vipLevelText.sprite = VipManager.SetVipLevelImg()
timePressStarted = Time.realtimeSinceStartup
SoundManager.PlayMusic(SoundConfig.BGM_Main)
this.level.text = PlayerManager.level
this.expSliderValue.value = PlayerManager.exp / PlayerManager.userLevelData[PlayerManager.level].Exp
this.playName.text = PlayerManager.nickName
this.heroTeamPower.text = FormationManager.GetFormationPower(FormationManager.curFormationIndex)
if not this.playerHead then
this.playerHead = SubUIManager.Open(SubUIConfig.PlayerHeadView, this.headPos.transform)
end
this.playerHead:SetHead(PlayerManager.head)
this.playerHead:SetFrame(HeadManager.GetCurFrameId())
this.playerHead:SetScale(Vector3.one * 0.9)
this.playerHead:SetPosition(Vector3.New(-5, 8, 0))
this.playerHead:SetLayer(this.sortingOrder)
this.playerHead:SetEffectScale(0.85)
Log(string.format("---------------------%s", BagManager.GetItemCountById(14)))
this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.Main })
this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.MainCity })
-- 刷新功能显示
this.InitFuncShow()
this.RefreshActivityShow()
this.RefreshFuncNewText()
this.RefreshGiftBtnShow()
-- 主界面time创建
endTime = ActivityGiftManager.GetTaskEndTime(ActivityTypeDef.SupremeHero)
this.TimeFormat()
if not this._TimeCounter then
this._TimeCounter = Timer.New(this.TimeFormat, 1, -1, true)
this._TimeCounter:Start()
end
--
if (AdventureManager.drop ~= nil and AdventureManager.offlineTime ~= 0) then
if AdventureManager.isFirstEnterGetReward and #AdventureManager.drop.itemlist > 0 then
UIManager.OpenPanel(UIName.AdventureProgressPopup)
AdventureManager.isFirstEnterGetReward = false
end
end
-- 开始定时刷新聊天数据
this.ChatTipView:StartCheck()
-- 刷新拍脸
local patFaceAllData = PatFaceManager.GetPatFaceAllDataTabs()
if patFaceAllData and #patFaceAllData <= 0 and not UIManager.IsOpen(UIName.PatFacePanel) then
if FirstRechargeManager.IsShowFirstChatge() then
FirstRechargeManager.PlayerPrefsSetStrItemId(1)
--发送埋点数据
CustomEventManager.SendCustomEvents(FBSDKCustomEventType.FirstRecharge,0)
UIManager.OpenPanel(UIName.FirstRechargePanel,nil,function()
AdventureManager.GetIsMaxTime()
end)
else
AdventureManager.GetIsMaxTime()
end
end
--主城调了两边 所以做特殊判断
if not UIManager.IsOpen(UIName.PatFacePanel) then
this.RefreshShowPatPaceActivity()
end
-- 设置主城小人名字
if self.playerView then
self.playerView:SetName()
end
-- 检测公会tip
GuildManager.CheckGuildTip()
--远征主城红点
--Log("ExpeditionManager.GetNodeBoxnIsShowRedPoint() "..tostring(ExpeditionManager.GetNodeBoxnIsShowRedPoint() ))
--Log(" ExpeditionManager.GetActivityIsShowRedPoint(false) "..tostring( ExpeditionManager.GetActivityIsShowRedPoint(false)))
--this.rpExpedition:SetActive(ExpeditionManager.GetNodeBoxnIsShowRedPoint() or ExpeditionManager.GetActivityIsShowRedPoint(false))
--this.horseRaceLamp:SetActive(false)
--if UIManager.IsOpen(UIName.RewardItemSingleShowPopup) then
-- UIManager.ClosePanel(UIName.RewardItemSingleShowPopup)
--end
CheckRedPointStatus(RedPointType.RankingSort)
if PlayerManager.IsGetFiveStarHero then --and OperatingManager.IsShowFiveStarPatch then
Game.GlobalEvent:DispatchEvent(GameEvent.PatFace.PatFaceSend, FacePanelType.GrowGift, 5)
PlayerManager.IsGetFiveStarHero = false
end
PlayerManager.StarBattleUpLvTipTime(1)
this.battleUpLvTip:SetActive(false)
--检测灵兽红点
PokemonManager.CheckRedPointStatusPokemonMainCityRed()
end
-- 刷新玩家基础信息显示
function this.RefreshPlayerInfoShow()
this.vipLevelText.sprite = VipManager.SetVipLevelImg()
this.level.text = PlayerManager.level
this.expSliderValue.value = PlayerManager.exp / PlayerManager.userLevelData[PlayerManager.level].Exp
this.playName.text = PlayerManager.nickName
this.heroTeamPower.text = FormationManager.GetFormationPower(FormationManager.curFormationIndex)
end
local isCanShowMainTaskJumpEffect = true
function this:Update()
if curMianTaskData and curMianTaskData.state == 0 then
if isCanShowMainTaskJumpEffect then
if Time.realtimeSinceStartup - timePressStarted > 5 then
isCanShowMainTaskJumpEffect = false
this.GuideJumpEffectGo:SetActive(true)
end
end
if Input.GetMouseButtonDown(0) then
timePressStarted = Time.realtimeSinceStartup
isCanShowMainTaskJumpEffect = true
this.GuideJumpEffectGo:SetActive(false)
end
end
-- if Input.GetMouseButtonDown(1) then
-- if ActTimeCtrlManager.SingleFuncState(30) then
-- CarbonManager.difficulty = 2
-- local trialDataConfig = ConfigManager.GetConfig(ConfigName.TrialConfig)
-- if MapTrialManager.curTowerLevel>10000 then
-- MapManager.curMapId = MapTrialManager.GetSurprisedLevelMapId()
-- else
-- MapManager.curMapId = trialDataConfig[MapTrialManager.curTowerLevel].MapId
-- end
-- NetManager.MapInfoRequest(MapManager.curCarbonType, function(msg)
-- MapManager.isReloadEnter = false
-- MapTrialManager.firstEnter = true
-- MapManager.SetViewSize(20)--设置视野范围(明雷形式)
-- MapManager.curAreaId =FormationTypeDef.FORMATION_DREAMLAND
-- MapManager.trialHeroInfo=msg.infos
-- SwitchPanel.OpenPanel(UIName.MapPanel)
-- end)
-- -- local curMapId = trialDataConfig[MapTrialManager.curTowerLevel].MapId
-- -- UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.CARBON, curMapId)
-- -- UIManager.OpenPanel(UIName.TrialCarbonPanel)
-- -- RedPointManager.PlayerPrefsSetStr(PlayerManager.uid .. "Trial", 1)
-- -- CheckRedPointStatus(RedPointType.EpicExplore_OpenCarbon)
-- -- this.RefreshOpenText(CARBON_TYPE.TRIAL, FUNCTION_OPEN_TYPE.TRIAL)
-- -- FunctionOpenMananger.CleadNewText(FUNCTION_OPEN_TYPE.TRIAL)
-- -- LogBlue(Language[11163])
-- else
-- PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.TRIAL))
-- end
-- end
end
-- 刷新功能显示
function this.InitFuncShow(funcType)
--判断开服有礼是否全部领完
if not funcType or funcType == FUNCTION_OPEN_TYPE.SERVER_START_GIFT then
if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.SERVER_START_GIFT) then
if not ActivityGiftManager.onlineOpen and not ActivityGiftManager.sevenDayOpen and not ActivityGiftManager.chapterOpen then
this.courtesyDress:SetActive(false)
else
this.courtesyDress:SetActive(true)
end
else
this.courtesyDress:SetActive(false)
end
if funcType == FUNCTION_OPEN_TYPE.SERVER_START_GIFT then
return
end
end
-- 公会战显示
-- if not funcType or funcType == FUNCTION_OPEN_TYPE.GUILD then
-- this.RefreshGuildFightShow()
-- end
-- 外敌npc显示
--if not funcType or funcType == FUNCTION_OPEN_TYPE.FIGHT_ALIEN then
-- local isAlienActive = ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.FIGHT_ALIEN)
-- if isAlienActive then
-- local list = AdventureManager.GetAdventureEnemyList()
-- if not list or #list <= 0 or GetTimeStamp() > list[1].levelTime then
-- this.alienNPC:SetActive(false)
-- else
-- this.alienNPC:SetActive(false) -- todo: 美术说暂时没有资源,策划说暂时隐藏,程序这里不让他显示
-- this.timeAlienNPC.text = TimeToHMS(list[1].levelTime - GetTimeStamp())
-- end
-- else
-- this.alienNPC:SetActive(false)
-- end
--end
-- 需要显示隐藏的功能检测
if funcType then
if this.btnFunHide[funcType] then
ActTimeCtrlManager.SetFuncLockState(this.btnFunHide[funcType], funcType, false)
return
end
else
for i, v in pairs(this.btnFunHide) do
ActTimeCtrlManager.SetFuncLockState(v, i, false)
end
end
---- 新版解锁图标
if funcType then
if this.operateIcon[funcType] then
local isOpen = ActTimeCtrlManager.SingleFuncState(funcType)
if funcType == FUNCTION_OPEN_TYPE.ENDLESS then
isOpen = ActTimeCtrlManager.IsQualifiled(funcType)
end
Util.SetColor(this.operateIcon[funcType].lock, Color.New(1, 1, 1, 0.59))
this.operateIcon[funcType].lock:SetActive(not isOpen)
this.operateIcon[funcType].open:SetActive(isOpen)
return
end
else
for i, v in pairs(this.operateIcon) do
local isOpen = ActTimeCtrlManager.SingleFuncState(i)
if i == FUNCTION_OPEN_TYPE.ENDLESS then
isOpen = ActTimeCtrlManager.IsQualifiled(i)
end
v.lock:SetActive(not isOpen)
Util.SetColor(v.lock, Color.New(1, 1, 1, 0.59))
v.open:SetActive(isOpen)
end
end
-- 精英怪按钮显隐设置
this.jingying:SetActive(EliteMonsterManager.HasEliteMonster())
this.yunyou:SetActive(ShopManager.IsActive(SHOP_TYPE.ROAM_SHOP))
this.RefreshFuncNewText()
this.SetAnim()
end
function this.RefreshFuncNewText()
for i, v in pairs(this.operateNewText) do
--Log("当前ID是 === " .. i)
v:SetActive(FunctionOpenMananger.GetModuleOpen(i))
end
end
-- 时间格式化
function this.TimeFormat()
-- 如果逮到一个云游商人
local isRoamActive = ShopManager.IsActive(SHOP_TYPE.ROAM_SHOP)
this.yunyou:SetActive(isRoamActive)
if isRoamActive then
local closeTime = ShopManager.GetShopCloseTime(SHOP_TYPE.ROAM_SHOP)
if closeTime >= 0 then
this.timeYunyou.text = TimeToMS(closeTime)
end
end
-- 刷新精英怪
if this.jingying.activeSelf then
local leftTime = EliteMonsterManager.GetLeftTime()
this.eliteMonsterTimeText.text = TimeToMS(leftTime)
if leftTime <= 0 then
this.jingying:SetActive(false)
end
end
-- 判断是否显示工会战
-- this.RefreshGuildFightShow()
--local isShow = PlayerManager.familyId ~= 0 and GuildFightManager.IsInGuildFight()
--if this.isGHZShow ~= isShow then
-- this.RefreshGuildFightShow()
--end
-- 刷新外敌次数刷新时间
--if this.alienNPC.activeSelf then
-- local list = AdventureManager.GetAdventureEnemyList()
-- if not list or #list == 0 then
-- this.alienNPC:SetActive(false)
-- else
-- local curTimeStamp = GetTimeStamp()
-- local remainTime = list[1].levelTime - curTimeStamp
-- if remainTime <= 0 then
-- this.alienNPC:SetActive(false)
-- else
-- this.timeAlienNPC.text = TimeToHMS(remainTime)
-- end
-- end
--end
-- 显示活动倒计时
local isOpen = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SupremeHero)
if isOpen and isOpen > 0 and ActivityGiftManager.GetRewardState(42)~=3 then --活动开启并且未领取完毕
if endTime - PlayerManager.serverTime > 0 then
-- 第一次解锁
if supremHadSet then
this.btnSupreme:SetActive(true)
end
local time = endTime - PlayerManager.serverTime
if time>= 86400 then
this.supremeTime.text = TimeToDH(time)
else
this.supremeTime.text = TimeToHMS(time)
end
supremHadSet = false
else
this.btnSupreme:SetActive(false)
end
else
if not supremHadSet then
this.btnSupreme:SetActive(false)
end
supremHadSet = true
end
-- 超值基金
local isOpen_128 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_128)
local isOpen_328 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_328)
local cardType = nil
if isOpen_328 then
cardType = GoodsTypeDef.MONTHCARD_328
end
if not cardType and isOpen_128 then
cardType = GoodsTypeDef.MONTHCARD_328
end
local isShow = false
if cardType then
local data = OperatingManager.GetGiftGoodsInfo(cardType)
if data then
local time = data.endTime - PlayerManager.serverTime
if time>= 86400 then
this.upperMonthCardTime.text = TimeToDH(time)
else
this.upperMonthCardTime.text = TimeToHMS(time)
end
isShow = true
end
end
if isUpperMonthCardTimeShow ~= isShow then
this.upperMonthCardTimeBg:SetActive(isShow)
this.upperMonthCardTime.gameObject:SetActive(isShow)
isUpperMonthCardTimeShow = isShow
end
--限时折扣
local giftList = {}
giftList = this:GetInfoList()
if #giftList > 0 then
this.upGradePackageBtn:SetActive(true)
this.upGradePackageTime.text = TimeToHMS(giftList[1].endTime-GetTimeStamp())
if giftList[1].endTime-GetTimeStamp() < 1 then
OperatingManager.RemoveItemInfoByType(GoodsTypeDef.DirectPurchaseGift, giftList[1].goodsId)
end
else
this.upGradePackageBtn:SetActive(false)
end
--轮转活动,乾坤宝盒
local dynamicAct = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.DynamicAct)
if dynamicAct then
if isRefeshIcon then
local curindex = GlobalActConfig[dynamicAct].ShowArt
Util.GetGameObject(this.btnDynamicActivity,"Image"):GetComponent("Image").sprite = Util.LoadSprite(mainDynamicActivityIcon[curindex])
isRefeshIcon = false
end
local info = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.DynamicAct)
local tempTime = info.endTime - PlayerManager.serverTime
if tempTime>= 86400 then
this.DynamicActivityTime.text = TimeToDH(tempTime)
else
this.DynamicActivityTime.text = TimeToHMS(tempTime)
end
else
this.btnDynamicActivity:SetActive(false)
end
--青龙秘宝
local QingLong = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.TreasureOfSomeBody) and ActivityGiftManager.IsQualifiled(ActivityTypeDef.TreasureOfSomeBody)
if QingLong then
local info = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.TreasureOfSomeBody)
local tempTime = info.endTime - PlayerManager.serverTime
if tempTime > 86400 then
this.treasureOfSlText.text = TimeToDH(tempTime)
elseif tempTime > 0 then
this.treasureOfSlText.text = TimeToHMS(tempTime)
else
this.treasureOfSl.gameObject:SetActive(false)
end
else
this.treasureOfSl.gameObject:SetActive(false)
end
--云梦祈福
local YunMeng = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.Pray)
if YunMeng then
local info = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.Pray)
local tempTime = info.endTime - PlayerManager.serverTime
if tempTime>= 86400 then
this.paryGiftTime.text = TimeToDH(tempTime)
else
this.paryGiftTime.text = TimeToHMS(tempTime)
end
end
--云梦祈福
local treasureStore = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.TreasureStore)
if treasureStore and treasureStore > 0 then
local info = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.TreasureStore)
local tempTime = info.endTime - PlayerManager.serverTime
if tempTime>= 86400 then
this.treasureStoreTime.text = TimeToDH(tempTime)
else
this.treasureStoreTime.text = TimeToHMS(tempTime)
end
else
this.treasureStoreBtn.gameObject:SetActive(false)
end
-- 巅峰赛
local function SetTopMatchActive(isActive)
if isActive ~= this.isTopMatchShow then
this.isTopMatchShow = isActive
this.topMatchBtn:SetActive(isActive)
end
end
local isOpen = ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.ARENA)
local baseInfo = ArenaTopMatchManager.GetBaseData()
if not isOpen or not baseInfo or not baseInfo.battleStage or baseInfo.battleStage == TOP_MATCH_STAGE.OVER then
SetTopMatchActive(false)
elseif baseInfo.battleStage == TOP_MATCH_STAGE.CLOSE then
local startTime = ArenaTopMatchManager.GetTopMatchTime()
local tempTime = startTime - PlayerManager.serverTime
-- 当日五点开始显示
if tempTime > 0 and tempTime < 16 * 60 * 60 then
SetTopMatchActive(true)
this.topMatchTime.text = "距开始\n"..TimeToHMS(tempTime)
else
SetTopMatchActive(false)
end
else
SetTopMatchActive(true)
this.topMatchTime.text = "鏖战中"
end
-- 十绝阵
local function SetDeathPosActive(isActive)
if isActive ~= this.isDeathPosShow then
this.isDeathPosShow = isActive
this.deathPosBtn:SetActive(isActive)
end
end
local status = DeathPosManager.GetStatus()
local endTime = DeathPosManager.GetOverTime()
if not status or status == DeathPosStatus.Close or status == DeathPosStatus.Belated or status == DeathPosStatus.Reward then
SetDeathPosActive(false)
-- elseif baseInfo.battleStage == TOP_MATCH_STAGE.CLOSE then
-- SetTopMatchActive(true)
-- local tempTime = this.baseInfo.endTime - PlayerManager.serverTime
-- this.topMatchTime.text = "距开始"..TimeToHMS(tempTime)
else
if endTime then
local tempTime = endTime - PlayerManager.serverTime
if tempTime and tempTime > 0 then
this.deathPosTime.text = "距闯阵结束\n"..TimeToHMS(tempTime)
SetDeathPosActive(true)
else
SetDeathPosActive(false)
end
else
SetDeathPosActive(false)
end
end
--三界除魔
local function SetDemonSlayerActive(isActive)
if isActive ~= this.isDemonSlayerShow then
this.isDemonSlayerShow = isActive
this.btnDemonSlayer:SetActive(isActive)
end
end
local DemonSlayer = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.DemonSlayer)
if not DemonSlayer then
SetDemonSlayerActive(false)
else
local DemonSlayerEndTime = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.DemonSlayer).endTime
-- LogGreen(TimeToDHMS(DemonSlayerEndTime - GetTimeStamp()))
local extraTime = ConfigManager.GetConfigData(ConfigName.GlobalActivity,DemonSlayer).GapTime*86400
if DemonSlayerEndTime then
SetDemonSlayerActive(true)
if DemonSlayerEndTime - GetTimeStamp() > extraTime then
local time = DemonSlayerEndTime - GetTimeStamp()-extraTime
if time > 86400 then
this.DemonSlayerTime.text = TimeToDH(time)
else
this.DemonSlayerTime.text = TimeToHMS(time)
end
else
local time = DemonSlayerEndTime - GetTimeStamp()
if time > 86400 then
this.DemonSlayerTime.text = TimeToDH(time)
else
this.DemonSlayerTime.text = TimeToHMS(time)
end
end
else
SetDemonSlayerActive(false)
end
end
end
--为限时折扣写的
function this:GetInfoList()
local giftList={}
local infoList = OperatingManager.GetGiftGoodsInfoList(GoodsTypeDef.DirectPurchaseGift)--拿取所有类型5礼包信息(包含需要的礼包)
local infoList2 = ConfigManager.GetAllConfigsDataByKey(ConfigName.RechargeCommodityConfig,"ShowType",21)
for index, value in pairs(infoList) do
for i = 1, #infoList2 do
if infoList2[i].Id == value.goodsId and value.dynamicBuyTimes > 0 then
table.insert(giftList,value)
end
end
end
local infoList3 = ConfigManager.GetAllConfigsDataByKey(ConfigName.RechargeCommodityConfig,"ShowType",8)
for index, value in pairs(infoList) do
for i = 1, #infoList3 do
if infoList3[i].Id == value.goodsId and value.dynamicBuyTimes > 0 then
table.insert(giftList,value)
end
end
end
local infoList4 = ConfigManager.GetAllConfigsDataByKey(ConfigName.RechargeCommodityConfig,"ShowType",25)
for index, value in pairs(infoList) do
for i = 1, #infoList4 do
if infoList4[i].Id == value.goodsId and value.dynamicBuyTimes > 0 then
table.insert(giftList,value)
end
end
end
local infoList5 = ConfigManager.GetAllConfigsDataByKey(ConfigName.RechargeCommodityConfig,"ShowType",26)
for index, value in pairs(infoList) do
for i = 1, #infoList5 do
if infoList5[i].Id == value.goodsId and value.dynamicBuyTimes > 0 then
table.insert(giftList,value)
end
end
end
return giftList
end
-- function this:OnCloseBefore(action)
-- PlayUIAnimBacks(this.gameObject, action)
-- end
--界面关闭时调用(用于子类重写)
function this:OnClose()
-- 关闭定时刷新数据
PlayerManager.StopBattleUpLvTipTime()
this.ChatTipView:StopCheck()
PatFaceManager.isLogin = false
--if patFaceCallList then
-- patFaceCallList:Clear()
--end
end
--界面销毁时调用(用于子类重写)
function this:OnDestroy()
SubUIManager.Close(this.UpView)
SubUIManager.Close(this.BtView)
-- SubUIManager.Close(this.HorseRaceLampView)
SubUIManager.Close(this.ChatTipView)
-- 清楚红点
this.ClearRedPoint()
-- 头像回收
if this.playerHead then
this.playerHead:Recycle()
this.playerHead = nil
end
-- 计时器
if this._TimeCounter then
this._TimeCounter:Stop()
this._TimeCounter = nil
end
if this.timer then
this.timer:Stop()
this.timer = nil
end
end
--更改姓名刷新
function this.RefreshChangeName()
if (NameManager.GetRoleName() ~= "") then
PlayerManager.nickName = NameManager.GetRoleName()
end
end
-- 刷新一些购买活动的按钮限时
function this.RefreshGiftBtnShow()
local isOpen_128 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_128)
local isOpen_328 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_328)
this.upperMonthCardBtn:SetActive(isOpen_128 or isOpen_328)
-- local isOpen_upgrade = OperatingManager.IsBaseOpen(GoodsTypeDef.UpgradePackage)
-- this.upGradePackageBtn:SetActive(isOpen_upgrade)
end
--后台推送
function this.RefreshActivityBtn(context)
Log("context.type1 " .. context.type .. " " .. context.status)
if context.type == ActivityTypeDef.TreasureOfSomeBody then
if ActivityGiftManager.IsQualifiled(ActivityTypeDef.TreasureOfSomeBody) then
this.treasureOfSl:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.TreasureOfSomeBody))
else
this.treasureOfSl:SetActive(false)
end
elseif context.type == ActivityTypeDef.Pray then
this.paryGift:SetActive(context.status == 1)
elseif context.type == ActivityTypeDef.WarPowerSort then
if ActTimeCtrlManager.IsQualifiled(43) then
Log("context.type1 " .. context.type .. " " .. context.status)
this.warPowerSort:SetActive(context.status == 1)
end
elseif context.type == ActivityTypeDef.SevenDayCarnival then
if ActTimeCtrlManager.IsQualifiled(39) then
this.sevenDayCarnivalBtn:SetActive(context.status == 1)
if this.sevenDayCarnivalBtn.activeSelf then
this.SetSevenDayCarnivalName()
end
end
elseif context.type == ActivityTypeDef.FirstRecharge then
if ActTimeCtrlManager.IsQualifiled(38) then
this.firstRechargeBtn:SetActive(context.status == 1)
--if not this.firstRechargeBtn.activeSelf then
if ActTimeCtrlManager.IsQualifiled(41) then
this.dailyRechargeBtn:SetActive(DailyRechargeManager.GetDailyRechargeExist())
end
--end
end
elseif context.type == ActivityTypeDef.DailyRecharge then
if ActTimeCtrlManager.IsQualifiled(41) then
--if not this.firstRechargeBtn.activeSelf then
this.dailyRechargeBtn:SetActive(context.status == 1)
--end
end
--elseif context.type == ActivityTypeDef.LuckyCat then
-- this.luckyCatBtn:SetActive(context.status == 1)
-- if(context.status == 1) then
-- LuckyCatManager.isOpenLuckyCat=true
-- else
-- LuckyCatManager.isOpenLuckyCat=false
-- end
elseif context.type == ActivityTypeDef.SupremeHero then
if ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SupremeHero) then
this.btnSupreme:SetActive(ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SupremeHero) > 0 and ActivityGiftManager.GetRewardState(42)~=3)
end
elseif context.type==ActivityTypeDef.DynamicAct then
isRefeshIcon = true
this.btnDynamicActivity:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.DynamicAct))
elseif context.type==ActivityTypeDef.TreasureStore then
isRefeshIcon = true
this.treasureStoreBtn:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.TreasureStore))
end
if ActTimeCtrlManager.IsQualifiled(42) then
this.expert:SetActive(ActivityGiftManager.GetExpertActiveisOpen() > 0)
end
isRefeshIcon = true
end
--客户端自己Show刷新
function this.RefreshActivityShow()
if ActivityGiftManager.IsQualifiled(ActivityTypeDef.TreasureOfSomeBody) then
this.treasureOfSl:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.TreasureOfSomeBody))
else
this.treasureOfSl:SetActive(false)
end
if ActTimeCtrlManager.IsQualifiled(39) then
this.sevenDayCarnivalBtn:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SevenDayCarnival))
if this.sevenDayCarnivalBtn.activeSelf then
this.SetSevenDayCarnivalName()
end
else
this.sevenDayCarnivalBtn:SetActive(false)
end
if ActTimeCtrlManager.IsQualifiled(38) then
this.firstRechargeBtn:SetActive(FirstRechargeManager.GetFirstRechargeExist())
else
this.firstRechargeBtn:SetActive(false)
end
if ActTimeCtrlManager.IsQualifiled(41) then
--if not this.firstRechargeBtn.activeSelf then
this.dailyRechargeBtn:SetActive(DailyRechargeManager.GetDailyRechargeExist())
--else
-- this.dailyRechargeBtn:SetActive(false)
--end
else
this.dailyRechargeBtn:SetActive(false)
end
if ActTimeCtrlManager.IsQualifiled(42) then
this.expert:SetActive(ActivityGiftManager.GetExpertActiveisOpen() > 0)
else
this.expert:SetActive(false)
end
if ActTimeCtrlManager.IsQualifiled(43) then
this.warPowerSort:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.WarPowerSort))
else
this.warPowerSort:SetActive(false)
end
--八日登陆
this.RefreshEightGiftPreview()
--东海寻仙
this.findFairyBtn:SetActive(false)--not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.FindFairy))
--幸运转盘
this.luckyTurnBtn:SetActive(ActTimeCtrlManager.IsQualifiled(FUNCTION_OPEN_TYPE.LUCKYTURN))
--this.AchievementBtn:SetActive(ActTimeCtrlManager.IsQualifiled(FUNCTION_OPEN_TYPE.Achiecement))
--远征
--this.expeditionBtn:SetActive(ActTimeCtrlManager.IsQualifiled(FUNCTION_OPEN_TYPE.EXPEDITION))
this.paryGift:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.Pray))
--this.luckyCatBtn:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.LuckyCat))
this.rechargeBtn:SetActive(ActTimeCtrlManager.IsQualifiled(36)) --ActTimeCtrlManager.IsQualifiled(36))
this.packageGiftBtn:SetActive(ActTimeCtrlManager.IsQualifiled(40))
this.treasureStoreBtn:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.TreasureStore))
this.questionnaireBtn:SetActive(QuestionnaireManager.GetQuestionState() == 0)
--轮转活动 限时召唤 乾坤宝盒
this.btnDynamicActivity:SetActive(not not ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.DynamicAct))
end
function this.SetSevenDayCarnivalName()
if this.sevenDayCarnivalBtn.activeSelf then
local activityId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SevenDayCarnival)
this.SevenDayStage1:SetActive(activityId == 10)
this.SevenDayStage2:SetActive(activityId ~= 10)
end
end
function this.OnQuestionnaireCallBack()
this.questionnaireBtn:SetActive(QuestionnaireManager.GetQuestionState() == 0)
end
function this.RefreshShowPatPaceActivity()
local patFaceAllData = PatFaceManager.GetPatFaceAllDataTabs()
if patFaceAllData and not GuideManager.IsFunctionGuideExist() then
Log("#patFaceAllData " .. #patFaceAllData)
if #patFaceAllData > 0 then
this.patFaceCallList:Clear()
this.patFaceCallList:Push(function()
Log(Language[10583])
Game.GlobalEvent:DispatchEvent(GameEvent.PatFace.PatFaceSendFinish)
AdventureManager.GetIsMaxTime()
end)
for i = #patFaceAllData, 1, -1 do
this.patFaceCallList:Push(function()
PatFaceManager.SetisFirstLogVal(1, { patFaceAllData[i] })
UIManager.OpenPanel(UIName.PatFacePanel, patFaceAllData[i], function()
local time2 = Timer.New(function()
this.patFaceCallList:Pop()()
end, 0.5)
time2:Start()
end)
end)
end
this.patFaceCallList:Pop()()
else
Game.GlobalEvent:DispatchEvent(GameEvent.PatFace.PatFaceSendFinish)
end
end
end
-- 外敌数据变化检测主界面npc显示状态
function this.OnAlienListChanged()
this.InitFuncShow(FUNCTION_OPEN_TYPE.FIGHT_ALIEN)
end
--八日登录奖励预览
function this.RefreshEightGiftPreview()
local state = false
local getRewardState = ActivityGiftManager.sevenDayGetRewardState
for i, v in pairs(getRewardState) do
if (v == 0) then
state = true
end
end
if ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.EightDayGift) and state then
this.RefreshSevenGiftPreview()
this.sgBtn:SetActive(true)
else
this.sgBtn:SetActive(false)
end
end
-- 七日登陆奖励预览
function this.RefreshSevenGiftPreview()
--判断今日是否有可领取
local isHaveGift = ActivityGiftManager.CheckSevenDayRed()
local curDay = math.ceil((CalculateSecondsNowTo_N_OClock(0) + GetTimeStamp() - PlayerManager.userCreateTime)/86400)
local itemId=0
if isHaveGift then
local haveGiftList=nil
for j = 1, #ActivityGiftManager.sevenDayGetRewardState do
if ActivityGiftManager.sevenDayGetRewardState[j]==0 and j<=curDay then
if haveGiftList==nil then
haveGiftList=ConfigManager.GetConfigDataByDoubleKey(ConfigName.ActivityRewardConfig,"ActivityId",56,"Sort",j)
end
end
end
itemId=haveGiftList.Reward[1][1]
local Gift = ConfigManager.GetConfigDataByKey(ConfigName.ItemConfig,"Id",itemId)
this.sgType.text=Gift.Name
this.sgInfo.text=Language[11164]
this.sgEffect[1].gameObject:SetActive(false)
this.sgEffect[2].gameObject:SetActive(true)
else
if (ActivityGiftManager.canRewardDay+1)>=9 then
return
end
for i, v in pairs(ActivityGiftManager.sevenDayData) do
if v.Id==curDay+1 then
itemId= v.Reward[1][1]
local Gift = ConfigManager.GetConfigDataByKey(ConfigName.ItemConfig,"Id",itemId)
this.sgType.text=Gift.Name
break
end
end
this.sgInfo.text=Language[11165]
this.sgEffect[1].gameObject:SetActive(true)
this.sgEffect[2].gameObject:SetActive(false)
end
this.sgItemView:OnOpen(false,{itemId,0},0.73)
this.sgName.text=ConfigManager.GetConfigData(ConfigName.ItemConfig,itemId).Name
end
function this.RefreshBattleUpLvTip()
this.battleUpLvTip:GetComponent("Canvas").sortingOrder = orginLayer + 10
this.battleUpLvTip:SetActive(true)
end
-- 刷新公会战图标显示
-- function this.RefreshGuildFightShow()
-- local isActive = ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.GUILD)
-- local isInGuild = PlayerManager.familyId ~= 0
-- local isInFight = GuildFightManager.IsInGuildFight()
-- local isShow = isActive and isInFight and isInGuild
-- if not isShow then
-- if not this.isGHZShow then return end
-- this.GHZStageAttackEffect:SetActive(false)
-- this.GHZStageImage.gameObject:SetActive(false)
-- this.isGHZShow = false
-- this.GHZ_Stage = nil
-- else
-- local curStage = GuildFightManager.GetCurFightStage()
-- if this.GHZ_Stage ~= curStage then
-- if curStage == GUILD_FIGHT_STAGE.ATTACK then
-- this.GHZStageAttackEffect:SetActive(true)
-- this.GHZStageImage.gameObject:SetActive(false)
-- else
-- this.GHZStageAttackEffect:SetActive(false)
-- local imgName = GHZ_STAGE_IMAGE[curStage]
-- if not imgName then
-- this.GHZStageImage.gameObject:SetActive(false)
-- else
-- this.GHZStageImage.gameObject:SetActive(true)
-- this.GHZStageImage.sprite = Util.LoadSprite(imgName)
-- end
-- end
-- this.GHZ_Stage = curStage
-- end
-- this.isGHZShow = true
-- end
-- end
return MainPanel