diff --git a/lua/app/common/bi_report.lua b/lua/app/common/bi_report.lua
index 4a237637..63c5bd29 100644
--- a/lua/app/common/bi_report.lua
+++ b/lua/app/common/bi_report.lua
@@ -84,7 +84,7 @@ BIReport.ITEM_GET_TYPE = {
PLAYER_LV_UP = "PlayerLvUp",
GOLD_PIG = "GoldPig",
BATTLE_SKILL_REFRESH = "BattleSkillRefresh",
- LEVEL_FUND = "LevelFund",
+ GROWTH_FUND = "GrowthFund",
GROW_UP_GIFT = "GrowUpGift", -- 成长礼包
SEVEN_DAY_TASK = "SevenDayTask",
SEVEN_DAY_STEP_REWARD = "SevenDayStepReward",
@@ -141,7 +141,7 @@ BIReport.GIFT_TYPE = {
GOLD_PIG = "GoldPig",
MALL_TREASURE = "MallTreasure",
ACT_CHAPTER_STORE = "ActChapterStore",
- LEVEL_FUND = "LevelFund",
+ GROWTH_FUND = "GrowthFund",
GROW_UP_GIFT = "GrowUpGift",
}
diff --git a/lua/app/common/data_manager.lua b/lua/app/common/data_manager.lua
index a666b4a3..1a43a6c9 100644
--- a/lua/app/common/data_manager.lua
+++ b/lua/app/common/data_manager.lua
@@ -21,7 +21,7 @@ function DataManager:init()
self:initManager("TaskData", "app/userdata/task/task_data")
self:initManager("DailyTaskData", "app/userdata/task/daily_task_data")
self:initManager("IdleData", "app/userdata/idle/idle_data")
- self:initManager("FundData", "app/userdata/fund/fund_data")
+ self:initManager("GrowthFundData", "app/userdata/fund/growth_fund_data")
self:initManager("SevenDayData", "app/userdata/activity/seven_day/seven_day_data")
self:initManager("ShopData", "app/userdata/shop/shop_data")
self:initManager("SummonData", "app/userdata/summon/summon_data")
@@ -94,7 +94,7 @@ function DataManager:clear()
self.BountyData:clear()
self.DailyTaskData:clear()
self.IdleData:clear()
- self.FundData:clear()
+ self.GrowthFundData:clear()
self.SevenDayData:clear()
self.ShopData:clear()
self.SummonData:clear()
@@ -136,10 +136,10 @@ function DataManager:initWithServerData(data)
self.ShopData:initCommonDailyGoldGift(data.mall_idle and data.mall_idle.ad_count) -- 常驻金币礼包
self.ShopData:initGrowUpGift(data.act_grow_up_gift, data.now_ts) -- 成长礼包
self.ShopData:initLevelUpGift(data.act_level_up_gift) -- 助力/金币礼包
- self.SummonData:init(data.summon, true)
+ self.SummonData:init(data.summon, true)
-- 成长基金要在ShopData和PlayerDataBagData还有之后初始化,依赖这些数据
if data.fund then
- self.FundData:init(data.fund.funds)
+ self.GrowthFundData:init(data.fund.funds)
end
-- 任务数据最后初始化,依赖其他模块的数据
diff --git a/lua/app/common/event_manager.lua b/lua/app/common/event_manager.lua
index 20e2c3ce..921aa902 100644
--- a/lua/app/common/event_manager.lua
+++ b/lua/app/common/event_manager.lua
@@ -23,10 +23,12 @@ EventManager.CUSTOM_EVENT = {
SHOW_ELIMINATION_TUTORAIL = "SHOW_ELIMINATION_TUTORAIL",
BOARD_FILL_OVER = "BOARD_FILL_OVER",
LOGIN_REQ_SUCCESS = "LOGIN_REQ_SUCCESS",
- DAILY_TASK_ADD_PROGRESS = "DAILY_TASK_ADD_PROGRESS",
+ DAILY_TASK_COMPLETE = "DAILY_TASK_COMPLETE", -- 每日任务完成
BOSS_ENTER_ANI_OVER = "BOSS_ENTER_ANI_OVER",
- TIME_TRIGGERED_NEW_EMAIL = "TIME_TRIGGERED_NEW_EMAIL", -- 邮件到时间请求是否有新邮件
+ TIME_TRIGGERED_NEW_EMAIL = "TIME_TRIGGERED_NEW_EMAIL", -- 邮件到时间请求是否有新邮件
SKILL_REFRESH_SUCC = "SKILL_REFRESH_SUCC",
+ GO_SHOP = "GO_SHOP", -- 跳转商店
+ UPDATE_MAIN_MALL_HEIGHT = "UPDATE_MAIN_MALL_HEIGHT", -- 更新主要商品的高度
-- BORAD_TOUCH_BEGIN = "BORAD_TOUCH_BEGIN",
-- BORAD_TOUCH_OVER = "BORAD_TOUCH_OVER"
}
diff --git a/lua/app/common/module_manager.lua b/lua/app/common/module_manager.lua
index d76464cc..a85a2788 100644
--- a/lua/app/common/module_manager.lua
+++ b/lua/app/common/module_manager.lua
@@ -62,8 +62,9 @@ ModuleManager.MODULE_KEY = {
IDLE_DROP = "idle_drop",
MALL = "mall", -- 商城
MALL_DAILY = "mall_daily", -- 每日商城
- FUND = "act_level_gift", -- 成长基金
DAILY_CHALLENGE = "daily_challenge", -- 每日挑战
+ FUND = "act_level_gift", -- 成长基金
+ ACT_GIFT_SHOW_OPEN = "act_gift_show_open", -- 弹窗礼包通用开启条件
}
local _moduleMgrs = {}
diff --git a/lua/app/common/pay_manager.lua b/lua/app/common/pay_manager.lua
index 9fc449b8..436f9b98 100644
--- a/lua/app/common/pay_manager.lua
+++ b/lua/app/common/pay_manager.lua
@@ -15,7 +15,7 @@ PayManager.PURCHARSE_ACT_TYPE = {
COIN_GIFT = 2,
BEGINNER_GIFT = 4,
LEVEL_UP_GIFT = 5,
- LEVEL_FUND = 6,
+ GROWTH_FUND = 6,
BOUNTY = 7,
}
@@ -33,7 +33,7 @@ PayManager.BI_ITEM_GET_TYPE = {
[PayManager.PURCHARSE_ACT_TYPE.COIN_GIFT] = BIReport.ITEM_GET_TYPE.COIN_GIFT,
[PayManager.PURCHARSE_ACT_TYPE.BEGINNER_GIFT] = BIReport.ITEM_GET_TYPE.BEGINNER_GIFT,
[PayManager.PURCHARSE_ACT_TYPE.LEVEL_UP_GIFT] = BIReport.ITEM_GET_TYPE.LEVEL_UP_GIFT,
- [PayManager.PURCHARSE_ACT_TYPE.LEVEL_FUND] = BIReport.ITEM_GET_TYPE.LEVEL_FUND,
+ [PayManager.PURCHARSE_ACT_TYPE.GROWTH_FUND] = BIReport.ITEM_GET_TYPE.GROWTH_FUND,
[PayManager.PURCHARSE_ACT_TYPE.BOUNTY] = BIReport.ITEM_GET_TYPE.BOUNTY,
},
[PayManager.PURCHARSE_TYPE.ACT_GOLD_PIG] = BIReport.ITEM_GET_TYPE.GOLD_PIG,
@@ -48,7 +48,7 @@ PayManager.BI_GIFT_TYPE = {
[PayManager.PURCHARSE_ACT_TYPE.COIN_GIFT] = BIReport.GIFT_TYPE.COIN_GIFT,
[PayManager.PURCHARSE_ACT_TYPE.BEGINNER_GIFT] = BIReport.GIFT_TYPE.BEGINNER_GIFT,
[PayManager.PURCHARSE_ACT_TYPE.LEVEL_UP_GIFT] = BIReport.GIFT_TYPE.LEVEL_UP_GIFT,
- [PayManager.PURCHARSE_ACT_TYPE.LEVEL_FUND] = BIReport.GIFT_TYPE.LEVEL_FUND,
+ [PayManager.PURCHARSE_ACT_TYPE.GROWTH_FUND] = BIReport.GIFT_TYPE.GROWTH_FUND,
[PayManager.PURCHARSE_ACT_TYPE.BOUNTY] = BIReport.GIFT_TYPE.BOUNTY,
},
[PayManager.PURCHARSE_TYPE.ACT_GOLD_PIG] = BIReport.GIFT_TYPE.GOLD_PIG,
@@ -103,7 +103,6 @@ function PayManager:getGiftConfigInfo(purchaseType, id)
return
end
local cfg = ConfigManager:getConfig(cfgName)
- local cfg = ConfigManager:getConfig(cfgName)
if not cfg or not cfg[id] then
return
end
diff --git a/lua/app/common/white_res_manager.lua b/lua/app/common/white_res_manager.lua
index 87297896..10226726 100644
--- a/lua/app/common/white_res_manager.lua
+++ b/lua/app/common/white_res_manager.lua
@@ -11,6 +11,7 @@ local GAME_RES_WHITE_LIST = {
GConst.ATLAS_PATH.ICON_ITEM,
GConst.ATLAS_PATH.ICON_HERO,
GConst.ATLAS_PATH.ICON_BUFF,
+ GConst.ATLAS_PATH.ICON_TASK,
}
---- 预加载游戏资源
diff --git a/lua/app/global/global_const.lua b/lua/app/global/global_const.lua
index d9cae9db..b25e8a54 100644
--- a/lua/app/global/global_const.lua
+++ b/lua/app/global/global_const.lua
@@ -266,6 +266,7 @@ GConst.MESSAGE_BOX_TYPE = {
GConst.MESSAGE_BOX_SHOW_TODAY = {
BOUNTY_BUY_LEVEL = 1,
+ HOT_SELL_BUY = 2,
}
GConst.QUALITY_TYPE =
diff --git a/lua/app/module/battle/battle_const.lua b/lua/app/module/battle/battle_const.lua
index 490e57d6..060572dd 100644
--- a/lua/app/module/battle/battle_const.lua
+++ b/lua/app/module/battle/battle_const.lua
@@ -232,7 +232,8 @@ BattleConst.PASSIVE_EVENT = {
ON_ACTIVE_SKILL_BEFORE = 7, -- 主动技能释放前
ON_DEAD_BY_BURN = 8, -- 有敌人死于灼烧伤害时触发
ON_DEAD_BY_SKILL = 9, -- 有敌人死于技能时触发
- ON_DEAD = 10, -- 死亡时
+ ON_DEAD_WITH_BLEED = 10, -- 死亡时带有流血buff
+ ON_DEAD = 11, -- 死亡时
}
local BUFF_NAME = {
@@ -345,6 +346,7 @@ local ATTR_NAME = {
COUNTER_ATTACK = "counterattack",
SKILL_HURT = "skill_hurt",
DEATH_SUMMON = "death_summon",
+ BLEED = "bleed",
}
BattleConst.ATTR_NAME = ATTR_NAME
diff --git a/lua/app/module/battle/component/battle_unit_comp.lua b/lua/app/module/battle/component/battle_unit_comp.lua
index 265f07b9..a47b7578 100644
--- a/lua/app/module/battle/component/battle_unit_comp.lua
+++ b/lua/app/module/battle/component/battle_unit_comp.lua
@@ -288,10 +288,7 @@ function BattleUnitComp:getKeyFrameTime(skill, blockIndex, animationName)
time = self:getAnimationKeyFrameTime(animationName, blockIndex)
end
end
- -- Logger.logHighlight(animationName .. " blockIndex " .. blockIndex)
- -- Logger.printTable(blockList)
- -- Logger.printTable(self.validEffectIdx)
return time
end
@@ -964,9 +961,9 @@ function BattleUnitComp:updateSkillAttack(dt)
end
return
else
+ self:checkPassiveEvent(PASSIVE_EVENT.ON_ACTIVE_SKILL_BEFORE, self)
self.currActiveSkill:startUse()
self:doNextSkillAttack()
- self:checkPassiveEvent(PASSIVE_EVENT.ON_ACTIVE_SKILL_BEFORE, self)
end
else -- 继续普攻
self:doNextNormalAttack()
@@ -1587,17 +1584,28 @@ function BattleUnitComp:takeDamageOrCure(atker, num, effectType, effectStatus, d
end
local hpPercent = self.unitEntity:getHpPercent()
self.battleController:refreshHp(self.side, hp, hpPercent)
- if not atker:getIsFinalBlock() then
+ if not atker:getIsFinalBlock() or not self.battleController:getIsLastInstruction() then
if damage < 0 then
self:playHurt()
end
else
if self.unitEntity:getIsDead() then
- self:changeState(UNIT_STATE.DEAD)
if damageOrCureType == BattleConst.BUFF_NAME.BURN then
- local target = self.battleController:getOtherSideMainUnit(self.side)
- target:checkPassiveEvent(BattleConst.PASSIVE_EVENT.ON_DEAD_BY_BURN, target)
+ local team = self.battleController:getOtherSideTeam(self.side)
+ team:checkPassiveEvent(BattleConst.PASSIVE_EVENT.ON_DEAD_BY_BURN)
end
+ if self.unitEntity:getAttrValue(BattleConst.ATTR_NAME.BLEED) > 0 then
+ local team = self.battleController:getOtherSideTeam(self.side)
+ team:checkPassiveEvent(BattleConst.PASSIVE_EVENT.ON_DEAD_WITH_BLEED)
+ end
+
+ if self.actionOverCallback then -- 被反击时死亡
+ self:onAttackOver()
+ end
+
+ self.battleController:resetTimeSpeed()
+
+ self:changeState(UNIT_STATE.DEAD)
elseif damage < 0 then
self:playHurt()
end
diff --git a/lua/app/module/battle/controller/battle_controller.lua b/lua/app/module/battle/controller/battle_controller.lua
index 1710284c..c53cd7a8 100644
--- a/lua/app/module/battle/controller/battle_controller.lua
+++ b/lua/app/module/battle/controller/battle_controller.lua
@@ -405,6 +405,14 @@ function BattleController:getOtherSideMainUnit(side)
end
end
+function BattleController:getOtherSideTeam(side)
+ if side == BattleConst.SIDE_ATK then
+ return self.defTeam
+ else
+ return self.atkTeam
+ end
+end
+
function BattleController:onLoadComplete()
self:handleBuffs()
self:battleStart()
@@ -1268,6 +1276,14 @@ function BattleController:exeInstructions(callback)
end
end
+function BattleController:getIsLastInstruction()
+ if not self.instructions or not self.instructions[1] then
+ return true
+ end
+
+ return false
+end
+
function BattleController:generateBoard(isFirst)
local boardList, _, mysteryBoxIndexMap = self:getInitBoard()
if self.curBoardIndex and self.curBoardIndex >= #boardList then
diff --git a/lua/app/module/battle/helper/battle_buff_handle.lua b/lua/app/module/battle/helper/battle_buff_handle.lua
index 1803da19..29c7e144 100644
--- a/lua/app/module/battle/helper/battle_buff_handle.lua
+++ b/lua/app/module/battle/helper/battle_buff_handle.lua
@@ -161,11 +161,11 @@ BattleBuffHandle.removeShield = {
target.unitEntity:addAttr(ATTR_NAME.SHIELD_REBOUND, -20000, false)
target:removeShield(buffEffect)
end,
- [BUFF_NAME.SHIELD_REBOUND_400] = function(unitComp, buff, target, buffEffect)
+ [BUFF_NAME.SHIELD_REBOUND_400] = function(unitComp, target, buff, buffEffect)
target.unitEntity:addAttr(ATTR_NAME.SHIELD_REBOUND, -40000, false)
target:removeShield(buffEffect)
end,
- [BUFF_NAME.SHIELD_ICE_REBOUND_400] = function(unitComp, buff, target, buffEffect)
+ [BUFF_NAME.SHIELD_ICE_REBOUND_400] = function(unitComp, target, buff, buffEffect)
target.unitEntity:addAttr(ATTR_NAME.SHIELD_REBOUND, -40000, false)
target:removeShield(buffEffect)
end,
diff --git a/lua/app/module/battle/helper/battle_buff_special.lua b/lua/app/module/battle/helper/battle_buff_special.lua
index 76db1ebb..29de6c1d 100644
--- a/lua/app/module/battle/helper/battle_buff_special.lua
+++ b/lua/app/module/battle/helper/battle_buff_special.lua
@@ -28,10 +28,12 @@ local function _skillFireTimesOff(buffSender, target, buff, buffEffect)
end
local function _bleedOn(buffSender, buff, target, buffEffect)
+ target.unitEntity:addAttr(buff:getName(), buff:getEffectNum(), false)
return target.unitEntity:addAttr(BattleConst.ATTR_NAME.BE_SUCKED, 1000, false) -- 写死10%
end
local function _bleedOff(buffSender, target, buff, buffEffect)
+ target.unitEntity:addAttr(buff:getName(), -buff:getEffectNum(), false)
target.unitEntity:addAttr(BattleConst.ATTR_NAME.BE_SUCKED, -1000, false) -- 写死10%
return 1
end
diff --git a/lua/app/module/battle/helper/battle_passive.lua b/lua/app/module/battle/helper/battle_passive.lua
index 4d64f3cf..cca31052 100644
--- a/lua/app/module/battle/helper/battle_passive.lua
+++ b/lua/app/module/battle/helper/battle_passive.lua
@@ -61,6 +61,10 @@ local function _checkOnDeadBySkill(unitComp, skill, targetComp)
return 1
end
+local function _checkOnDeadWithBleed(unitComp, skill, targetComp)
+ return 1
+end
+
local function _checkOnDead(unitComp, skill, targetComp)
return 1
end
@@ -74,6 +78,7 @@ BattlePassive.checkTrigger = {
[PASSIVE_EVENT.ON_ACTIVE_SKILL_BEFORE] = _checkOnActiveSkillBefore,
[PASSIVE_EVENT.ON_DEAD_BY_BURN] = _checkOnDeadByBurn,
[PASSIVE_EVENT.ON_DEAD_BY_SKILL] = _checkOnDeadBySkill,
+ [PASSIVE_EVENT.ON_DEAD_WITH_BLEED] = _checkOnDeadWithBleed,
[PASSIVE_EVENT.ON_DEAD] = _checkOnDead,
}
diff --git a/lua/app/module/battle/skill/battle_rogue_skill_handle.lua b/lua/app/module/battle/skill/battle_rogue_skill_handle.lua
index 99bd4bed..da9ae4ec 100644
--- a/lua/app/module/battle/skill/battle_rogue_skill_handle.lua
+++ b/lua/app/module/battle/skill/battle_rogue_skill_handle.lua
@@ -21,8 +21,19 @@ local _changeBaseSkill = function(skillId, skillInfo, battleData, battleControll
if not battleData.atkTeam then
return
end
- if battleData.atkTeam:getAllMembers()[elementType] then
- battleData.atkTeam:getAllMembers()[elementType]:changeSkillId(skillId, newSkillId)
+ local unitEntity = battleData.atkTeam:getAllMembers()[elementType]
+ if unitEntity then
+ unitEntity:changeSkillId(skillId, newSkillId)
+ Logger.logHighlight("------------")
+ Logger.printTable(skillEntity:getSkillRoundAdd())
+ Logger.printTable(skillEntity:getSkillEffecuNumAdd())
+ for effectType, effect in pairs(skillEntity:getSkillRoundAdd()) do -- 技能回合数
+ unitEntity:addSkillRound(newSkillId, effect)
+ end
+
+ for effectType, effect in pairs(skillEntity:getSkillEffecuNumAdd()) do -- 技能效果
+ unitEntity:addSkillParams(newSkillId, effect)
+ end
end
end
end
@@ -135,6 +146,7 @@ local _addSkillEffectParams = function(skillId, skillInfo, battleData, battleCon
local skillEntity = battleData:getSkillEntityByElement(elementType)
if skillEntity then
local skillId = skillEntity:getSkillId()
+ skillEntity:addSkillEffecuNumAdd(effect)
if not battleData.atkTeam then
return
end
@@ -173,6 +185,7 @@ local _addSkillRound = function(skillId, skillInfo, battleData, battleController
local skillEntity = battleData:getSkillEntityByElement(elementType)
if skillEntity then
local skillId = skillEntity:getSkillId()
+ skillEntity:addSkillRoundAdd(effect)
if not battleData.atkTeam then
return
end
diff --git a/lua/app/module/battle/team/battle_team.lua b/lua/app/module/battle/team/battle_team.lua
index ced3e69b..d599e5ce 100644
--- a/lua/app/module/battle/team/battle_team.lua
+++ b/lua/app/module/battle/team/battle_team.lua
@@ -278,13 +278,13 @@ function BattleTeam:addBuff(buffEffect)
else
table.insert(self.buffList, buffEffect)
self:updateBuffState(buffEffect.buff, 1)
- if buffEffect.buff:getIcon() then
- self.battleController:refreshBuff(self.side, self.buffList)
- end
-
needRecycle = buffEffect
end
+ if buffEffect.buff:getIcon() then
+ self.battleController:refreshBuff(self.side, self.buffList)
+ end
+
return needRecycle
end
@@ -400,6 +400,9 @@ function BattleTeam:doBuffWork()
buffEffect = nil
for i = count, 1, -1 do
buffEffect = self.buffList[i]
+ if not buffEffect then
+ break
+ end
buffEffect.round = buffEffect.round - 1
BattleBuffHandle.doBuffWork(self.mainUnit, buffEffect)
if buffEffect.round <= 0 then
diff --git a/lua/app/module/fund/fund_manager.lua b/lua/app/module/fund/fund_manager.lua
index 231ae975..13a49952 100644
--- a/lua/app/module/fund/fund_manager.lua
+++ b/lua/app/module/fund/fund_manager.lua
@@ -1,11 +1,11 @@
local FundManager = class("FundManager", BaseModule)
function FundManager:showLevelFundUI()
- UIManager:showUI("app/ui/fund/level_fund_ui")
+ UIManager:showUI("app/ui/fund/growth_fund_ui")
end
function FundManager:buyLevelFund(id)
- if not DataManager.FundData:getIsOpen() then
+ if not DataManager.GrowthFundData:getIsOpen() then
return
end
PayManager:purchasePackage(id, PayManager.PURCHARSE_TYPE.ACT_GIFT)
@@ -14,15 +14,15 @@ end
function FundManager:claimFundRewards()
local claimRewards = {}
local playerLevel = DataManager.PlayerData:getLv()
- local FundData = DataManager.FundData
- local levelInfoIds = FundData:getCurrLevelInfoList()
- local isBoughtBase = FundData:getIsBoughtBase()
- local isBoughtAdvance = FundData:getIsBoughtAdvance()
- local freeClaimed = FundData:getFreeClaimedMap()
- local baseClaimed = FundData:getBaseClaimedMap()
- local advanceClaimed = FundData:getAdvanceClaimedMap()
- for _, id in ipairs(levelInfoIds) do
- local levelFundInfo = FundData:getLevelFundCfg()[id]
+ local GrowthFundData = DataManager.GrowthFundData
+ local gradeInfoIds = GrowthFundData:getCurrGradeInfoList()
+ local isBoughtBase = GrowthFundData:getIsBoughtBase()
+ local isBoughtAdvance = GrowthFundData:getIsBoughtAdvance()
+ local freeClaimed = GrowthFundData:getFreeClaimedMap()
+ local baseClaimed = GrowthFundData:getBaseClaimedMap()
+ local advanceClaimed = GrowthFundData:getAdvanceClaimedMap()
+ for _, id in ipairs(gradeInfoIds) do
+ local levelFundInfo = GrowthFundData:getLevelFundCfg()[id]
if levelFundInfo then
if playerLevel >= levelFundInfo.level then -- 等级到了
if not freeClaimed[id] then -- 能领但是没有领
@@ -66,7 +66,7 @@ function FundManager:onClaimFundRewards(result)
if result.rewards then
GFunc.showRewardBox(result.rewards)
end
- DataManager.FundData:onClaimFundRewards(result.id_with_lv)
+ DataManager.GrowthFundData:onClaimFundRewards(result.id_with_lv)
end
end
diff --git a/lua/app/module/maincity/maincity_const.lua b/lua/app/module/maincity/maincity_const.lua
index 26dc2d3f..7c7afce9 100644
--- a/lua/app/module/maincity/maincity_const.lua
+++ b/lua/app/module/maincity/maincity_const.lua
@@ -26,7 +26,11 @@ MainCityConst.LEFT_SIDE_BARS = {
MainCityConst.RIGHT_SIDE_BARS = {
"app/ui/main_city/cell/side_bar_gold_pig_cell",
- "app/ui/main_city/cell/side_bar_level_fund_cell",
+ "app/ui/main_city/cell/side_bar_growth_fund_cell",
+ "app/ui/main_city/cell/side_bar_first_recharge_cell",
+ "app/ui/main_city/cell/side_bar_beginner_gift_cell",
+ "app/ui/main_city/cell/side_bar_grow_up_gift_1_cell",
+ "app/ui/main_city/cell/side_bar_grow_up_gift_2_cell",
}
return MainCityConst
\ No newline at end of file
diff --git a/lua/app/module/shop/shop_const.lua b/lua/app/module/shop/shop_const.lua
index 02eee668..e0377914 100644
--- a/lua/app/module/shop/shop_const.lua
+++ b/lua/app/module/shop/shop_const.lua
@@ -1,5 +1,6 @@
local ShopConst = {}
+ShopConst.FIRST_RECHARGE_ID = 10102 -- 首充礼包ID
ShopConst.BEGINNER_GIFT_ID = 40102 -- 新手礼包ID
ShopConst.MAIN_UI_POP_TYPE = { -- 当触发弹窗时,相关联的类型礼包也要触发
[PayManager.PURCHARSE_TYPE.ACT_GIFT] = {
@@ -9,4 +10,31 @@ ShopConst.MAIN_UI_POP_TYPE = { -- 当触发弹窗时,相关联的类型礼包也
[PayManager.PURCHARSE_TYPE.CHAPTER_GIFT] = true
}
+ShopConst.GEM_ICON_NAME = {
+ [1] = "shop_diamond_1",
+ [2] = "shop_diamond_1",
+ [3] = "shop_diamond_2",
+ [4] = "shop_diamond_3",
+ [5] = "shop_diamond_4",
+ [6] = "shop_diamond_5",
+ [7] = "shop_diamond_6",
+ [8] = "shop_diamond_7",
+ [9] = "shop_diamond_8",
+ [10] = "shop_diamond_8",
+ [11] = "shop_diamond_8",
+ [12] = "shop_diamond_8",
+ [13] = "shop_diamond_8",
+ [14] = "shop_diamond_8",
+ [15] = "shop_diamond_8",
+ [16] = "shop_diamond_8",
+ [17] = "shop_diamond_8",
+ [18] = "shop_diamond_8",
+ [19] = "shop_diamond_8",
+}
+ShopConst.COIN_ICON_NAME = {
+ [1] = "shop_species_1",
+ [2] = "shop_species_2",
+ [3] = "shop_species_3",
+}
+
return ShopConst
\ No newline at end of file
diff --git a/lua/app/module/shop/shop_manager.lua b/lua/app/module/shop/shop_manager.lua
index 7f455710..1ceb87d4 100644
--- a/lua/app/module/shop/shop_manager.lua
+++ b/lua/app/module/shop/shop_manager.lua
@@ -23,8 +23,18 @@ end
-- 触发弹窗礼包
function ShopManager:triggerGiftPopUI(actType, actId)
- UIManager:showUI("app/ui/shop/gift_pop_ui", {type = actType, id = actId})
- DataManager.ShopData:removePopUpGift(actType, actId)
+ if ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.ACT_GIFT_SHOW_OPEN, true) then
+ self:showGiftPopUI(actType, actId, false)
+ DataManager.ShopData:removePopUpGift(actType, actId)
+ end
+end
+
+function ShopManager:showGiftPopUI(actType, actId, onlySelf)
+ if actType == PayManager.PURCHARSE_TYPE.ACT_GIFT and actId == GConst.ShopConst.FIRST_RECHARGE_ID then
+ UIManager:showUI("app/ui/shop/first_recharge_pop_ui")
+ else
+ UIManager:showUI("app/ui/shop/gift_pop_ui", {type = actType, id = actId, onlySelf = onlySelf})
+ end
end
-- 触发金币弹窗礼包
@@ -57,11 +67,32 @@ function ShopManager:buyMallDailyGift(id, isAd)
end
end
- local responseData = {
- rewards = rewards,
- costs = costs
- }
- self:sendMessage(ProtoMsgType.FromMsgEnum.BuyMallDailyReq, params, responseData, self.buyMallDailyGiftFinish, BIReport.ITEM_GET_TYPE.MALL_DAILY)
+ -- 二次弹窗确认
+ if costs then
+ local isCoin = costs.id == GConst.ItemConst.ITEM_ID_GOLD
+ local params ={
+ titleTx = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_31),
+ content = isCoin and I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_32) or I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_33),
+ boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL,
+ showToday = GConst.MESSAGE_BOX_SHOW_TODAY.HOT_SELL_BUY,
+ costId = costs.id,
+ costNum = costs.num,
+ okFunc = function()
+ local responseData = {
+ rewards = rewards,
+ costs = costs
+ }
+ self:sendMessage(ProtoMsgType.FromMsgEnum.BuyMallDailyReq, params, responseData, self.buyMallDailyGiftFinish, BIReport.ITEM_GET_TYPE.MALL_DAILY)
+ end,
+ }
+ GFunc.showMessageBox(params)
+ else
+ local responseData = {
+ rewards = rewards,
+ costs = costs
+ }
+ self:sendMessage(ProtoMsgType.FromMsgEnum.BuyMallDailyReq, params, responseData, self.buyMallDailyGiftFinish, BIReport.ITEM_GET_TYPE.MALL_DAILY)
+ end
end
function ShopManager:buyMallDailyGiftFinish(result)
@@ -172,8 +203,10 @@ end
-- 推送成长礼包
function ShopManager:onTriggerGrowUpGift(result)
DataManager.ShopData:onTriggerGrowUpGift(result.add_grow_up_gift)
- -- 立即触发弹窗
- self:triggerGrowUpGiftPopUI(result.add_grow_up_gift.current_grow_up_id)
+ -- 有2种情况 1.处于英雄升级/解锁界面 立即触发弹窗 2.购买了成长礼包,此时仅标记,在奖励弹窗结束后再弹
+ if UIManager:getTopUIObj() == UIManager.UI_PATH.HERO_DETAIL_UI then
+ self:triggerGrowUpGiftPopUI(result.add_grow_up_gift.current_grow_up_id)
+ end
end
return ShopManager
\ No newline at end of file
diff --git a/lua/app/module/task/task_manager.lua b/lua/app/module/task/task_manager.lua
index ad54959e..9621afcd 100644
--- a/lua/app/module/task/task_manager.lua
+++ b/lua/app/module/task/task_manager.lua
@@ -2,8 +2,10 @@ local TaskManager = class("TaskManager", BaseModule)
local BATTLE_TASK_FIELD = GConst.BattleConst.BATTLE_TASK_FIELD
function TaskManager:init()
- self:addEventListener(EventManager.CUSTOM_EVENT.DAILY_TASK_ADD_PROGRESS, function(id, taskId, from, to)
- ModuleManager.TaskToastManager:showToast(id, taskId, from, to)
+ self:addEventListener(EventManager.CUSTOM_EVENT.DAILY_TASK_COMPLETE, function(id, taskId, from, to)
+ if DataManager.DailyTaskData:getIsOpen() then
+ ModuleManager.TaskToastManager:showToast(id, taskId, from, to)
+ end
end)
self:addEventListener(EventManager.CUSTOM_EVENT.UI_SHOW_COMPLETE, function()
ModuleManager.TaskToastManager:checkOnOpenUI()
diff --git a/lua/app/net/net_manager.lua b/lua/app/net/net_manager.lua
index f4dbb5f4..3a45cd2a 100644
--- a/lua/app/net/net_manager.lua
+++ b/lua/app/net/net_manager.lua
@@ -246,6 +246,8 @@ function NetManager:connect(domain, port, callback, socketName)
GFunc.showMessageBox(params)
end
else
+ UIManager:hideWaitNet(true)
+
LocalData:setLastLoginInfo(NetManager.LOGIN_TYPE.TOKEN, pbData.id, pbData.token)
LocalData:setAccountInfo(pbData)
BIReport:updateAccountId(pbData.id)
diff --git a/lua/app/ui/battle/battle_ui.lua b/lua/app/ui/battle/battle_ui.lua
index ec94df2c..6434cb94 100644
--- a/lua/app/ui/battle/battle_ui.lua
+++ b/lua/app/ui/battle/battle_ui.lua
@@ -1920,7 +1920,10 @@ function BattleUI:showTutorialFinger(posIdList)
end
self.showTutorialFingerSeq:AppendCallback(function()
self.battleController:clearGridSequence()
+ self.tutorialFinger:setAnchoredPositionX(DEFAULT_X)
+ self:showBoardMask(nil)
end)
+ self.showTutorialFingerSeq:AppendInterval(1)
self.showTutorialFingerSeq:SetLoops(-1)
end
diff --git a/lua/app/ui/bounty/bounty_main_ui.lua b/lua/app/ui/bounty/bounty_main_ui.lua
index 9d4e911c..6bfbfc11 100644
--- a/lua/app/ui/bounty/bounty_main_ui.lua
+++ b/lua/app/ui/bounty/bounty_main_ui.lua
@@ -24,7 +24,6 @@ function BountyMainUI:ctor()
end
function BountyMainUI:onClose()
- self:clearAdaptScrollrect()
if self.autoRotateTween then
self.autoRotateTween:Kill()
end
@@ -122,6 +121,10 @@ function BountyMainUI:initRewards()
ModuleManager.BountyManager:buyBountyLevel()
end)
+ self.progressBg = self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.progress_bg"]
+ self.progressComp = self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.progress_bg.progress"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
+ self.rewardsMaskBg = self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.mask_img"]
+
self.scrollrect = self.uiMap["bounty_main_ui.mid_node.scrollrect"]
self.scrollrectViewport = self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport"]
self.rewardsContent = self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content"]
@@ -129,18 +132,12 @@ function BountyMainUI:initRewards()
self.scrollrectComp:clearCells()
self.scrollrectComp:setTotalCount(0)
self.scrollrectComp:addInitCallback(function()
+ self.rewardsMaskBg:getTransform():SetAsLastSibling()
+ self.line:getTransform():SetAsLastSibling()
+ self.repeatRewardRoot:getTransform():SetAsLastSibling()
return "app/ui/bounty/cell/bounty_cell"
end)
self.scrollrectComp:addRefreshCallback(function(index, cell)
- -- TODO 有时候顺序还是不对
- if self.refreshIndex then
- if index > self.refreshIndex then
- cell:getBaseObject():getTransform():SetAsLastSibling()
- elseif index < self.refreshIndex then
- cell:getBaseObject():getTransform():SetAsFirstSibling()
- end
- end
- self.refreshIndex = index
local totalCount = self.scrollrectComp:getTotalCount()
local isFinalCell = index == totalCount
if not self.disablePreviewReward then
@@ -157,29 +154,14 @@ function BountyMainUI:initRewards()
end
end
end
- cell:refresh(index, isFinalCell)
- local lv = DataManager.BountyData:getLevel()
- if index > lv - 1 or index < lv + 1 then
- self.line:getTransform():SetAsLastSibling()
- end
- if not self.adjustRepeatRewardRoot then
- self.adjustRepeatRewardRoot = true
- local posY = -totalCount*self.cellHeight
- self.repeatRewardRoot:setAnchoredPositionY(posY)
- end
- self.repeatRewardRoot:getTransform():SetAsLastSibling()
+ cell:refresh(index)
end)
self.cellHeight = self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.cell"]:getRectHeight()
- local scrollBottom = 106
- local scrollTop = 464
- local height = self.root:getRectHeight()
- height = height - scrollTop - scrollBottom
+ local height = self.scrollrect:getRectHeight() - self.scrollrectComp:getTopRecoveryOffset() - self.scrollrectComp:getDownRecoveryOffset()
self.rewardCellNum = math.ceil(height/self.cellHeight)
- self:adaptScrollrect()
end
function BountyMainUI:initRepeatReward()
- self.adjustRepeatRewardRoot = false
self.repeatRewardRoot = self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.repeat"]
self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.repeat.title_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_BOX_DESC))
self.uiMap["bounty_main_ui.mid_node.scrollrect.viewport.content.repeat.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.BOUNTY_DESC_3))
@@ -202,26 +184,6 @@ function BountyMainUI:initRepeatReward()
end)
end
-function BountyMainUI:adaptScrollrect()
- if not self.rectDefaultSize then
- self.rectDefaultSize = self.scrollrect:getSizeDelta()
- end
- if not self.viewDefaultSize then
- self.viewDefaultSize = self.scrollrectViewport:getSizeDelta()
- end
- local addH = GFunc.calculateFitSizeY()
- self.scrollrect:setSizeDelta(self.rectDefaultSize.x, self.rectDefaultSize.y + addH)
- self.scrollrectViewport:setSizeDelta(self.viewDefaultSize.x, self.viewDefaultSize.y + addH)
-end
-
-function BountyMainUI:clearAdaptScrollrect()
- if not self.rectDefaultSize then
- return
- end
- self.scrollrect:setSizeDelta(self.rectDefaultSize.x, self.rectDefaultSize.y)
- self.scrollrectViewport:setSizeDelta(self.viewDefaultSize.x, self.viewDefaultSize.y)
-end
-
function BountyMainUI:bindData()
self:bind(DataManager.BountyData, "dirty", function()
self:onRefresh()
@@ -292,14 +254,28 @@ function BountyMainUI:refreshRewards()
self.scrollrectComp:updateAllCell()
self.disablePreviewReward = false
end
+ local topRecoveryOffset = self.scrollrectComp:getTopRecoveryOffset()
+ local downRecoveryOffset = self.scrollrectComp:getDownRecoveryOffset()
+ local cellHeight = self.scrollrectComp:getCellHeight()
if lv >= maxLv then
self.line:setVisible(false)
else
self.line:setVisible(true)
- local posY = -lv*self.cellHeight
- self.line:setAnchoredPositionY(posY)
+ self.line:setAnchoredPositionY(-topRecoveryOffset - lv*cellHeight)
end
+ self.progressBg:setAnchoredPositionY((topRecoveryOffset + downRecoveryOffset)/2 - cellHeight/2)
+ self.progressBg:setSizeDeltaY(cellHeight*(maxLv - 1))
+ local percent = (lv - 1) / (maxLv - 1)
+ if percent < 0 then
+ percent = 0
+ end
+ self.progressComp.value = percent
+
+ self.rewardsMaskBg:setAnchoredPositionY(-topRecoveryOffset - lv*cellHeight)
+ self.rewardsMaskBg:setSizeDeltaY(cellHeight*maxLv + GConst.UI_SCREEN_HEIGHT)
+
+ self.repeatRewardRoot:setAnchoredPositionY(downRecoveryOffset)
if DataManager.BountyData:getIfCanClaimRepeatReward() then
self.repeatRewardRoot:addRedPoint(74, 15)
else
diff --git a/lua/app/ui/bounty/cell/bounty_cell.lua b/lua/app/ui/bounty/cell/bounty_cell.lua
index 94d4a437..7a3e4188 100644
--- a/lua/app/ui/bounty/cell/bounty_cell.lua
+++ b/lua/app/ui/bounty/cell/bounty_cell.lua
@@ -9,12 +9,9 @@ function BountyCell:init()
self.bountyRewardCell1 = uiMap["cell.bg.bounty_reward_cell_1"]:addLuaComponent(BOUNTY_REWARD_CELL)
uiMap["cell.bg.bounty_reward_cell_2"]:setAnchoredPositionX(GConst.UI_SCREEN_WIDTH/4)
self.bountyRewardCell2 = uiMap["cell.bg.bounty_reward_cell_2"]:addLuaComponent(BOUNTY_REWARD_CELL)
- self.maskImg = uiMap["cell.mask_img"]
self.lvBg = uiMap["cell.bg.lv_bg"]
self.lvTx = uiMap["cell.bg.lv_bg.lv_tx"]
- self.progressBg = uiMap["cell.bg.progress_bg"]
- self.progressComp = uiMap["cell.bg.progress_bg.progress"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
self.bountyRewardCell1:addClickListener(function()
if self.idx == nil then
return
@@ -44,7 +41,7 @@ function BountyCell:init()
end)
end
-function BountyCell:refresh(idx, isFinalCell)
+function BountyCell:refresh(idx)
self.idx = idx
local bountyInfo = DataManager.BountyData:getSeasonInfoByLevel(idx)
local lv = DataManager.BountyData:getLevel()
@@ -56,13 +53,7 @@ function BountyCell:refresh(idx, isFinalCell)
self.bountyRewardCell1:refresh(bountyInfo.reward, false, false, state)
self.bountyRewardCell2:refresh(bountyInfo.reward_pro, true, not isBought, proState)
if lv >= idx then
- self.maskImg:setVisible(false)
self.lvBg:setImageGray(false)
- if lv == idx then
- self.progressComp.value = 0
- else
- self.progressComp.value = 1
- end
if state then -- 已经领过了
self.bountyRewardCell1:hideLight()
else
@@ -75,16 +66,9 @@ function BountyCell:refresh(idx, isFinalCell)
end
else
self.lvBg:setImageGray(true)
- self.maskImg:setVisible(true)
- self.progressComp.value = 0
self.bountyRewardCell1:hideLight()
self.bountyRewardCell2:hideLight()
end
- if isFinalCell then
- self.progressBg:setVisible(false)
- else
- self.progressBg:setVisible(true)
- end
end
function BountyCell:setVisible(visible)
diff --git a/lua/app/ui/bounty/cell/bounty_reward_cell.lua b/lua/app/ui/bounty/cell/bounty_reward_cell.lua
index 858902ec..5a449785 100644
--- a/lua/app/ui/bounty/cell/bounty_reward_cell.lua
+++ b/lua/app/ui/bounty/cell/bounty_reward_cell.lua
@@ -9,6 +9,8 @@ function BountyRewardCell:init()
self.fragment = uiMap["bounty_reward_cell.fragment"]
self.light = uiMap["bounty_reward_cell.light"]
self.lock = uiMap["bounty_reward_cell.lock"]
+ self.matchImg = uiMap["bounty_reward_cell.match_img"]
+ self.sImg = uiMap["bounty_reward_cell.s"]
self:hideLight()
self.baseObject:addClickListener(function()
@@ -52,14 +54,21 @@ function BountyRewardCell:_refreshItem(item)
if heroInfo then
self.icon:setLocalScale(0.86, 0.86, 0.86)
self.icon:setSprite(GConst.ATLAS_PATH.ICON_HERO, heroInfo.icon)
+ self.matchImg:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HeroConst.MATCH_ICON_NAME[heroInfo.position])
+ self.matchImg:setVisible(true)
+ self.sImg:setVisible(heroInfo.qlt >= 4)
else
self.icon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha")
+ self.matchImg:setVisible(false)
+ self.sImg:setVisible(false)
end
self.fragment:setVisible(true)
else
self.icon:setLocalScale(1, 1, 1)
self.icon:setSprite(GConst.ATLAS_PATH.ICON_ITEM, info.icon)
self.fragment:setVisible(false)
+ self.matchImg:setVisible(false)
+ self.sImg:setVisible(false)
end
end
diff --git a/lua/app/ui/common/cell/hero_cell.lua b/lua/app/ui/common/cell/hero_cell.lua
index 2b27d96a..5bd027da 100644
--- a/lua/app/ui/common/cell/hero_cell.lua
+++ b/lua/app/ui/common/cell/hero_cell.lua
@@ -42,19 +42,30 @@ function HeroCell:refresh(heroEntity, isGray)
self.progress:setSprite(GConst.ATLAS_PATH.COMMON, "common_progress_2", nil, self.progress:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER))
end
self.progress:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER).value = fragmentCount / needFragmentCount
- self.lvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, heroEntity:getLv()))
if heroEntity:isUnlock() then
- self.lvTx:setVisible(true)
+ if heroEntity:isActived() then
+ self.lvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, heroEntity:getLv()))
+ self.lvTx:setVisible(true)
+ else
+ self.lvTx:setVisible(false)
+ end
self.progressBg:setVisible(not heroEntity:isMaxLv())
self.unlockTx:setVisible(false)
- if not heroEntity:isActived() then
- self.lvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_11))
- end
else
self.lvTx:setVisible(false)
- self.progressBg:setVisible(false)
- self.unlockTx:setVisible(true)
- self.unlockTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_10, heroEntity:getUnlcokChapter()))
+ if canLvUp then
+ self.unlockTx:setVisible(false)
+ self.progressBg:setVisible(true)
+ else
+ self.unlockTx:setVisible(true)
+ self.progressBg:setVisible(false)
+ local unlcokChapter = heroEntity:getUnlcokChapter()
+ if unlcokChapter then
+ self.unlockTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_10, unlcokChapter))
+ else
+ self.unlockTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_11))
+ end
+ end
end
end
diff --git a/lua/app/ui/common/cell/reward_cell.lua b/lua/app/ui/common/cell/reward_cell.lua
index f4d90475..83826aaf 100644
--- a/lua/app/ui/common/cell/reward_cell.lua
+++ b/lua/app/ui/common/cell/reward_cell.lua
@@ -10,6 +10,7 @@ function RewardCell:init()
self.fragment = uiMap["reward_cell.item_bg.fragment"]
self.leftUpIcon = uiMap["reward_cell.item_bg.left_up_icon"]
self.sImg = uiMap["reward_cell.item_bg.s"]
+ self.matchImg = uiMap["reward_cell.item_bg.match_img"]
self.frameAni = uiMap["reward_cell.frame_ani"]
self:hideFrameAnimation()
self.baseObject:addClickListener(function()
@@ -80,9 +81,12 @@ function RewardCell:_refreshItem(info, count)
self.icon:setLocalScale(0.86, 0.86, 0.86)
self.icon:setSprite(GConst.ATLAS_PATH.ICON_HERO, heroInfo.icon)
self.sImg:setVisible(heroInfo.qlt >= 4)
+ self.matchImg:setVisible(true)
+ self.matchImg:setSprite(GConst.ATLAS_PATH.ICON_HERO, GConst.HeroConst.MATCH_ICON_NAME[heroInfo.position])
else
self.icon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha")
self.sImg:setVisible(false)
+ self.matchImg:setVisible(false)
end
self.fragment:setVisible(true)
else
@@ -90,6 +94,7 @@ function RewardCell:_refreshItem(info, count)
self.icon:setSprite(GConst.ATLAS_PATH.ICON_ITEM, info.icon)
self.fragment:setVisible(false)
self.sImg:setVisible(false)
+ self.matchImg:setVisible(false)
end
end
diff --git a/lua/app/ui/fund/cell/level_fund_cell.lua b/lua/app/ui/fund/cell/growth_fund_cell.lua
similarity index 51%
rename from lua/app/ui/fund/cell/level_fund_cell.lua
rename to lua/app/ui/fund/cell/growth_fund_cell.lua
index fa151873..7127d00e 100644
--- a/lua/app/ui/fund/cell/level_fund_cell.lua
+++ b/lua/app/ui/fund/cell/growth_fund_cell.lua
@@ -1,60 +1,60 @@
-local LevelFundCell = class("LevelFundCell", BaseCell)
+local GrowthFundCell = class("GrowthFundCell", BaseCell)
-local Fund_REWARD_CELL = "app/ui/fund/cell/level_fund_reward_cell"
+local Fund_REWARD_CELL = "app/ui/fund/cell/growth_fund_reward_cell"
-function LevelFundCell:init()
+function GrowthFundCell:init()
local uiMap = self:getUIMap()
local width = GConst.UI_SCREEN_WIDTH
- self.fundRewardCell1 = uiMap["level_fund_cell.fund_reward_cell_1"]:addLuaComponent(Fund_REWARD_CELL)
+ self.fundRewardCell1 = uiMap["growth_fund_cell.fund_reward_cell_1"]:addLuaComponent(Fund_REWARD_CELL)
self.fundRewardCell1:setAnchoredPositionX(-width/3)
self.fundRewardCell1:addClickListener(function()
if self.fundId == nil then
return
end
- local iCslaimed = DataManager.FundData:getIsClaimedBase(self.fundId)
- local needLevel = DataManager.FundData:getNeedLevel(self.fundId)
+ local iCslaimed = DataManager.GrowthFundData:getIsClaimedBase(self.fundId)
+ local needLevel = DataManager.GrowthFundData:getNeedLevel(self.fundId)
local playerLevel = DataManager.PlayerData:getLv()
if not iCslaimed and playerLevel >= needLevel then
ModuleManager.FundManager:claimFundRewards()
else
- local freeReward = DataManager.FundData:getFreeFundRewards(self.fundId)
+ local freeReward = DataManager.GrowthFundData:getFreeFundRewards(self.fundId)
local reward = freeReward and freeReward[1]
if reward then
ModuleManager.TipsManager:showRewardTips(reward.id, reward.type, self.fundRewardCell1:getBaseObject())
end
end
end)
- self.fundRewardCell2 = uiMap["level_fund_cell.fund_reward_cell_2"]:addLuaComponent(Fund_REWARD_CELL)
+ self.fundRewardCell2 = uiMap["growth_fund_cell.fund_reward_cell_2"]:addLuaComponent(Fund_REWARD_CELL)
self.fundRewardCell2:addClickListener(function()
if self.fundId == nil then
return
end
- local iCslaimed = DataManager.FundData:getIsClaimedBase(self.fundId)
- local needLevel = DataManager.FundData:getNeedLevel(self.fundId)
+ local iCslaimed = DataManager.GrowthFundData:getIsClaimedBase(self.fundId)
+ local needLevel = DataManager.GrowthFundData:getNeedLevel(self.fundId)
local playerLevel = DataManager.PlayerData:getLv()
- if not iCslaimed and playerLevel >= needLevel and DataManager.FundData:getIsBoughtBase(self.fundId) then
+ if not iCslaimed and playerLevel >= needLevel and DataManager.GrowthFundData:getIsBoughtBase(self.fundId) then
ModuleManager.FundManager:claimFundRewards()
else
- local baseReward = DataManager.FundData:getBaseFundRewards(self.fundId)
+ local baseReward = DataManager.GrowthFundData:getBaseFundRewards(self.fundId)
local reward = baseReward and baseReward[1]
if reward then
ModuleManager.TipsManager:showRewardTips(reward.id, reward.type, self.fundRewardCell2:getBaseObject())
end
end
end)
- self.fundRewardCell3 = uiMap["level_fund_cell.fund_reward_cell_3"]:addLuaComponent(Fund_REWARD_CELL)
+ self.fundRewardCell3 = uiMap["growth_fund_cell.fund_reward_cell_3"]:addLuaComponent(Fund_REWARD_CELL)
self.fundRewardCell3:addClickListener(function()
if self.fundId == nil then
return
end
- local iCslaimed = DataManager.FundData:getIsClaimedAdvance(self.fundId)
- local needLevel = DataManager.FundData:getNeedLevel(self.fundId)
+ local iCslaimed = DataManager.GrowthFundData:getIsClaimedAdvance(self.fundId)
+ local needLevel = DataManager.GrowthFundData:getNeedLevel(self.fundId)
local playerLevel = DataManager.PlayerData:getLv()
- if not iCslaimed and playerLevel >= needLevel and DataManager.FundData:getIsBoughtAdvance(self.fundId) then
+ if not iCslaimed and playerLevel >= needLevel and DataManager.GrowthFundData:getIsBoughtAdvance(self.fundId) then
ModuleManager.FundManager:claimFundRewards()
else
- local advanceReward = DataManager.FundData:getAdvanceFundRewards(self.fundId)
+ local advanceReward = DataManager.GrowthFundData:getAdvanceFundRewards(self.fundId)
local reward = advanceReward and advanceReward[1]
if reward then
ModuleManager.TipsManager:showRewardTips(reward.id, reward.type, self.fundRewardCell3:getBaseObject())
@@ -62,28 +62,28 @@ function LevelFundCell:init()
end
end)
self.fundRewardCell3:setAnchoredPositionX(width/3)
- self.levelBg = uiMap["level_fund_cell.lv_bg"]
+ self.levelBg = uiMap["growth_fund_cell.lv_bg"]
self.levelBg:setAnchoredPositionX(-width/6)
- self.levelGrayImg = uiMap["level_fund_cell.lv_bg.gray"]
- self.levelTx = uiMap["level_fund_cell.lv_bg.tx"]
+ self.levelGrayImg = uiMap["growth_fund_cell.lv_bg.gray"]
+ self.levelTx = uiMap["growth_fund_cell.lv_bg.tx"]
end
-function LevelFundCell:refresh(id)
+function GrowthFundCell:refresh(id)
self.fundId = id
- local FundData = DataManager.FundData
- local needLevel = DataManager.FundData:getNeedLevel(id)
+ local GrowthFundData = DataManager.GrowthFundData
+ local needLevel = DataManager.GrowthFundData:getNeedLevel(id)
local playerLevel = DataManager.PlayerData:getLv()
local isActive = playerLevel >= needLevel
self.levelGrayImg:setVisible(not isActive)
self.levelTx:setText(GFunc.intToString(needLevel))
- local freeReward, baseReward, advanceReward = FundData:getAllStepFundRewards(id)
- self.fundRewardCell1:refresh(freeReward[1], isActive and 1 or 0, false, FundData:getIsClaimedFree(id))
- self.fundRewardCell2:refresh(baseReward[1], isActive and 2 or 0, not FundData:getIsBoughtBase(id), FundData:getIsClaimedBase(id))
- self.fundRewardCell3:refresh(advanceReward[1], isActive and 3 or 0, not FundData:getIsBoughtAdvance(id), FundData:getIsClaimedAdvance(id))
+ local freeReward, baseReward, advanceReward = GrowthFundData:getAllStepFundRewards(id)
+ self.fundRewardCell1:refresh(freeReward[1], isActive and 1 or 0, false, GrowthFundData:getIsClaimedFree(id))
+ self.fundRewardCell2:refresh(baseReward[1], isActive and 2 or 0, not GrowthFundData:getIsBoughtBase(id), GrowthFundData:getIsClaimedBase(id))
+ self.fundRewardCell3:refresh(advanceReward[1], isActive and 3 or 0, not GrowthFundData:getIsBoughtAdvance(id), GrowthFundData:getIsClaimedAdvance(id))
end
-function LevelFundCell:setVisible(visible)
+function GrowthFundCell:setVisible(visible)
self.baseObject:setVisible(visible)
end
-return LevelFundCell
\ No newline at end of file
+return GrowthFundCell
\ No newline at end of file
diff --git a/lua/app/ui/fund/level_fund_ui.lua.meta b/lua/app/ui/fund/cell/growth_fund_cell.lua.meta
similarity index 86%
rename from lua/app/ui/fund/level_fund_ui.lua.meta
rename to lua/app/ui/fund/cell/growth_fund_cell.lua.meta
index f65e895f..871c0417 100644
--- a/lua/app/ui/fund/level_fund_ui.lua.meta
+++ b/lua/app/ui/fund/cell/growth_fund_cell.lua.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 3380bc95e342186458dd56f3cdd4e4f0
+guid: 2bc37d625f652654b83c5cedaaa8c2f1
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
diff --git a/lua/app/ui/fund/cell/level_fund_reward_cell.lua b/lua/app/ui/fund/cell/growth_fund_reward_cell.lua
similarity index 82%
rename from lua/app/ui/fund/cell/level_fund_reward_cell.lua
rename to lua/app/ui/fund/cell/growth_fund_reward_cell.lua
index 4bea8d9f..9ee479d8 100644
--- a/lua/app/ui/fund/cell/level_fund_reward_cell.lua
+++ b/lua/app/ui/fund/cell/growth_fund_reward_cell.lua
@@ -1,6 +1,6 @@
-local LevelFundRewardCell = class("LevelFundRewardCell", BaseCell)
+local GrowthFundRewardCell = class("GrowthFundRewardCell", BaseCell)
-function LevelFundRewardCell:init()
+function GrowthFundRewardCell:init()
local uiMap = self:getUIMap()
self.bg = uiMap["fund_reward_cell.bg"]
self.icon = uiMap["fund_reward_cell.icon"]
@@ -18,7 +18,7 @@ function LevelFundRewardCell:init()
end)
end
-function LevelFundRewardCell:refresh(reward, step, isLock, showCheck)
+function GrowthFundRewardCell:refresh(reward, step, isLock, showCheck)
if step == 0 then
self.bg:setSprite(GConst.ATLAS_PATH.FUND, "fund_bg_5")
elseif step == 1 then
@@ -49,7 +49,7 @@ function LevelFundRewardCell:refresh(reward, step, isLock, showCheck)
end
end
-function LevelFundRewardCell:_refreshItem(item)
+function GrowthFundRewardCell:_refreshItem(item)
local info = ConfigManager:getConfig("item")[item.id]
if info == nil then
return
@@ -71,20 +71,20 @@ function LevelFundRewardCell:_refreshItem(item)
end
end
-function LevelFundRewardCell:setVisible(visible)
+function GrowthFundRewardCell:setVisible(visible)
self.baseObject:setActive(visible)
end
-function LevelFundRewardCell:setAnchoredPositionX(x)
+function GrowthFundRewardCell:setAnchoredPositionX(x)
self.baseObject:setAnchoredPositionX(x)
end
-function LevelFundRewardCell:setTouchEnable(enable)
+function GrowthFundRewardCell:setTouchEnable(enable)
self.baseObject:setTouchEnable(enable)
end
-function LevelFundRewardCell:addClickListener(callback)
+function GrowthFundRewardCell:addClickListener(callback)
self.clickCallback = callback
end
-return LevelFundRewardCell
\ No newline at end of file
+return GrowthFundRewardCell
\ No newline at end of file
diff --git a/lua/app/ui/fund/cell/level_fund_cell.lua.meta b/lua/app/ui/fund/cell/growth_fund_reward_cell.lua.meta
similarity index 86%
rename from lua/app/ui/fund/cell/level_fund_cell.lua.meta
rename to lua/app/ui/fund/cell/growth_fund_reward_cell.lua.meta
index 86dd2f01..6e16472c 100644
--- a/lua/app/ui/fund/cell/level_fund_cell.lua.meta
+++ b/lua/app/ui/fund/cell/growth_fund_reward_cell.lua.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 7f29b4252c5aeb64abafe246ea6c16e5
+guid: 3e3a08bdfecbd8b49ada85fa70fe5c8b
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
diff --git a/lua/app/ui/fund/level_fund_ui.lua b/lua/app/ui/fund/growth_fund_ui.lua
similarity index 52%
rename from lua/app/ui/fund/level_fund_ui.lua
rename to lua/app/ui/fund/growth_fund_ui.lua
index a7541702..7c4a8ffc 100644
--- a/lua/app/ui/fund/level_fund_ui.lua
+++ b/lua/app/ui/fund/growth_fund_ui.lua
@@ -1,10 +1,10 @@
-local LevelFundUI = class("LevelFundUI", BaseUI)
+local GrowthFundUI = class("GrowthFundUI", BaseUI)
-function LevelFundUI:isFullScreen()
+function GrowthFundUI:isFullScreen()
return true
end
-function LevelFundUI:getCurrencyParams()
+function GrowthFundUI:getCurrencyParams()
if self.currencyParams == nil then
self.currencyParams = {
itemIds = {
@@ -18,21 +18,21 @@ function LevelFundUI:getCurrencyParams()
return self.currencyParams
end
-function LevelFundUI:getPrefabPath()
- return "assets/prefabs/ui/fund/level_fund_ui.prefab"
+function GrowthFundUI:getPrefabPath()
+ return "assets/prefabs/ui/fund/growth_fund_ui.prefab"
end
-function LevelFundUI:ctor()
- self.fundLevel = DataManager.FundData:getFundLevel()
- self:initLevelInfoList()
+function GrowthFundUI:ctor()
+ self.fundGrade = DataManager.GrowthFundData:getFundGrade()
+ self:initGradeInfoList()
end
-function LevelFundUI:initLevelInfoList()
- self.levelInfoList = DataManager.FundData:getCurrLevelInfoList()
+function GrowthFundUI:initGradeInfoList()
+ self.gradeInfoList = DataManager.GrowthFundData:getCurrGradeInfoList()
local playerLevel = DataManager.PlayerData:getLv()
local cfg = ConfigManager:getConfig("act_level_fund")
self.inactiveIndex = nil
- for k, v in ipairs(self.levelInfoList) do
+ for k, v in ipairs(self.gradeInfoList) do
if cfg[v] then
if playerLevel < cfg[v].level then
self.inactiveIndex = k
@@ -41,20 +41,20 @@ function LevelFundUI:initLevelInfoList()
end
end
if self.inactiveIndex == nil then
- self.inactiveIndex = #self.levelInfoList + 1
+ self.inactiveIndex = #self.gradeInfoList + 1
end
end
-function LevelFundUI:onClose()
+function GrowthFundUI:onClose()
if self.originTitleBgHeight then
- self.uiMap["level_fund_ui.title_img.bg"]:setSizeDeltaY(self.originTitleBgHeight)
+ self.uiMap["growth_fund_ui.title_img.bg"]:setSizeDeltaY(self.originTitleBgHeight)
end
end
-function LevelFundUI:onLoadRootComplete()
+function GrowthFundUI:onLoadRootComplete()
self.uiMap = self.root:genAllChildren()
- self.uiMap["level_fund_ui.down.close_btn"]:addClickListener(function()
+ self.uiMap["growth_fund_ui.down.close_btn"]:addClickListener(function()
self:closeUI()
end)
@@ -64,77 +64,77 @@ function LevelFundUI:onLoadRootComplete()
self:bindData()
end
-function LevelFundUI:initTitle()
- self.titleTx = self.uiMap["level_fund_ui.title_img.title_tx"]
- self.titleDialogBg = self.uiMap["level_fund_ui.title_img.bg"]
+function GrowthFundUI:initTitle()
+ self.titleTx = self.uiMap["growth_fund_ui.title_img.title_tx"]
+ self.titleDialogBg = self.uiMap["growth_fund_ui.title_img.bg"]
self.originTitleBgHeight = self.titleDialogBg:fastGetSizeDeltaY()
end
-function LevelFundUI:initPayBtns()
+function GrowthFundUI:initPayBtns()
local width = GConst.UI_SCREEN_WIDTH
- local freeTx = self.uiMap["level_fund_ui.title_bg_2.free_tx"]
+ local freeTx = self.uiMap["growth_fund_ui.title_bg_2.free_tx"]
freeTx:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE))
freeTx:setAnchoredPositionX(-width/3)
- self.payBtn1 = self.uiMap["level_fund_ui.title_bg_2.btn_1"]
+ self.payBtn1 = self.uiMap["growth_fund_ui.title_bg_2.btn_1"]
self.payBtn1:addClickListener(function()
- ModuleManager.FundManager:buyLevelFund(DataManager.FundData:getFundBaseId())
+ ModuleManager.FundManager:buyLevelFund(DataManager.GrowthFundData:getFundBaseId())
end)
- self.payBtnTx1 = self.uiMap["level_fund_ui.title_bg_2.btn_1.text"]
+ self.payBtnTx1 = self.uiMap["growth_fund_ui.title_bg_2.btn_1.text"]
- self.payBtn2 = self.uiMap["level_fund_ui.title_bg_2.btn_2"]
+ self.payBtn2 = self.uiMap["growth_fund_ui.title_bg_2.btn_2"]
self.payBtn2:setAnchoredPositionX(width/3)
self.payBtn2:addClickListener(function()
- ModuleManager.FundManager:buyLevelFund(DataManager.FundData:getFundAdvanceId())
+ ModuleManager.FundManager:buyLevelFund(DataManager.GrowthFundData:getFundAdvanceId())
end)
- self.payBtnTx2 = self.uiMap["level_fund_ui.title_bg_2.btn_2.text"]
+ self.payBtnTx2 = self.uiMap["growth_fund_ui.title_bg_2.btn_2.text"]
end
-function LevelFundUI:initRewards()
- self.scrollRect = self.uiMap["level_fund_ui.scrollrect"]
+function GrowthFundUI:initRewards()
+ self.scrollRect = self.uiMap["growth_fund_ui.scrollrect"]
self.scrollRectComp = self.scrollRect:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
self.scrollRectComp:addInitCallback(function()
- return "app/ui/fund/cell/level_fund_cell"
+ return "app/ui/fund/cell/growth_fund_cell"
end)
self.scrollRectComp:addRefreshCallback(function(index, cell)
- cell:refresh(self.levelInfoList[index])
+ cell:refresh(self.gradeInfoList[index])
end)
self.scrollRectComp:clearCells()
self.scrollRectComp:setTotalCount(0)
- self.progressBg = self.uiMap["level_fund_ui.scrollrect.viewport.content.progress_bg"]
- self.progressComp = self.uiMap["level_fund_ui.scrollrect.viewport.content.progress_bg.progress"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
- self.grayImg = self.uiMap["level_fund_ui.scrollrect.viewport.content.gray_img"]
- self.horizontalLine = self.uiMap["level_fund_ui.scrollrect.viewport.content.line_img"]
- self.verticalLine1 = self.uiMap["level_fund_ui.scrollrect.viewport.content.vertical_line_1"]
- self.verticalLine2 = self.uiMap["level_fund_ui.scrollrect.viewport.content.vertical_line_2"]
+ self.progressBg = self.uiMap["growth_fund_ui.scrollrect.viewport.content.progress_bg"]
+ self.progressComp = self.uiMap["growth_fund_ui.scrollrect.viewport.content.progress_bg.progress"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
+ self.grayImg = self.uiMap["growth_fund_ui.scrollrect.viewport.content.gray_img"]
+ self.horizontalLine = self.uiMap["growth_fund_ui.scrollrect.viewport.content.line_img"]
+ self.verticalLine1 = self.uiMap["growth_fund_ui.scrollrect.viewport.content.vertical_line_1"]
+ self.verticalLine2 = self.uiMap["growth_fund_ui.scrollrect.viewport.content.vertical_line_2"]
end
-function LevelFundUI:bindData()
- self:bind(DataManager.FundData, "dirty", function()
- if self.fundLevel ~= DataManager.FundData:getFundLevel() then
- self.fundLevel = DataManager.FundData:getFundLevel()
- self:initLevelInfoList()
+function GrowthFundUI:bindData()
+ self:bind(DataManager.GrowthFundData, "dirty", function()
+ if self.fundGrade ~= DataManager.GrowthFundData:getFundGrade() then
+ self.fundGrade = DataManager.GrowthFundData:getFundGrade()
+ self:initGradeInfoList()
end
self:onRefresh()
end)
end
-function LevelFundUI:onRefresh()
+function GrowthFundUI:onRefresh()
self:refreshTitle()
self:refreshPayBtns()
self:refreshRewards()
end
-function LevelFundUI:refreshTitle()
- local fundLevel = DataManager.FundData:getFundLevel()
- if fundLevel == 1 then
- self.uiMap["level_fund_ui.title_img"]:setTexture("assets/arts/textures/background/fund/fund_bg_1.png")
- elseif fundLevel == 2 then
- self.uiMap["level_fund_ui.title_img"]:setTexture("assets/arts/textures/background/fund/fund_bg_2.png")
+function GrowthFundUI:refreshTitle()
+ local fundGrade = DataManager.GrowthFundData:getFundGrade()
+ if fundGrade == 1 then
+ self.uiMap["growth_fund_ui.title_img"]:setTexture("assets/arts/textures/background/fund/fund_bg_1.png")
+ elseif fundGrade == 2 then
+ self.uiMap["growth_fund_ui.title_img"]:setTexture("assets/arts/textures/background/fund/fund_bg_2.png")
end
- self.titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.LEVEL_FUND_DESC_1, fundLevel))
+ self.titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.LEVEL_FUND_DESC_1, fundGrade))
local height = self.titleTx:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).preferredHeight + 58
if height < self.originTitleBgHeight then
height = self.originTitleBgHeight
@@ -142,17 +142,17 @@ function LevelFundUI:refreshTitle()
self.titleDialogBg:setSizeDeltaY(height)
end
-function LevelFundUI:refreshPayBtns()
- if not DataManager.FundData:getIsBoughtBase() then
- local rechargeId = DataManager.FundData:getCurrLevelBaseRechargeId()
+function GrowthFundUI:refreshPayBtns()
+ if not DataManager.GrowthFundData:getIsBoughtBase() then
+ local rechargeId = DataManager.GrowthFundData:getCurrGradeBaseRechargeId()
self.payBtnTx1:setText(GFunc.getFormatPrice(rechargeId))
self.payBtn1:setTouchEnable(true)
else
self.payBtnTx1:setText(I18N:getGlobalText(I18N.GlobalConst.ALREADY_ACTIVE))
self.payBtn1:setTouchEnable(false)
end
- if not DataManager.FundData:getIsBoughtAdvance() then
- local rechargeId = DataManager.FundData:getCurrLevelAdvanceRechargeId()
+ if not DataManager.GrowthFundData:getIsBoughtAdvance() then
+ local rechargeId = DataManager.GrowthFundData:getCurrGradeAdvanceRechargeId()
self.payBtnTx2:setText(GFunc.getFormatPrice(rechargeId))
self.payBtn2:setTouchEnable(true)
else
@@ -161,11 +161,11 @@ function LevelFundUI:refreshPayBtns()
end
end
-function LevelFundUI:refreshRewards()
- local count = #self.levelInfoList
+function GrowthFundUI:refreshRewards()
+ local count = #self.gradeInfoList
if self.scrollRectComp:getTotalCount() <= 0 then
self.scrollRectComp:refillCells(count)
- local minIndex = DataManager.FundData:getMinUnclaimedRewardIndex()
+ local minIndex = DataManager.GrowthFundData:getMinUnclaimedRewardIndex()
if minIndex > 1 then
self.scrollRectComp:moveToIndex(minIndex)
end
@@ -200,4 +200,4 @@ function LevelFundUI:refreshRewards()
self.horizontalLine:setAnchoredPositionY(-topRecoveryOffset - (self.inactiveIndex - 1)*cellWidth)
end
-return LevelFundUI
\ No newline at end of file
+return GrowthFundUI
\ No newline at end of file
diff --git a/lua/app/ui/main_city/cell/side_bar_level_fund_cell.lua.meta b/lua/app/ui/fund/growth_fund_ui.lua.meta
similarity index 86%
rename from lua/app/ui/main_city/cell/side_bar_level_fund_cell.lua.meta
rename to lua/app/ui/fund/growth_fund_ui.lua.meta
index fb7a3b35..dc167370 100644
--- a/lua/app/ui/main_city/cell/side_bar_level_fund_cell.lua.meta
+++ b/lua/app/ui/fund/growth_fund_ui.lua.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 14a96472379bd3b45a9544e750fa0f10
+guid: 5a975799c3c9cc14fafc8e2c8d9cf4a7
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
diff --git a/lua/app/ui/main_city/cell/side_bar_beginner_gift_cell.lua b/lua/app/ui/main_city/cell/side_bar_beginner_gift_cell.lua
new file mode 100644
index 00000000..5fcfbc4f
--- /dev/null
+++ b/lua/app/ui/main_city/cell/side_bar_beginner_gift_cell.lua
@@ -0,0 +1,42 @@
+local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell"
+local SideBarBeginnerGiftCell = class("SideBarBeginnerGiftCell", SideBarBaseCellComp)
+
+function SideBarBeginnerGiftCell:getIsOpen()
+ return DataManager.ShopData:getBeginnerGiftShowSideBar()
+end
+
+function SideBarBeginnerGiftCell:getIconRes()
+ return "main_btn_gift_1"
+end
+
+function SideBarBeginnerGiftCell:onClick()
+ ModuleManager.ShopManager:showGiftPopUI(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.ShopConst.BEGINNER_GIFT_ID, true)
+end
+
+function SideBarBeginnerGiftCell:getIsShowRedPoint()
+ return false
+end
+
+function SideBarBeginnerGiftCell:onRefresh()
+ self.timeBg:setVisible(true)
+ self:_refreshTime()
+end
+
+function SideBarBeginnerGiftCell:updateTime()
+ if self:getIsOpen() then
+ self:_refreshTime()
+ else
+ self:closeBtn()
+ end
+end
+
+function SideBarBeginnerGiftCell:_refreshTime()
+ local remainTime = DataManager.ShopData:getBeginnerGiftSideBarRemainTime()
+ if remainTime >= 0 then
+ self.timeTx:setText(GFunc.getTimeStr(remainTime))
+ else
+ self.timeTx:setText("00:00:00")
+ end
+end
+
+return SideBarBeginnerGiftCell
\ No newline at end of file
diff --git a/lua/app/ui/fund/cell/level_fund_reward_cell.lua.meta b/lua/app/ui/main_city/cell/side_bar_beginner_gift_cell.lua.meta
similarity index 86%
rename from lua/app/ui/fund/cell/level_fund_reward_cell.lua.meta
rename to lua/app/ui/main_city/cell/side_bar_beginner_gift_cell.lua.meta
index 3f54d7bc..9b4bba88 100644
--- a/lua/app/ui/fund/cell/level_fund_reward_cell.lua.meta
+++ b/lua/app/ui/main_city/cell/side_bar_beginner_gift_cell.lua.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: b6e1fcafc8ff9f4459edefaa8e079e3e
+guid: b43a4c18aa3ff764691d1792e98936e2
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
diff --git a/lua/app/ui/main_city/cell/side_bar_first_recharge_cell.lua b/lua/app/ui/main_city/cell/side_bar_first_recharge_cell.lua
new file mode 100644
index 00000000..16ccd14a
--- /dev/null
+++ b/lua/app/ui/main_city/cell/side_bar_first_recharge_cell.lua
@@ -0,0 +1,24 @@
+local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell"
+local SideBarFirstRechargeCell = class("SideBarFirstRechargeCell", SideBarBaseCellComp)
+
+function SideBarFirstRechargeCell:getIsOpen()
+ return DataManager.ShopData:getShowFirstRechargeSideBar()
+end
+
+function SideBarFirstRechargeCell:getIconRes()
+ return "main_btn_gift_3"
+end
+
+function SideBarFirstRechargeCell:getIsShowRedPoint()
+ return DataManager.ShopData:showFirstRechargeRp()
+end
+
+function SideBarFirstRechargeCell:onClick()
+ ModuleManager.ShopManager:showGiftPopUI(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.ShopConst.FIRST_RECHARGE_ID, true)
+end
+
+function SideBarFirstRechargeCell:getIsShowRedPoint()
+ return false
+end
+
+return SideBarFirstRechargeCell
\ No newline at end of file
diff --git a/lua/app/ui/main_city/cell/side_bar_first_recharge_cell.lua.meta b/lua/app/ui/main_city/cell/side_bar_first_recharge_cell.lua.meta
new file mode 100644
index 00000000..09f7fa0a
--- /dev/null
+++ b/lua/app/ui/main_city/cell/side_bar_first_recharge_cell.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 19280ea11e6e84d4a8e2c067c3127203
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/main_city/cell/side_bar_grow_up_gift_1_cell.lua b/lua/app/ui/main_city/cell/side_bar_grow_up_gift_1_cell.lua
new file mode 100644
index 00000000..c8888638
--- /dev/null
+++ b/lua/app/ui/main_city/cell/side_bar_grow_up_gift_1_cell.lua
@@ -0,0 +1,57 @@
+local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell"
+local SideBarGrowUpGift1Cell = class("SideBarGrowUpGift1Cell", SideBarBaseCellComp)
+
+function SideBarGrowUpGift1Cell:getIsOpen()
+ return #DataManager.ShopData:getValidGrowUpGifts() >= 1
+end
+
+function SideBarGrowUpGift1Cell:getIconRes()
+ return "main_btn_gift_2"
+end
+
+function SideBarGrowUpGift1Cell:onClick()
+ local gift = DataManager.ShopData:getValidGrowUpGifts()[1]
+ if gift then
+ ModuleManager.ShopManager:showGiftPopUI(PayManager.PURCHARSE_TYPE.GROW_UP_GIFT, gift.current_grow_up_id, true)
+ end
+end
+
+function SideBarGrowUpGift1Cell:getIsShowRedPoint()
+ return false
+end
+
+function SideBarGrowUpGift1Cell:onRefresh()
+ self.timeBg:setVisible(true)
+ self:_refreshTime()
+end
+
+function SideBarGrowUpGift1Cell:updateTime()
+ if self:getIsOpen() then
+ self:_refreshTime()
+ else
+ self:closeBtn()
+ end
+end
+
+function SideBarGrowUpGift1Cell:_refreshTime()
+ local gift = DataManager.ShopData:getValidGrowUpGifts()[1]
+ if gift then
+ local cfgInfo = DataManager.ShopData:getActGrowUpGiftConfig()[gift.current_grow_up_id]
+ if cfgInfo then
+ local durationTime = (cfgInfo.limit_time or 0) * 3600
+ local triggerTime = gift.trigger_at // 1000
+ local remainTime = triggerTime + durationTime - Time:getServerTime()
+ if remainTime >= 0 then
+ self.timeTx:setText(GFunc.getTimeStr(remainTime))
+ else
+ self.timeTx:setText("00:00:00")
+ end
+ else
+ self.timeTx:setText("00:00:00")
+ end
+ else
+ self.timeTx:setText("00:00:00")
+ end
+end
+
+return SideBarGrowUpGift1Cell
\ No newline at end of file
diff --git a/lua/app/ui/main_city/cell/side_bar_grow_up_gift_1_cell.lua.meta b/lua/app/ui/main_city/cell/side_bar_grow_up_gift_1_cell.lua.meta
new file mode 100644
index 00000000..9a0420f0
--- /dev/null
+++ b/lua/app/ui/main_city/cell/side_bar_grow_up_gift_1_cell.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 297d71f3bc4702a40a96511df082c7ad
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/main_city/cell/side_bar_grow_up_gift_2_cell.lua b/lua/app/ui/main_city/cell/side_bar_grow_up_gift_2_cell.lua
new file mode 100644
index 00000000..2d8fe520
--- /dev/null
+++ b/lua/app/ui/main_city/cell/side_bar_grow_up_gift_2_cell.lua
@@ -0,0 +1,57 @@
+local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell"
+local SideBarGrowUpGift2Cell = class("SideBarGrowUpGift2Cell", SideBarBaseCellComp)
+
+function SideBarGrowUpGift2Cell:getIsOpen()
+ return #DataManager.ShopData:getValidGrowUpGifts() >= 2
+end
+
+function SideBarGrowUpGift2Cell:getIconRes()
+ return "main_btn_gift_2"
+end
+
+function SideBarGrowUpGift2Cell:onClick()
+ local gift = DataManager.ShopData:getValidGrowUpGifts()[2]
+ if gift then
+ ModuleManager.ShopManager:showGiftPopUI(PayManager.PURCHARSE_TYPE.GROW_UP_GIFT, gift.current_grow_up_id, true)
+ end
+end
+
+function SideBarGrowUpGift2Cell:getIsShowRedPoint()
+ return false
+end
+
+function SideBarGrowUpGift2Cell:onRefresh()
+ self.timeBg:setVisible(true)
+ self:_refreshTime()
+end
+
+function SideBarGrowUpGift2Cell:updateTime()
+ if self:getIsOpen() then
+ self:_refreshTime()
+ else
+ self:closeBtn()
+ end
+end
+
+function SideBarGrowUpGift2Cell:_refreshTime()
+ local gift = DataManager.ShopData:getValidGrowUpGifts()[2]
+ if gift then
+ local cfgInfo = DataManager.ShopData:getActGrowUpGiftConfig()[gift.current_grow_up_id]
+ if cfgInfo then
+ local durationTime = (cfgInfo.limit_time or 0) * 3600
+ local triggerTime = gift.trigger_at // 1000
+ local remainTime = triggerTime + durationTime - Time:getServerTime()
+ if remainTime >= 0 then
+ self.timeTx:setText(GFunc.getTimeStr(remainTime))
+ else
+ self.timeTx:setText("00:00:00")
+ end
+ else
+ self.timeTx:setText("00:00:00")
+ end
+ else
+ self.timeTx:setText("00:00:00")
+ end
+end
+
+return SideBarGrowUpGift2Cell
\ No newline at end of file
diff --git a/lua/app/ui/main_city/cell/side_bar_grow_up_gift_2_cell.lua.meta b/lua/app/ui/main_city/cell/side_bar_grow_up_gift_2_cell.lua.meta
new file mode 100644
index 00000000..e302a8a4
--- /dev/null
+++ b/lua/app/ui/main_city/cell/side_bar_grow_up_gift_2_cell.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 2dded7533782f8247b5d11e2eedfdd21
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/main_city/cell/side_bar_growth_fund_cell.lua b/lua/app/ui/main_city/cell/side_bar_growth_fund_cell.lua
new file mode 100644
index 00000000..a1efe9ec
--- /dev/null
+++ b/lua/app/ui/main_city/cell/side_bar_growth_fund_cell.lua
@@ -0,0 +1,24 @@
+local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell"
+local SideBarGrowthFundCell = class("SideBarGrowthFundCell", SideBarBaseCellComp)
+
+function SideBarGrowthFundCell:getIsOpen()
+ return DataManager.GrowthFundData:getIsOpen()
+end
+
+function SideBarGrowthFundCell:getIconRes()
+ return "main_btn_fund"
+end
+
+function SideBarGrowthFundCell:onClick()
+ ModuleManager.FundManager:showLevelFundUI()
+end
+
+function SideBarGrowthFundCell:getIsShowRedPoint()
+ return DataManager.GrowthFundData:getIfCanClaimReward()
+end
+
+function SideBarGrowthFundCell:getHasShake()
+ return true
+end
+
+return SideBarGrowthFundCell
\ No newline at end of file
diff --git a/lua/app/ui/main_city/cell/side_bar_growth_fund_cell.lua.meta b/lua/app/ui/main_city/cell/side_bar_growth_fund_cell.lua.meta
new file mode 100644
index 00000000..da3aa0f0
--- /dev/null
+++ b/lua/app/ui/main_city/cell/side_bar_growth_fund_cell.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 89fd1069c28a504499e23bd0718b4d8a
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/main_city/cell/side_bar_level_fund_cell.lua b/lua/app/ui/main_city/cell/side_bar_level_fund_cell.lua
deleted file mode 100644
index a7d242fe..00000000
--- a/lua/app/ui/main_city/cell/side_bar_level_fund_cell.lua
+++ /dev/null
@@ -1,24 +0,0 @@
-local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell"
-local SideBarLevelFundCell = class("SideBarLevelFundCell", SideBarBaseCellComp)
-
-function SideBarLevelFundCell:getIsOpen()
- return DataManager.FundData:getIsOpen()
-end
-
-function SideBarLevelFundCell:getIconRes()
- return "main_btn_fund"
-end
-
-function SideBarLevelFundCell:onClick()
- ModuleManager.FundManager:showLevelFundUI()
-end
-
-function SideBarLevelFundCell:getIsShowRedPoint()
- return DataManager.FundData:getIfCanClaimReward()
-end
-
-function SideBarLevelFundCell:getHasShake()
- return true
-end
-
-return SideBarLevelFundCell
\ No newline at end of file
diff --git a/lua/app/ui/main_city/main_city_ui.lua b/lua/app/ui/main_city/main_city_ui.lua
index 01f56d2c..e728ba38 100644
--- a/lua/app/ui/main_city/main_city_ui.lua
+++ b/lua/app/ui/main_city/main_city_ui.lua
@@ -2,6 +2,10 @@ local UIPrefabObject = require "app/bf/unity/uiprefab_object"
local MainCityUI = class("MainCityUI", BaseUI)
+local SIDE_BAR_BORDER_OFFSET = 12
+local SIDE_BAR_INTERVAL = 14
+local SIDE_BAR_ARROW_INTERVAL = 20
+
local BF_UI_HELPER = GConst.TYPEOF_UNITY_CLASS.BF_UI_HELPER
local HERO_COMP = "app/ui/hero/hero_comp"
local MAIN_COMP = "app/ui/main_city/component/main_comp"
@@ -126,6 +130,18 @@ function MainCityUI:_addListeners()
-- 引导完成时 检测主界面的弹窗是否要触发
self:checkGift()
end)
+ self:addEventListener(EventManager.CUSTOM_EVENT.GO_SHOP, function()
+ if ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.MALL, false) then
+ if self.selectedIndex == MainCityUI.CLICK_BTN_TYPE[3] then
+ return
+ end
+ BIReport:postHomeBtnCilck(BIReport.CLICK_BTN_TYPE[MainCityUI.CLICK_BTN_TYPE[3]])
+ self.bottomBtnSpines[3]:playAnimComplete("born", false, false, function()
+ self.bottomBtnSpines[3]:playAnim("idle", false, false)
+ end)
+ self:refreshBottom(3, true)
+ end
+ end)
DataManager.MailData:checkNewMail()
end
@@ -186,6 +202,7 @@ function MainCityUI:_bind()
self.subComps[self.selectedIndex]:refresh()
end
end
+ self:refreshBottomRp()
end)
self:bind(DataManager.SummonData, "isDirty", function()
if self.selectedIndex == GConst.MainCityConst.BOTTOM_PAGE.SHOP and self.subComps[self.selectedIndex] then
@@ -211,6 +228,11 @@ function MainCityUI:initBottomUI()
for i = 1, 3 do
local cellCom = CellManager:addCellComp(uiMap["main_ui.bottom_node.bottom_btn_cell_" .. i], BOTTOM_BTN_CELL)
cellCom:addClickListener(function()
+ if i == 3 then -- 商城有开启条件
+ if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.MALL, false) then
+ return
+ end
+ end
if self.selectedIndex == i then
return
end
@@ -389,14 +411,14 @@ function MainCityUI:refreshLeftBtns()
return
end
self.leftNode:setAnchoredPositionX(0)
- local y = - 2 - self.sideBarHeight/2
+ local y = -SIDE_BAR_BORDER_OFFSET - self.sideBarHeight/2
if isClose then -- 只显示一个
local first = self.leftBarList[1]
first:setAnchoredPositionY(y)
first:setVisible(true)
first:setActive(true)
first:refresh()
- y = y - self.sideBarHeight - 2
+ y = y - self.sideBarHeight - SIDE_BAR_INTERVAL
for i = 2, #self.leftBarList do
self.leftBarList[i]:setVisible(false)
self.leftBarList[i]:setActive(true)
@@ -408,12 +430,14 @@ function MainCityUI:refreshLeftBtns()
v:setVisible(true)
v:setActive(true)
v:refresh()
- y = y - self.sideBarHeight - 2
+ y = y - self.sideBarHeight - SIDE_BAR_INTERVAL
end
end
+ local arrowHeight = self.leftArrowBtn:getRectHeight()
+ y = y + self.sideBarHeight/2 - SIDE_BAR_ARROW_INTERVAL - arrowHeight
self.leftSideBar:setSizeDeltaY(-y)
self.leftArrowImg:setLocalScale(1, isClose and -1 or 1, 1)
- self.leftArrowBtn:setAnchoredPositionY(self.leftSideBar:fastGetAnchoredPositionY() + y + 20)
+ self.leftArrowBtn:setAnchoredPositionY(self.leftSideBar:fastGetAnchoredPositionY() + y + arrowHeight/2 + SIDE_BAR_BORDER_OFFSET)
end
function MainCityUI:openOrCloseRightSideBar()
@@ -454,14 +478,14 @@ function MainCityUI:refreshRightBtns()
return
end
self.rightNode:setAnchoredPositionX(0)
- local y = -2 - self.sideBarHeight/2
+ local y = -SIDE_BAR_BORDER_OFFSET - self.sideBarHeight/2
if isClose then -- 只显示一个
local first = self.rightBarList[1]
first:setAnchoredPositionY(y)
first:setVisible(true)
first:setActive(true)
first:refresh()
- y = y - self.sideBarHeight - 2
+ y = y - self.sideBarHeight - SIDE_BAR_INTERVAL
for i = 2, #self.rightBarList do
self.rightBarList[i]:setVisible(false)
self.rightBarList[i]:setActive(true)
@@ -473,12 +497,14 @@ function MainCityUI:refreshRightBtns()
v:setVisible(true)
v:setActive(true)
v:refresh()
- y = y - self.sideBarHeight - 2
+ y = y - self.sideBarHeight - SIDE_BAR_INTERVAL
end
end
+ local arrowHeight = self.rightArrowBtn:getRectHeight()
+ y = y + self.sideBarHeight / 2 - SIDE_BAR_ARROW_INTERVAL - arrowHeight
self.rightSideBar:setSizeDeltaY(-y)
self.rightArrowImg:setLocalScale(1, isClose and -1 or 1, 1)
- self.rightArrowBtn:setAnchoredPositionY(self.rightSideBar:fastGetAnchoredPositionY() + y + 20)
+ self.rightArrowBtn:setAnchoredPositionY(self.rightSideBar:fastGetAnchoredPositionY() + y + arrowHeight/2 + SIDE_BAR_BORDER_OFFSET)
end
function MainCityUI:clearSideBarList(sideBarList)
@@ -751,6 +777,12 @@ function MainCityUI:refreshBottomRp()
else
heroRpObj:removeRedPoint()
end
+ local shopRpObj = uiMap["main_ui.bottom_node.icons.ui_spine_obj_3.rp_node"]
+ if DataManager.ShopData:getRp() then
+ shopRpObj:addRedPoint(0, 0, 1)
+ else
+ shopRpObj:removeRedPoint()
+ end
end
function MainCityUI:refreshSettingBtn()
@@ -834,6 +866,7 @@ function MainCityUI:checkGift()
-- 先遍历找出符合弹出的类型
local beginnerGiftIds = {}
local levelUpGiftIds = {}
+ local firstRechargeIds = {}
for _, actId in ipairs(popUpGift) do
local cfgInfo = DataManager.ShopData:getActGiftConfig()[actId]
if cfgInfo then
@@ -845,8 +878,17 @@ function MainCityUI:checkGift()
if cfgInfo.type == PayManager.PURCHARSE_ACT_TYPE.LEVEL_UP_GIFT then
table.insert(levelUpGiftIds, actId)
end
+ -- 首充礼包
+ if cfgInfo.type == PayManager.PURCHARSE_ACT_TYPE.FIRST_RECHARGE then
+ table.insert(firstRechargeIds, actId)
+ end
end
end
+ -- 首充礼包
+ if #firstRechargeIds then
+ ModuleManager.ShopManager:triggerGiftPopUI(PayManager.PURCHARSE_TYPE.ACT_GIFT, firstRechargeIds[1])
+ return true
+ end
-- 新手礼包
if #beginnerGiftIds > 0 then
ModuleManager.ShopManager:triggerGiftPopUI(PayManager.PURCHARSE_TYPE.ACT_GIFT, beginnerGiftIds[1])
@@ -857,8 +899,6 @@ function MainCityUI:checkGift()
ModuleManager.ShopManager:triggerGiftPopUI(PayManager.PURCHARSE_TYPE.ACT_GIFT, levelUpGiftIds[1])
return true
end
-
- return true
end
-- 特殊的 成长礼包
local popUpGift = DataManager.ShopData:getPopUpGiftByType(PayManager.PURCHARSE_TYPE.GROW_UP_GIFT)
diff --git a/lua/app/ui/shop/box_hero_ui.lua b/lua/app/ui/shop/box_hero_ui.lua
index 5e12fde3..b001c724 100644
--- a/lua/app/ui/shop/box_hero_ui.lua
+++ b/lua/app/ui/shop/box_hero_ui.lua
@@ -1,12 +1,12 @@
local BoxHeroUI = class("BoxHeroUI", BaseUI)
local TITLE_TEXT = {
- [GConst.SummonConst.SUMMON_TYPE.LV_1] = "普通宝箱TD", -- TODOJ
- [GConst.SummonConst.SUMMON_TYPE.LV_2] = "精致宝箱TD",
- [GConst.SummonConst.SUMMON_TYPE.LV_3] = "珍贵宝箱TD"
+ [GConst.SummonConst.SUMMON_TYPE.LV_1] = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_1), -- 普通宝箱
+ [GConst.SummonConst.SUMMON_TYPE.LV_2] = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_2), -- 精致宝箱
+ [GConst.SummonConst.SUMMON_TYPE.LV_3] = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_3), -- 珍贵宝箱
}
local ICON_NAME = {
- [GConst.SummonConst.SUMMON_TYPE.LV_1] = "shop_chest_1", -- TODOJ
+ [GConst.SummonConst.SUMMON_TYPE.LV_1] = "shop_chest_1",
[GConst.SummonConst.SUMMON_TYPE.LV_2] = "shop_chest_2",
[GConst.SummonConst.SUMMON_TYPE.LV_3] = "shop_chest_3"
}
diff --git a/lua/app/ui/shop/box_level_ui.lua b/lua/app/ui/shop/box_level_ui.lua
index 5d202806..0112b1d7 100644
--- a/lua/app/ui/shop/box_level_ui.lua
+++ b/lua/app/ui/shop/box_level_ui.lua
@@ -36,7 +36,7 @@ function BoxLevelUI:onLoadRootComplete()
self.box1Add2ItemCell = CellManager:addCellComp(self.uiMap["box_level_ui.bg.box_1.add_node_2.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL)
self.box1Add2Text = self.uiMap["box_level_ui.bg.box_1.add_node_2.text"]
self.box1Desc = self.uiMap["box_level_ui.bg.box_1.none_text"]
- self.box1Desc:setText("无额外奖励加成TD") -- TODOJ
+ self.box1Desc:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_4)) -- 无额外奖励加成
self.box2Node = self.uiMap["box_level_ui.bg.box_2"]
self.box2Add1Node = self.uiMap["box_level_ui.bg.box_2.add_node_1"]
@@ -46,7 +46,7 @@ function BoxLevelUI:onLoadRootComplete()
self.box2Add2ItemCell = CellManager:addCellComp(self.uiMap["box_level_ui.bg.box_2.add_node_2.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL)
self.box2Add2Text = self.uiMap["box_level_ui.bg.box_2.add_node_2.text"]
self.box2Desc = self.uiMap["box_level_ui.bg.box_2.none_text"]
- self.box2Desc:setText("无额外奖励加成TD") -- TODOJ
+ self.box2Desc:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_4)) -- 无额外奖励加成
self.box3Node = self.uiMap["box_level_ui.bg.box_3"]
self.box3Add1Node = self.uiMap["box_level_ui.bg.box_3.add_node_1"]
@@ -56,10 +56,10 @@ function BoxLevelUI:onLoadRootComplete()
self.box3Add2ItemCell = CellManager:addCellComp(self.uiMap["box_level_ui.bg.box_3.add_node_2.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL)
self.box3Add2Text = self.uiMap["box_level_ui.bg.box_3.add_node_2.text"]
self.box3Desc = self.uiMap["box_level_ui.bg.box_3.none_text"]
- self.box3Desc:setText("无额外奖励加成TD") -- TODOJ
+ self.box3Desc:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_4)) -- 无额外奖励加成
self.bottomDesc = self.uiMap["box_level_ui.bg.title"]
- self.bottomDesc:setText("开宝箱提升等级,增加宝箱奖励TD") -- TODOJ
+ self.bottomDesc:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_5)) -- 开宝箱提升等级,增加宝箱奖励
self.leftArrow:addClickListener(function()
self.level = self.level - 1
diff --git a/lua/app/ui/shop/box_level_up_ui.lua b/lua/app/ui/shop/box_level_up_ui.lua
index 033a0420..25fae603 100644
--- a/lua/app/ui/shop/box_level_up_ui.lua
+++ b/lua/app/ui/shop/box_level_up_ui.lua
@@ -30,7 +30,7 @@ function BoxLevelUpUI:onLoadRootComplete()
self.box1Add2ItemCell = CellManager:addCellComp(self.uiMap["box_level_up_ui.box_1.add_node_2.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL)
self.box1Add2Text = self.uiMap["box_level_up_ui.box_1.add_node_2.text"]
self.box1Desc = self.uiMap["box_level_up_ui.box_1.none_text"]
- self.box1Desc:setText("无额外奖励加成TD") -- TODOJ
+ self.box1Desc:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_4)) -- 无额外奖励加成
self.box2Node = self.uiMap["box_level_up_ui.box_2"]
self.box2Add1Node = self.uiMap["box_level_up_ui.box_2.add_node_1"]
@@ -40,7 +40,7 @@ function BoxLevelUpUI:onLoadRootComplete()
self.box2Add2ItemCell = CellManager:addCellComp(self.uiMap["box_level_up_ui.box_2.add_node_2.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL)
self.box2Add2Text = self.uiMap["box_level_up_ui.box_2.add_node_2.text"]
self.box2Desc = self.uiMap["box_level_up_ui.box_2.none_text"]
- self.box2Desc:setText("无额外奖励加成TD") -- TODOJ
+ self.box2Desc:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_4)) -- 无额外奖励加成
self.box3Node = self.uiMap["box_level_up_ui.box_3"]
self.box3Add1Node = self.uiMap["box_level_up_ui.box_3.add_node_1"]
@@ -50,7 +50,7 @@ function BoxLevelUpUI:onLoadRootComplete()
self.box3Add2ItemCell = CellManager:addCellComp(self.uiMap["box_level_up_ui.box_3.add_node_2.item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL)
self.box3Add2Text = self.uiMap["box_level_up_ui.box_3.add_node_2.text"]
self.box3Desc = self.uiMap["box_level_up_ui.box_3.none_text"]
- self.box3Desc:setText("无额外奖励加成TD") -- TODOJ
+ self.box3Desc:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_4)) -- 无额外奖励加成
self.closeTx = self.uiMap["box_level_up_ui.close_tx"]
@@ -58,9 +58,9 @@ function BoxLevelUpUI:onLoadRootComplete()
end
function BoxLevelUpUI:refresh()
- self.titleTx:setText("宝箱等级提升!TD") -- TODOJ
+ self.titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_6)) -- 宝箱等级提升!
self.lvTx:setText("Lv." .. tostring(self.level))
- self.closeTx:setText("点击继续TD") -- TODOJ
+ self.closeTx:setText(I18N:getGlobalText(I18N.GlobalConst.CLICK_TO_CONTINUE)) -- 点击继续
self.box1Add1Node:setVisible(false)
self.box1Add2Node:setVisible(false)
diff --git a/lua/app/ui/shop/box_open_ui.lua b/lua/app/ui/shop/box_open_ui.lua
index c091b969..e6cf95ef 100644
--- a/lua/app/ui/shop/box_open_ui.lua
+++ b/lua/app/ui/shop/box_open_ui.lua
@@ -1,7 +1,7 @@
local BoxOpenUI = class("BoxOpenUI", BaseUI)
local ICON_NAME = {
- [GConst.SummonConst.SUMMON_TYPE.LV_1] = "shop_chest_1", -- TODOJ
+ [GConst.SummonConst.SUMMON_TYPE.LV_1] = "shop_chest_1",
[GConst.SummonConst.SUMMON_TYPE.LV_2] = "shop_chest_2",
[GConst.SummonConst.SUMMON_TYPE.LV_3] = "shop_chest_3"
}
@@ -28,7 +28,7 @@ function BoxOpenUI:onLoadRootComplete()
self.btnText = self.uiMap["box_open_ui.open_btn.text"]
self.boxImg:setSprite(GConst.ATLAS_PATH.SHOP, ICON_NAME[self.summonType])
- self.btnText:setText("立即打开") -- TODOJ
+ self.btnText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_7)) -- 立即打开
self.openBtn:addClickListener(function()
ModuleManager.ShopManager:showBoxRewardUI(self.params)
diff --git a/lua/app/ui/shop/box_reward_ui.lua b/lua/app/ui/shop/box_reward_ui.lua
index df9fa8be..222e0523 100644
--- a/lua/app/ui/shop/box_reward_ui.lua
+++ b/lua/app/ui/shop/box_reward_ui.lua
@@ -35,7 +35,7 @@ function BoxRewardUI:onLoadRootComplete()
self.uiMap = self.root:genAllChildren()
self.titleTx = self.uiMap["box_reward_ui.title.text"]
- self.titleTx:setText("恭喜获得TD") -- TODOJ
+ self.titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_8)) -- 恭喜获得
self.scrollRectObj = self.uiMap["box_reward_ui.scroll_rect"]
self.scrollRect = self.scrollRectObj:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
@@ -60,7 +60,7 @@ function BoxRewardUI:onLoadRootComplete()
end
self.closeTx = self.uiMap["box_reward_ui.close_tx"]
- self.closeTx:setText("点击关闭TD") -- TODOJ
+ self.closeTx:setText(I18N:getGlobalText(I18N.GlobalConst.CLICK_CLOSE_DESC))
self.mask = self.uiMap["box_reward_ui.mask"]
self.mask:addClickListener(function()
diff --git a/lua/app/ui/shop/cell/beginner_sell_cell.lua b/lua/app/ui/shop/cell/beginner_sell_cell.lua
index d0674590..10c20019 100644
--- a/lua/app/ui/shop/cell/beginner_sell_cell.lua
+++ b/lua/app/ui/shop/cell/beginner_sell_cell.lua
@@ -51,9 +51,9 @@ function BeginnerSellCell:refresh()
self.offImg:setVisible(false)
end
-- 限购
- self.limitText:setText("限购1次TD") -- 章节礼包默认限购1次 TODOJ
+ self.limitText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_18, 1)) -- 限购1次
-- 标题
- self.titleText:setText("新手礼包TD") -- TODOJ
+ self.titleText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_11)) -- 新手礼包
-- 奖励
local rewardList = cfgInfo.reward
local count = rewardList and #rewardList or 0
diff --git a/lua/app/ui/shop/cell/box_sell_cell.lua b/lua/app/ui/shop/cell/box_sell_cell.lua
index 46c1de02..2b1a4aaf 100644
--- a/lua/app/ui/shop/cell/box_sell_cell.lua
+++ b/lua/app/ui/shop/cell/box_sell_cell.lua
@@ -8,24 +8,24 @@ function BoxSellCell:init()
local uiMap = self.baseObject:genAllChildren()
self.bg = uiMap["box_sell_cell.bg"]
local boxNameTx1 = uiMap["box_sell_cell.bg.box_1.name_tx"]
- boxNameTx1:setText("临时文本:普通宝箱")
+ boxNameTx1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_1)) -- 普通宝箱
local boxDescTx1 = uiMap["box_sell_cell.bg.box_1.desc_tx"]
- boxDescTx1:setText("临时文本:必出普通英雄")
+ boxDescTx1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_24)) -- 必出普通英雄
self.boxBuyBtn1 = uiMap["box_sell_cell.bg.box_1.buy_btn"]
self.boxBuyBtnCoin1 = uiMap["box_sell_cell.bg.box_1.buy_btn.coin"]
self.boxBuyBtnTx1 = uiMap["box_sell_cell.bg.box_1.buy_btn.buy_tx"]
local boxNameTx2 = uiMap["box_sell_cell.bg.box_2.name_tx"]
- boxNameTx2:setText("临时文本:精致宝箱")
+ boxNameTx2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_2)) -- 精致宝箱
local boxDescTx2 = uiMap["box_sell_cell.bg.box_2.desc_tx"]
- boxDescTx2:setText("临时文本:必出稀有英雄")
+ boxDescTx2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_25)) -- 必出稀有英雄
self.boxBuyBtn2 = uiMap["box_sell_cell.bg.box_2.buy_btn"]
self.boxBuyBtnCoin2 = uiMap["box_sell_cell.bg.box_2.buy_btn.coin"]
self.boxBuyBtnTx2 = uiMap["box_sell_cell.bg.box_2.buy_btn.buy_tx"]
self.box3 = uiMap["box_sell_cell.bg.box_3"]
local boxNameTx3 = uiMap["box_sell_cell.bg.box_3.name_tx"]
- boxNameTx3:setText("临时文本:珍贵")
+ boxNameTx3:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_3)) -- 珍贵宝箱
local boxDescTx3 = uiMap["box_sell_cell.bg.box_3.desc_tx"]
- boxDescTx3:setText("临时文本:必出史诗英雄")
+ boxDescTx3:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_26)) -- 必出史诗英雄
self.boxBuyBtn3 = uiMap["box_sell_cell.bg.box_3.buy_btn"]
self.boxBuyBtnCoin3 = uiMap["box_sell_cell.bg.box_3.buy_btn.coin"]
self.boxBuyBtnTx3 = uiMap["box_sell_cell.bg.box_3.buy_btn.buy_tx"]
@@ -34,7 +34,7 @@ function BoxSellCell:init()
self.progressTx = uiMap["box_sell_cell.bg.progress_tx"]
self.helpBtn = uiMap["box_sell_cell.bg.help_btn"]
local titleTx = uiMap["box_sell_cell.title_bg.text"]
- titleTx:setText("临时文本:宝箱")
+ titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_27)) -- 宝箱
self.boxBuyBtn1:addClickListener(function()
self:onClickBox(GConst.SummonConst.SUMMON_TYPE.LV_1)
@@ -72,12 +72,12 @@ function BoxSellCell:refreshLv()
local lv = DataManager.SummonData:getSummonLevel()
local exp = DataManager.SummonData:getSummonExp()
local maxExp = DataManager.SummonData:getSummonMaxExp()
- self.progressLv:setText("Lv." .. tostring(lv)) -- TODOJ
+ self.progressLv:setText("Lv." .. tostring(lv))
if maxExp and maxExp > 0 then
- self.progressTx:setText(tostring(exp) .. "/" .. tostring(maxExp)) -- TODOJ
+ self.progressTx:setText(tostring(exp) .. "/" .. tostring(maxExp))
self.progressSlider.value = exp / maxExp
else
- self.progressTx:setText("MAX") -- TODOJ
+ self.progressTx:setText(I18N:getGlobalText(I18N.GlobalConst.STR_MAX))
self.progressSlider.value = 1
end
end
diff --git a/lua/app/ui/shop/cell/chapter_cell.lua b/lua/app/ui/shop/cell/chapter_cell.lua
index ceb58a85..3d7f187e 100644
--- a/lua/app/ui/shop/cell/chapter_cell.lua
+++ b/lua/app/ui/shop/cell/chapter_cell.lua
@@ -67,9 +67,9 @@ function ChapterCell:refresh(idx, cfgInfo, totalCount, arrowCallback)
-- 超值
self.offText:setText(tostring(cfgInfo.value * 100) .. "%")
-- 限购
- self.limitText:setText("限购1次TD") -- 章节礼包默认限购1次 TODOJ
+ self.limitText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_18, 1)) -- 限购1次
-- 标题
- self.titleText:setText("第" .. tostring(cfgInfo.chapter) .. "章礼包TD") -- TODOJ
+ self.titleText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_19, tostring(cfgInfo.chapter))) -- 第{0}章礼包
-- 奖励
local rewardList = cfgInfo.reward
local count = rewardList and #rewardList or 0
diff --git a/lua/app/ui/shop/cell/coin_sell_cell.lua b/lua/app/ui/shop/cell/coin_sell_cell.lua
index 914eb2be..5989b888 100644
--- a/lua/app/ui/shop/cell/coin_sell_cell.lua
+++ b/lua/app/ui/shop/cell/coin_sell_cell.lua
@@ -47,9 +47,9 @@ function CoinSellCell:refresh()
-- 超值
self.offText:setText(tostring(cfgInfo.value) .. "%")
-- 限购
- self.limitText:setText("限购" .. tostring(cfgInfo.limit) .. "次TD") -- TODOJ
+ self.limitText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_18, tostring(cfgInfo.limit))) -- 限购{0}次
-- 标题
- self.titleText:setText("金币礼包TD") -- TODOJ
+ self.titleText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_14))
-- 奖励
local rewardList = cfgInfo.reward
local count = rewardList and #rewardList or 0
diff --git a/lua/app/ui/shop/cell/gem_cell.lua b/lua/app/ui/shop/cell/gem_cell.lua
index 721e4cd2..0dc48263 100644
--- a/lua/app/ui/shop/cell/gem_cell.lua
+++ b/lua/app/ui/shop/cell/gem_cell.lua
@@ -17,7 +17,7 @@ function GemCell:init()
self.adText = uiMap["gem_cell.ad.desc"]
self.sellOutText = uiMap["gem_cell.sell_out"]
- self.sellOutText:setText("已购买TD") -- TODOJ
+ self.sellOutText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
end
function GemCell:refresh(id, cfgInfo)
@@ -31,6 +31,7 @@ function GemCell:refresh(id, cfgInfo)
local hasDoubleTimes = bought < limit
local leftDoubleTimes = limit - bought
+ self.icon:setSprite(GConst.ATLAS_PATH.SHOP, GConst.ShopConst.GEM_ICON_NAME[id])
if isFree then -- 免费广告
self.adNode:setVisible(true)
self.priceText:setVisible(false)
@@ -39,11 +40,11 @@ function GemCell:refresh(id, cfgInfo)
GFunc.setAdsSprite(self.adImg)
local adLeftCount = adMaxTimes - bought
if adLeftCount > 0 then
- self.adText:setText("免费(" .. tostring(adLeftCount) .. ")TD") -- TODOJ
+ self.adText:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE) .. "(" .. tostring(adLeftCount) .. ")") -- 免费(x)
GFunc.centerImgAndTx(self.adImg, self.adText, 5)
self.sellOutText:setVisible(false)
- self:getBaseObject():addRedPoint(105, 150, 0.6)
+ self:getBaseObject():addRedPoint(100, 145, 0.6)
else
self.adNode:setVisible(false)
self.sellOutText:setVisible(true)
@@ -56,7 +57,7 @@ function GemCell:refresh(id, cfgInfo)
if hasDoubleTimes then -- 有双倍效果
self.doubleNode:setVisible(true)
- self.doubleDesc:setText("剩余次数:" .. tostring(leftDoubleTimes) .. "TD") -- TODOJ
+ self.doubleDesc:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_21, tostring(leftDoubleTimes))) -- 剩余次数:{0}
self.doubleText:setText("+" .. tostring(reward.num * 2))
GFunc.centerImgAndTx(self.doubleImg, self.doubleText, 5)
self.doubleOriginText:setText(reward.num)
diff --git a/lua/app/ui/shop/cell/gem_sell_cell.lua b/lua/app/ui/shop/cell/gem_sell_cell.lua
index 204a79ff..ce9930fc 100644
--- a/lua/app/ui/shop/cell/gem_sell_cell.lua
+++ b/lua/app/ui/shop/cell/gem_sell_cell.lua
@@ -3,13 +3,13 @@ local GemSellCell = class("GemSellCell", BaseCell)
function GemSellCell:init()
local uiMap = self.baseObject:genAllChildren()
local titleTx = uiMap["gem_sell_cell.title_bg.text"]
- titleTx:setText("临时文本:钻石")
+ titleTx:setText(ModuleManager.ItemManager:getItemName(GConst.ItemConst.ITEM_ID_GEM))
self.cells = {}
self.cellHeight = 0
local cellHeight = nil
- local cfg = ConfigManager:getConfig("mall_treasure")
- for i = 1, 19 do -- 正常9个 提审19个 暂未处理提审模式 -- TODOJ
+ local cfg = DataManager.ShopData:getMallTreasureConfig() -- 审核模式读取另一张表
+ for i = 1, 19 do -- 正常9个 提审19个
local cell = uiMap["gem_sell_cell.cell_" .. i]
if cellHeight == nil then
local w, h = cell:fastGetSizeDelta()
@@ -30,7 +30,7 @@ function GemSellCell:init()
end
function GemSellCell:refresh()
- local cfg = ConfigManager:getConfig("mall_treasure")
+ local cfg = DataManager.ShopData:getMallTreasureConfig()
for k, v in ipairs(self.cells) do
local id = k -- 目前配置表结构如此
v:refresh(id, cfg[id])
@@ -49,8 +49,4 @@ function GemSellCell:setVisible(visible)
self.baseObject:setVisible(visible)
end
-function GemSellCell:onClickGift(id)
- Logger.logHighlight("Click id:%s", id) -- TODOJ
-end
-
return GemSellCell
\ No newline at end of file
diff --git a/lua/app/ui/shop/cell/gold_cell.lua b/lua/app/ui/shop/cell/gold_cell.lua
index 995d99af..70434791 100644
--- a/lua/app/ui/shop/cell/gold_cell.lua
+++ b/lua/app/ui/shop/cell/gold_cell.lua
@@ -14,7 +14,7 @@ function GoldCell:init()
self.descText = uiMap["gold_cell.desc"]
self.sellOutText = uiMap["gold_cell.sell_out"]
- self.sellOutText:setText("已购买TD") -- TODOJ
+ self.sellOutText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20)) -- 已购买
end
function GoldCell:refresh(id, cfgInfo)
@@ -23,8 +23,9 @@ function GoldCell:refresh(id, cfgInfo)
local adMaxTimes = cfgInfo.daily or 0
local goldNum = DataManager.ShopData:getCommonDailyCoinNum(idleTime)
+ self.icon:setSprite(GConst.ATLAS_PATH.SHOP, GConst.ShopConst.COIN_ICON_NAME[id])
+
local isFree = adMaxTimes > 0
-
if isFree then -- 免费广告
self.adNode:setVisible(true)
self.costNode:setVisible(false)
@@ -33,11 +34,11 @@ function GoldCell:refresh(id, cfgInfo)
local bought = DataManager.ShopData:getCommonDailyCoinAdBuyCount() -- 金币礼包购买次数
local adLeftCount = adMaxTimes - bought
if adLeftCount > 0 then
- self.adText:setText("免费(" .. tostring(adLeftCount) .. ")TD") -- TODOJ
+ self.adText:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE) .. "(" .. tostring(adLeftCount) .. ")") -- 免费(x)
GFunc.centerImgAndTx(self.adImg, self.adText, 5)
self.sellOutText:setVisible(false)
- self:getBaseObject():addRedPoint(105, 150, 0.6)
+ self:getBaseObject():addRedPoint(100, 145, 0.6)
else
self.adNode:setVisible(false)
self.sellOutText:setVisible(true)
@@ -54,7 +55,7 @@ function GoldCell:refresh(id, cfgInfo)
end
self.nameText:setText(GFunc.num2Str(goldNum))
- self.descText:setText("金币礼包:" .. tostring(id) .. "TD") -- TODOJ
+ self.descText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_14)) -- 金币礼包
self:addClickListener(function()
self:onClickGift(id, isFree)
@@ -82,7 +83,16 @@ function GoldCell:onClickGift(id, isAd)
if not GFunc.checkCost(costs.id, costs.num, true) then
return
end
- ModuleManager.ShopManager:buyMallIdleCoin(id, isAd)
+ -- 二次提示
+ local params = {
+ content = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_33), -- 是否使用钻石刷新每日特惠?
+ boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL,
+ okText = I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK),
+ okFunc = function()
+ ModuleManager.ShopManager:buyMallIdleCoin(id, isAd)
+ end
+ }
+ GFunc.showMessageBox(params)
end
end
diff --git a/lua/app/ui/shop/cell/gold_sell_cell.lua b/lua/app/ui/shop/cell/gold_sell_cell.lua
index d3a3904c..7cd52e9c 100644
--- a/lua/app/ui/shop/cell/gold_sell_cell.lua
+++ b/lua/app/ui/shop/cell/gold_sell_cell.lua
@@ -3,7 +3,7 @@ local GoldSellCell = class("GoldSellCell", BaseCell)
function GoldSellCell:init()
local uiMap = self.baseObject:genAllChildren()
local titleTx = uiMap["gold_sell_cell.title_bg.text"]
- titleTx:setText("临时文本:金币")
+ titleTx:setText(ModuleManager.ItemManager:getItemName(GConst.ItemConst.ITEM_ID_GOLD))
self.cells = {}
self.cellHeight = 0
diff --git a/lua/app/ui/shop/cell/grow_cell.lua b/lua/app/ui/shop/cell/grow_cell.lua
index 6abd2af5..63a8adbe 100644
--- a/lua/app/ui/shop/cell/grow_cell.lua
+++ b/lua/app/ui/shop/cell/grow_cell.lua
@@ -46,9 +46,9 @@ function GrowCell:refresh(idx, gift)
-- 超值
self.offText:setText(tostring(cfgInfo.value) .. "%")
-- 限购
- self.limitText:setText("限购" .. tostring(cfgInfo.limit) .. "次TD") -- TODOJ
+ self.limitText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_18, tostring(cfgInfo.limit))) -- 限购{0}次
-- 标题
- self.titleText:setText("成长礼包TD") -- TODOJ
+ self.titleText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_13)) -- 成长礼包
-- 奖励
local rewardList = cfgInfo.reward
local count = rewardList and #rewardList or 0
diff --git a/lua/app/ui/shop/cell/hot_cell.lua b/lua/app/ui/shop/cell/hot_cell.lua
index 35ddc775..3ee3541c 100644
--- a/lua/app/ui/shop/cell/hot_cell.lua
+++ b/lua/app/ui/shop/cell/hot_cell.lua
@@ -21,7 +21,7 @@ function HotCell:init()
self.heroNumText = uiMap["hot_cell.hero.num_tx"]
self.sellOutText = uiMap["hot_cell.sell_out"]
- self.sellOutText:setText("已购买TD") -- TODOJ
+ self.sellOutText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20)) -- 已购买
end
function HotCell:refresh(data)
@@ -57,11 +57,11 @@ function HotCell:refresh(data)
GFunc.setAdsSprite(self.adImg)
local adLeftCount = DataManager.ShopData:getMallDailyFirstItemAdMaxCount() - bought
if adLeftCount > 0 then
- self.adText:setText("免费(" .. tostring(adLeftCount) .. ")TD") -- TODOJ
+ self.adText:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE) .. "(" .. tostring(adLeftCount) .. ")") -- 免费(x)
GFunc.centerImgAndTx(self.adImg, self.adText, 5)
self.sellOutText:setVisible(false)
- self:getBaseObject():addRedPoint(105, 150, 0.6)
+ self:getBaseObject():addRedPoint(100, 145, 0.6)
else
self.adNode:setVisible(false)
self.sellOutText:setVisible(true)
diff --git a/lua/app/ui/shop/cell/hot_sell_cell.lua b/lua/app/ui/shop/cell/hot_sell_cell.lua
index f255de99..15550963 100644
--- a/lua/app/ui/shop/cell/hot_sell_cell.lua
+++ b/lua/app/ui/shop/cell/hot_sell_cell.lua
@@ -6,9 +6,9 @@ function HotSellCell:init()
local uiMap = self.baseObject:genAllChildren()
self.cellHeight = self.baseObject:fastGetSizeDeltaY() + 20
- uiMap["hot_sell_cell.title_bg.text"]:setText("临时文本:每日特惠")
+ uiMap["hot_sell_cell.title_bg.text"]:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_28)) -- 每日特惠
uiMap["hot_sell_cell.help_btn"]:addClickListener(function()
-
+ ModuleManager.TipsManager:showDescTips(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_29), uiMap["hot_sell_cell.help_btn"])
end)
self.timeTx = uiMap["hot_sell_cell.time_tx"]
self.cells = {}
@@ -30,25 +30,24 @@ end
function HotSellCell:refresh()
local goods = DataManager.ShopData:getMallDailyGoods()
- local freeRefreshCount = DataManager.ShopData:getMallDailyAdLeftCount() -- 免费刷新次数
- local gemRefreshCount = DataManager.ShopData:getMallDailyDiamondLeftCount() -- 钻石刷新次数
+ local freeRefreshCount = DataManager.ShopData:getMallDailyAdLeftCount() -- 剩余免费刷新次数
+ local gemRefreshCount = DataManager.ShopData:getMallDailyDiamondLeftCount() -- 剩余钻石刷新次数
local gemRefreshCost = DataManager.ShopData:getMallDailyDiamondResetCost() -- 钻石刷新消耗
-
if freeRefreshCount > 0 then
- self.refreshBtn:setVisible(true)
+ self.refreshBtn:setActive(true)
self.refreshAdImg:setVisible(true)
GFunc.setAdsSprite(self.refreshAdImg)
self.refreshGemImg:setVisible(false)
- self.refreshText:setText("刷新TD") -- TODOJ
- self.refreshBtn:addRedPoint(70, 30, 0.6)
+ self.refreshText:setText(I18N:getGlobalText(I18N.GlobalConst.STR_REFRESH))
+ self.refreshBtn:addRedPoint(80, 30, 0.6)
elseif gemRefreshCount > 0 then
- self.refreshBtn:setVisible(true)
+ self.refreshBtn:setActive(true)
self.refreshAdImg:setVisible(false)
self.refreshGemImg:setVisible(true)
self.refreshText:setText(gemRefreshCost)
self.refreshBtn:removeRedPoint()
else
- self.refreshBtn:setVisible(false)
+ self.refreshBtn:setActive(false)
self.refreshBtn:removeRedPoint()
end
@@ -68,7 +67,7 @@ function HotSellCell:refreshTime()
if remainTime < 0 then
remainTime = 0
end
- self.timeTx:setText("刷新时间TD:" .. GFunc.getTimeStrWithHMS(remainTime)) -- TODOJ
+ self.timeTx:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_22, GFunc.getTimeStrWithHMS(remainTime)))-- 刷新时间:{0}
end
function HotSellCell:getCellHeight()
@@ -94,7 +93,16 @@ function HotSellCell:onClickRefresh()
end)
elseif gemRefreshCount > 0 then
if GFunc.checkCost(GConst.ItemConst.ITEM_ID_GEM, gemRefreshCost, true) then
- ModuleManager.ShopManager:resetMallDailyGift(2)
+ -- 二次提示
+ local params = {
+ content = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_30), -- 是否使用钻石刷新每日特惠?
+ boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL,
+ okText = I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK),
+ okFunc = function()
+ ModuleManager.ShopManager:resetMallDailyGift(2)
+ end
+ }
+ GFunc.showMessageBox(params)
end
end
end
diff --git a/lua/app/ui/shop/cell/level_cell.lua b/lua/app/ui/shop/cell/level_cell.lua
index 95f716e0..99325557 100644
--- a/lua/app/ui/shop/cell/level_cell.lua
+++ b/lua/app/ui/shop/cell/level_cell.lua
@@ -43,9 +43,9 @@ function LevelCell:refresh(idx, cfgInfo, clickCallback)
-- 超值
self.offText:setText(tostring(cfgInfo.value) .. "%")
-- 限购
- self.limitText:setText("限购1次TD") -- 默认限购1次 TODOJ
+ self.limitText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_18, 1)) -- 限购1次
-- 标题
- self.titleText:setText(tostring(cfgInfo.parameter) .. "级助力礼包TD") -- TODOJ
+ self.titleText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_23, tostring(cfgInfo.parameter))) -- {0}级助力礼包
-- 奖励
local rewardList = cfgInfo.reward
local count = rewardList and #rewardList or 0
diff --git a/lua/app/ui/shop/first_recharge_pop_ui.lua b/lua/app/ui/shop/first_recharge_pop_ui.lua
new file mode 100644
index 00000000..4090f6ab
--- /dev/null
+++ b/lua/app/ui/shop/first_recharge_pop_ui.lua
@@ -0,0 +1,107 @@
+local FirstRechargePopUI = class("FirstRechargePopUI", BaseUI)
+local MAX_ITEM_NUM = 3
+
+function FirstRechargePopUI:ctor()
+end
+
+function FirstRechargePopUI:isFullScreen()
+ return false
+end
+
+function FirstRechargePopUI:getPrefabPath()
+ return "assets/prefabs/ui/shop/first_recharge_pop_ui.prefab"
+end
+
+function FirstRechargePopUI:onLoadRootComplete()
+ self.uiMap = self.root:genAllChildren()
+ self.uiMap["first_recharge_pop_ui.close_btn"]:addClickListener(function()
+ self:closeUI()
+ end)
+
+ self.titleTx = self.uiMap["first_recharge_pop_ui.bg.title_bg.title"]
+ self.titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_34)) -- 首充豪礼
+
+ self.itemNodeList = {}
+ self.itemCellList = {}
+ self.itemTextList = {}
+ self.itemHelpList = {}
+ for i = 1, MAX_ITEM_NUM do
+ table.insert(self.itemNodeList, self.uiMap["first_recharge_pop_ui.bg.item_" .. i])
+ table.insert(self.itemCellList, CellManager:addCellComp(self.uiMap["first_recharge_pop_ui.bg.item_".. i .. ".item_cell"], GConst.TYPEOF_LUA_CLASS.ITEM_CELL))
+ table.insert(self.itemTextList, self.uiMap["first_recharge_pop_ui.bg.item_".. i .. ".num"])
+ table.insert(self.itemHelpList, self.uiMap["first_recharge_pop_ui.bg.item_" .. i .. ".help"])
+ end
+
+ self.descText = self.uiMap["first_recharge_pop_ui.bg.desc_text"]
+ self.titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_35)) -- 充值购买任意商品,即可获得如下奖励,仅此一次!
+
+ self.funcBtn = self.uiMap["first_recharge_pop_ui.bg.func_btn"]
+ self.btnJumpText = self.uiMap["first_recharge_pop_ui.bg.func_btn.jump_text"]
+ self.btnGetText = self.uiMap["first_recharge_pop_ui.bg.func_btn.get_text"]
+ self.btnIcon = self.uiMap["first_recharge_pop_ui.bg.func_btn.icon"]
+
+ self.btnJumpText:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_36)) -- 商店
+ self.btnGetText:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_CLAIM)) -- 领取
+
+ self.funcBtn:addClickListener(function()
+ self:onClickFuncBtn()
+ end)
+
+ self:_bind()
+ self:refresh()
+end
+
+function FirstRechargePopUI:_bind()
+ self:bind(DataManager.ShopData, "isDirty", function()
+ self:refresh()
+ end)
+end
+
+function FirstRechargePopUI:refresh()
+ local cfgInfo = PayManager:getGiftConfigInfo(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.ShopConst.FIRST_RECHARGE_ID)
+ local rewards = cfgInfo.reward or {}
+ for i = 1, MAX_ITEM_NUM do
+ if i <= #rewards then
+ self.itemNodeList[i]:setVisible(true)
+ self.itemCellList[i]:refreshByCfg(rewards[i].id, 0)
+ self.itemCellList[i]:setNum("")
+ self.itemTextList[i]:setText(rewards[i].num)
+ self.itemCellList[i]:addClickListener(function()
+ ModuleManager.TipsManager:showItemTips(rewards[i].id, self.itemCellList[i]:getBaseObject())
+ end)
+ self.itemHelpList[i]:setVisible(false)
+ else
+ self.itemNodeList[i]:setVisible(false)
+ end
+ end
+
+ -- 对于首充礼包,有跳转商店和领取2个分支
+ local canGet = DataManager.ShopData:getHasFirstRechargeReward()
+ if canGet then
+ self.btnIcon:setVisible(false)
+ self.btnJumpText:setVisible(false)
+ self.btnGetText:setVisible(true)
+ else
+ local hasGet = DataManager.ShopData:getHasGotFirstRechargeReward()
+ if hasGet then
+ self:closeUI()
+ else
+ self.btnIcon:setVisible(true)
+ self.btnJumpText:setVisible(true)
+ self.btnGetText:setVisible(false)
+ end
+ end
+end
+
+function FirstRechargePopUI:onClickFuncBtn()
+ -- 对于首充礼包,有跳转商店和领取2个分支
+ local canGet = DataManager.ShopData:getHasFirstRechargeReward()
+ if canGet then
+ PayManager:purchasePackage(GConst.ShopConst.FIRST_RECHARGE_ID, PayManager.PURCHARSE_TYPE.ACT_GIFT)
+ else
+ EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.GO_SHOP)
+ self:closeUI()
+ end
+end
+
+return FirstRechargePopUI
\ No newline at end of file
diff --git a/lua/app/ui/shop/first_recharge_pop_ui.lua.meta b/lua/app/ui/shop/first_recharge_pop_ui.lua.meta
new file mode 100644
index 00000000..a062972f
--- /dev/null
+++ b/lua/app/ui/shop/first_recharge_pop_ui.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d1ea4328dc9ac714d8d6e25ef668467e
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/shop/gift_pop_ui.lua b/lua/app/ui/shop/gift_pop_ui.lua
index a3f02793..381fdc14 100644
--- a/lua/app/ui/shop/gift_pop_ui.lua
+++ b/lua/app/ui/shop/gift_pop_ui.lua
@@ -2,21 +2,23 @@ local GiftPopUI = class("GiftPopUI", BaseUI)
local GIFT_BG_NAME = {
[PayManager.PURCHARSE_TYPE.ACT_GIFT] = {
- [PayManager.PURCHARSE_ACT_TYPE.BEGINNER_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_2_1.png", -- TODOJ
- [PayManager.PURCHARSE_ACT_TYPE.COIN_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_5_1.png", -- TODOJ
- [PayManager.PURCHARSE_ACT_TYPE.LEVEL_UP_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_3_1.png", -- TODOJ
+ [PayManager.PURCHARSE_ACT_TYPE.FIRST_RECHARGE] = "assets/arts/textures/background/shop/shop_gift_banner_1_1.png",
+ [PayManager.PURCHARSE_ACT_TYPE.BEGINNER_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_3_1.png",
+ [PayManager.PURCHARSE_ACT_TYPE.LEVEL_UP_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_4_1.png",
+ [PayManager.PURCHARSE_ACT_TYPE.COIN_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_6_1.png",
},
- [PayManager.PURCHARSE_TYPE.CHAPTER_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_1_1.png", -- TODOJ
- [PayManager.PURCHARSE_TYPE.GROW_UP_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_4_1.png", -- TODOJ
+ [PayManager.PURCHARSE_TYPE.CHAPTER_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_2_1.png",
+ [PayManager.PURCHARSE_TYPE.GROW_UP_GIFT] = "assets/arts/textures/background/shop/shop_gift_banner_5_1.png",
}
local GIFT_TITLE_TEXT = {
[PayManager.PURCHARSE_TYPE.ACT_GIFT] = {
- [PayManager.PURCHARSE_ACT_TYPE.BEGINNER_GIFT] = "新手礼包TD", -- TODOJ
- [PayManager.PURCHARSE_ACT_TYPE.COIN_GIFT] = "金币礼包TD", -- TODOJ
- [PayManager.PURCHARSE_ACT_TYPE.LEVEL_UP_GIFT] = "助力礼包TD", -- TODOJ
+ [PayManager.PURCHARSE_ACT_TYPE.FIRST_RECHARGE] = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_9),
+ [PayManager.PURCHARSE_ACT_TYPE.BEGINNER_GIFT] = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_11),
+ [PayManager.PURCHARSE_ACT_TYPE.LEVEL_UP_GIFT] = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_12),
+ [PayManager.PURCHARSE_ACT_TYPE.COIN_GIFT] = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_14),
},
- [PayManager.PURCHARSE_TYPE.CHAPTER_GIFT] = "章节礼包TD", -- TODOJ
- [PayManager.PURCHARSE_TYPE.GROW_UP_GIFT] = "成长礼包TD", -- TODOJ
+ [PayManager.PURCHARSE_TYPE.CHAPTER_GIFT] = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_10),
+ [PayManager.PURCHARSE_TYPE.GROW_UP_GIFT] = I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_13),
}
local MAX_ITEM_NUM = 4
@@ -26,6 +28,7 @@ function GiftPopUI:ctor(params)
self.actType = params.type
self.actId = params.id
+ self.onlySelf = params.onlySelf -- 有此标记时 关闭直接关闭界面
self.buyCount = DataManager.ShopData:getGiftBoughtNum(self.actType, self.actId) -- 触发时该礼包的购买数量
end
@@ -44,7 +47,11 @@ function GiftPopUI:onLoadRootComplete()
self.uiMap = self.root:genAllChildren()
self.uiMap["gift_pop_ui.close_btn"]:addClickListener(function()
- self:checkNextPopGiftOrClose()
+ if self.onlySelf then
+ self:closeUI()
+ else
+ self:checkNextPopGiftOrClose()
+ end
end)
self.titleTx = self.uiMap["gift_pop_ui.bg.title"]
@@ -143,16 +150,69 @@ function GiftPopUI:refresh(needCheck)
self.buyBtnTx:setText(GFunc.getFormatPrice(rechargeId))
end
+ -- 对于首充礼包,有跳转商店和领取2个分支
+ if self.actType == PayManager.PURCHARSE_TYPE.ACT_GIFT and self.actId == GConst.ShopConst.FIRST_RECHARGE_ID then
+ local canGet = DataManager.ShopData:getHasFirstRechargeReward()
+ if canGet then
+ self.buyBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_CLAIM))
+ else
+ local hasGet = DataManager.ShopData:getHasGotFirstRechargeReward()
+ if hasGet then
+ self:closeUI()
+ else
+ self.buyBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_15)) -- 前往商店
+ end
+ end
+ end
+
self:updateTime()
end
function GiftPopUI:updateTime()
- -- TODOJ
- self.timeNode:setVisible(false)
+ local hasTime = false
+ -- 部分礼包有倒计时
+ if self.actType == PayManager.PURCHARSE_TYPE.ACT_GIFT then
+ local cfgInfo = DataManager.ShopData:getActGiftConfig()[self.actId]
+ if cfgInfo then
+ if cfgInfo and cfgInfo.type == PayManager.PURCHARSE_ACT_TYPE.COIN_GIFT then -- 金币礼包
+ hasTime = true
+ local remainTime = 0
+ local triggerTime = DataManager.ShopData:getCoinGiftTriggerTime()
+ remainTime = triggerTime + (cfgInfo.limit_time or 0) * 3600 - Time:getServerTime()
+ if remainTime <= 0 then
+ remainTime = 0
+ end
+ self.timeText:setText(GFunc.getTimeStr(remainTime))
+ end
+ end
+ elseif self.actType == PayManager.PURCHARSE_TYPE.GROW_UP_GIFT then -- 成长礼包
+ hasTime = true
+ local remainTime = 0
+ local cfgInfo = DataManager.ShopData:getActGrowUpGiftConfig()[self.actId]
+ local gift = DataManager.ShopData:getGrowUpGiftByActId(self.actId)
+ local triggerTime = (gift and gift.trigger_at or 0) // 1000
+ remainTime = triggerTime + (cfgInfo.limit_time or 0) * 3600 - Time:getServerTime()
+ if remainTime <= 0 then
+ remainTime = 0
+ end
+ self.timeText:setText(GFunc.getTimeStr(remainTime))
+ end
+ self.timeNode:setVisible(hasTime)
end
function GiftPopUI:onClickGift()
- PayManager:purchasePackage(self.actId, self.actType)
+ -- 对于首充礼包,有跳转商店和领取2个分支
+ if self.actType == PayManager.PURCHARSE_TYPE.ACT_GIFT and self.actId == GConst.ShopConst.FIRST_RECHARGE_ID then
+ local canGet = DataManager.ShopData:getHasFirstRechargeReward()
+ if canGet then
+ PayManager:purchasePackage(self.actId, self.actType)
+ else
+ EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.GO_SHOP)
+ self:closeUI()
+ end
+ else
+ PayManager:purchasePackage(self.actId, self.actType)
+ end
end
-- 如果还有需要显示的 则直接刷新而不是关闭本界面
diff --git a/lua/app/ui/shop/shop_comp.lua b/lua/app/ui/shop/shop_comp.lua
index c96e151f..e031b27d 100644
--- a/lua/app/ui/shop/shop_comp.lua
+++ b/lua/app/ui/shop/shop_comp.lua
@@ -38,10 +38,10 @@ function ShopComp:initTitlePage()
self.subTitleIcon2 = self.uiMap["shop_comp.title_node.btn_cell_2.icon"]
self.subTitleBtn2 = self.uiMap["shop_comp.title_node.btn_cell_2"]
- self.subTitleText1:setText("特惠商品TD") -- TODOJ 特惠商品
- self.subTitleSelectText1:setText("特惠商品TD") -- TODOJ 特惠商品
- self.subTitleText2:setText("主要商品TD") -- TODOJ 主要商品
- self.subTitleSelectText2:setText("主要商品TD") -- TODOJ 主要商品
+ self.subTitleText1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_16)) -- 特惠商品
+ self.subTitleSelectText1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_16)) -- 特惠商品
+ self.subTitleText2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_17)) -- 主要商品
+ self.subTitleSelectText2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_17)) -- 主要商品
self.subTitleBtn1:addClickListener(function()
self:switchPage(PAGE_DISCOUNT)
@@ -110,9 +110,6 @@ function ShopComp:initDiscountPage()
self.coinSellCell = self.uiMap["shop_comp.discount.scrollrect.viewport.content.coin_sell_cell"]:addLuaComponent(PAGE_DISCOUNT_COIN_SELL_CELL)
end
-function ShopComp:updateMainList()
-end
-
function ShopComp:refresh()
if self.page == PAGE_DISCOUNT then
self.mainNode:setAnchoredPositionX(GConst.NOT_VISIBLE_POS)
diff --git a/lua/app/ui/task/cell/daily_task_cell.lua b/lua/app/ui/task/cell/daily_task_cell.lua
index 3bd8ac4f..349c3726 100644
--- a/lua/app/ui/task/cell/daily_task_cell.lua
+++ b/lua/app/ui/task/cell/daily_task_cell.lua
@@ -37,6 +37,10 @@ function DailyTaskCell:init()
self.lockBg = uiMap["task_cell.lock_bg"]
local lockBtn = uiMap["task_cell.lock_node.lock_btn.btn"]
lockBtn:addClickListener(function()
+ if DataManager.BountyData:getIsOpen() then
+ DataManager.BountyData:clearPopBought()
+ ModuleManager.BountyManager:showBountyMainUI()
+ end
end)
local lockBtnTx = uiMap["task_cell.lock_node.lock_btn.btn.text"]
lockBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.STR_UNLOCK))
diff --git a/lua/app/ui/task/task_main_ui.lua b/lua/app/ui/task/task_main_ui.lua
index 09bff2d7..fe5a7bb3 100644
--- a/lua/app/ui/task/task_main_ui.lua
+++ b/lua/app/ui/task/task_main_ui.lua
@@ -17,10 +17,10 @@ local function sortTask(taskList)
if completeA then
return a.id < b.id
else -- 没有完成的优先显示战令解锁
- if a.bountyLock == b.bountyLock then
+ if a.lock == b.lock then
return a.id < b.id
else
- return a.bountyLock
+ return b.lock
end
end
else
diff --git a/lua/app/ui/ui_manager.lua b/lua/app/ui/ui_manager.lua
index 34aa7839..221fef8d 100644
--- a/lua/app/ui/ui_manager.lua
+++ b/lua/app/ui/ui_manager.lua
@@ -22,6 +22,7 @@ UIManager.UI_PATH = {
BATTLE_UI = "app/ui/battle/battle_ui",
ROGUE_SKILL_UI = "app/ui/battle/battle_skill_select_ui",
REWARD_BOX = "app/ui/tips/reward_box",
+ HERO_DETAIL_UI = "app/ui/hero/hero_detail_ui",
}
-- 动画类型
diff --git a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua
index 8437fb21..465bda99 100644
--- a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua
+++ b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua
@@ -11,6 +11,8 @@ function BattleBoardSkillEntity:ctor(skillId)
self.elementCountEffectEntities = {} -- 根据消除数量获得次数的技能效果 type = 13
self.linkCountMoreEffects = {} -- 链接超过x元素获得一次技能效果 type = 14
self.linkCountPowerEffects = {} -- 链接超过x元素获得倍数技能效果 type = 15
+ self.skillEffectNumAdd = {} -- 技能效果参数增加 type = 7 用于技能替换时生效
+ self.skillRoundAdd = {} -- 技能效果回合增加 type = 8 用于技能替换时生效
self.upSkillIdMap = {}
self.getUpSkillKind = 0
@@ -446,4 +448,31 @@ function BattleBoardSkillEntity:getLinkCountPowerEffects()
return self.linkCountPowerEffects
end
+function BattleBoardSkillEntity:addSkillEffecuNumAdd(effect)
+ local effectInfo = self.skillEffectNumAdd[effect.type]
+ if effectInfo then
+ effectInfo.num = effectInfo.num + effect.num
+ else
+ self.skillEffectNumAdd[effect.type] = effect
+ end
+end
+
+function BattleBoardSkillEntity:getSkillEffecuNumAdd()
+ return self.skillEffectNumAdd
+end
+
+function BattleBoardSkillEntity:addSkillRoundAdd(effect)
+ local effectInfo = self.skillRoundAdd[effect.type]
+ if effectInfo then
+ effectInfo.round = effectInfo.round + effect.round
+ else
+ self.skillRoundAdd[effect.type] = effect
+ end
+end
+
+function BattleBoardSkillEntity:getSkillRoundAdd()
+ return self.skillRoundAdd
+end
+
+
return BattleBoardSkillEntity
\ No newline at end of file
diff --git a/lua/app/userdata/battle/skill/battle_skill_entity.lua b/lua/app/userdata/battle/skill/battle_skill_entity.lua
index feb962b4..9142ebde 100644
--- a/lua/app/userdata/battle/skill/battle_skill_entity.lua
+++ b/lua/app/userdata/battle/skill/battle_skill_entity.lua
@@ -115,15 +115,13 @@ function BattleSkillEntity:addSkillEffectParams(effect)
for _, entity in ipairs(self.effectList) do
if entity:getName() == effect.type then
buffEntity = entity
- break
+ buffEntity:setEffectNum(buffEntity:getEffectNum() + effect.num)
end
end
if not buffEntity then
buffEntity = BattleBuffEntity:create()
buffEntity:init(effect, self.owner, self)
table.insert(self.effectList, buffEntity)
- else
- buffEntity:setEffectNum(buffEntity:getEffectNum() + effect.num)
end
end
@@ -132,15 +130,13 @@ function BattleSkillEntity:addSkillEffectRound(effect)
for _, entity in ipairs(self.effectList) do
if entity:getName() == effect.type then
buffEntity = entity
- break
+ buffEntity:setRound(buffEntity:getRound() + effect.round)
end
end
if not buffEntity then
buffEntity = BattleBuffEntity:create()
buffEntity:init(effect, self.owner, self)
table.insert(self.effectList, buffEntity)
- else
- buffEntity:setRound(buffEntity:getRound() + effect.round)
end
end
diff --git a/lua/app/userdata/bounty/bounty_data.lua b/lua/app/userdata/bounty/bounty_data.lua
index 5b4dfbfd..2b39c96e 100644
--- a/lua/app/userdata/bounty/bounty_data.lua
+++ b/lua/app/userdata/bounty/bounty_data.lua
@@ -335,6 +335,10 @@ function BountyData:markPopBought()
LocalData:setBountyPopTime(self.popBoughtTime)
end
+function BountyData:clearPopBought()
+ self.popBoughtTime = 0
+end
+
function BountyData:getRechargeId(advanced)
local cfg = ConfigManager:getConfig("act_gift")
local id = self:getGiftId(advanced)
diff --git a/lua/app/userdata/fund/fund_data.lua.meta b/lua/app/userdata/fund/fund_data.lua.meta
deleted file mode 100644
index 172ebcdf..00000000
--- a/lua/app/userdata/fund/fund_data.lua.meta
+++ /dev/null
@@ -1,10 +0,0 @@
-fileFormatVersion: 2
-guid: d9943057ffc3dd541bfff544d512abee
-ScriptedImporter:
- internalIDToNameTable: []
- externalObjects: {}
- serializedVersion: 2
- userData:
- assetBundleName:
- assetBundleVariant:
- script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/userdata/fund/fund_data.lua b/lua/app/userdata/fund/growth_fund_data.lua
similarity index 68%
rename from lua/app/userdata/fund/fund_data.lua
rename to lua/app/userdata/fund/growth_fund_data.lua
index 5b96e49d..746dad1c 100644
--- a/lua/app/userdata/fund/fund_data.lua
+++ b/lua/app/userdata/fund/growth_fund_data.lua
@@ -1,16 +1,16 @@
-local FundData = class("FundData", BaseData)
+local GrowthFundData = class("GrowthFundData", BaseData)
local ACT_GIFT_FUND_BASE_ID_1 = 60202
local ACT_GIFT_FUND_BASE_ID_2 = 60402
local ACT_GIFT_FUND_ADVANCE_ID_1 = 60102
local ACT_GIFT_FUND_ADVANCE_ID_2 = 60302
-function FundData:ctor()
+function GrowthFundData:ctor()
self.data.dirty = false
self.isClaimAll = false
end
-function FundData:init(data)
+function GrowthFundData:init(data)
data = data or GConst.EMPTY_TABLE
self.freeClaimed = {}
@@ -37,51 +37,51 @@ function FundData:init(data)
self.advanceClaimedCount = self.advanceClaimedCount + 1
end
end
- self:initLevelInfo()
- self:initFundLevel()
+ self:initGrowthInfo()
+ self:initFundGrade()
end
-function FundData:initLevelInfo()
- if not self.levelInfoMap then
- self.levelInfoMap = {}
+function GrowthFundData:initGrowthInfo()
+ if not self.growthInfoMap then
+ self.growthInfoMap = {}
local cfg = self:getLevelFundCfg()
for id, info in pairs(cfg) do
- if not self.levelInfoMap[info.stage] then
- self.levelInfoMap[info.stage] = {}
+ if not self.growthInfoMap[info.stage] then
+ self.growthInfoMap[info.stage] = {}
end
- table.insert(self.levelInfoMap[info.stage], id)
+ table.insert(self.growthInfoMap[info.stage], id)
end
- for level, _ in pairs(self.levelInfoMap) do
- table.sort(self.levelInfoMap[level], function(a, b)
+ for grade, _ in pairs(self.growthInfoMap) do
+ table.sort(self.growthInfoMap[grade], function(a, b)
return a < b
end)
end
end
end
-function FundData:initFundLevel()
- local fundLevel = 1
+function GrowthFundData:initFundGrade()
+ local fundGrade = 1
local totalCount = 0
while true do
- local levelInfoIds = self.levelInfoMap[fundLevel]
- if levelInfoIds == nil then
- fundLevel = fundLevel - 1
+ local growInfoIds = self.growthInfoMap[fundGrade]
+ if growInfoIds == nil then
+ fundGrade = fundGrade - 1
break
end
- totalCount = totalCount + #levelInfoIds
+ totalCount = totalCount + #growInfoIds
if self.freeClaimedCount >= totalCount and
self.baseClaimedCount >= totalCount and
self.advanceClaimedCount >= totalCount then
- fundLevel = fundLevel + 1
+ fundGrade = fundGrade + 1
else
break
end
end
- if fundLevel < 1 then
- fundLevel = 1
+ if fundGrade < 1 then
+ fundGrade = 1
end
- self.data.fundLevel = fundLevel
- if self.data.fundLevel == 2 then
+ self.data.fundGrade = fundGrade
+ if self.data.fundGrade == 2 then
self.fundBaseId = ACT_GIFT_FUND_BASE_ID_2
self.fundAdvanceId = ACT_GIFT_FUND_ADVANCE_ID_2
if self.freeClaimedCount >= totalCount and self.baseClaimedCount >= totalCount and self.advanceClaimedCount >= totalCount then
@@ -93,58 +93,58 @@ function FundData:initFundLevel()
end
end
-function FundData:markDirty()
+function GrowthFundData:markDirty()
self.data.dirty = not self.data.dirty
end
-function FundData:getIsOpen()
+function GrowthFundData:getIsOpen()
if self.isClaimAll then
return false
end
return ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.FUND, true)
end
-function FundData:getFundLevel()
- return self.data.fundLevel
+function GrowthFundData:getFundGrade()
+ return self.data.fundGrade
end
-function FundData:getFundBaseId()
+function GrowthFundData:getFundBaseId()
return self.fundBaseId
end
-function FundData:getFundAdvanceId()
+function GrowthFundData:getFundAdvanceId()
return self.fundAdvanceId
end
-function FundData:getCurrLevelBaseRechargeId()
+function GrowthFundData:getCurrGradeBaseRechargeId()
local info = self:getActGiftCfg()[self.fundBaseId]
return info.recharge_id
end
-function FundData:getCurrLevelAdvanceRechargeId()
+function GrowthFundData:getCurrGradeAdvanceRechargeId()
local info = self:getActGiftCfg()[self.fundAdvanceId]
return info.recharge_id
end
-function FundData:getActGiftCfg()
+function GrowthFundData:getActGiftCfg()
if self.cfg == nil then
self.cfg = ConfigManager:getConfig("act_gift")
end
return self.cfg
end
-function FundData:getLevelFundCfg()
+function GrowthFundData:getLevelFundCfg()
if self.levelFundCfg == nil then
self.levelFundCfg = ConfigManager:getConfig("act_level_fund")
end
return self.levelFundCfg
end
-function FundData:getCurrLevelInfoList()
- return self.levelInfoMap[self.data.fundLevel] or GConst.EMPTY_TABLE
+function GrowthFundData:getCurrGradeInfoList()
+ return self.growthInfoMap[self.data.fundGrade] or GConst.EMPTY_TABLE
end
-function FundData:getNeedLevel(id)
+function GrowthFundData:getNeedLevel(id)
local levelFundInfo = self:getLevelFundCfg()[id]
if levelFundInfo == nil then
return 9999
@@ -152,7 +152,7 @@ function FundData:getNeedLevel(id)
return levelFundInfo.level
end
-function FundData:getAllStepFundRewards(id)
+function GrowthFundData:getAllStepFundRewards(id)
local levelFundInfo = self:getLevelFundCfg()[id]
if levelFundInfo == nil then
return nil, nil, nil
@@ -160,7 +160,7 @@ function FundData:getAllStepFundRewards(id)
return levelFundInfo.reward_free, levelFundInfo.reward_small, levelFundInfo.reward
end
-function FundData:getFreeFundRewards(id)
+function GrowthFundData:getFreeFundRewards(id)
local levelFundInfo = self:getLevelFundCfg()[id]
if levelFundInfo == nil then
return nil
@@ -168,7 +168,7 @@ function FundData:getFreeFundRewards(id)
return levelFundInfo.reward_free
end
-function FundData:getBaseFundRewards(id)
+function GrowthFundData:getBaseFundRewards(id)
local levelFundInfo = self:getLevelFundCfg()[id]
if levelFundInfo == nil then
return nil
@@ -176,7 +176,7 @@ function FundData:getBaseFundRewards(id)
return levelFundInfo.reward_small
end
-function FundData:getAdvanceFundRewards(id)
+function GrowthFundData:getAdvanceFundRewards(id)
local levelFundInfo = self:getLevelFundCfg()[id]
if levelFundInfo == nil then
return nil
@@ -184,45 +184,45 @@ function FundData:getAdvanceFundRewards(id)
return levelFundInfo.reward
end
-function FundData:getIsBoughtBase()
+function GrowthFundData:getIsBoughtBase()
return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, self.fundBaseId) > 0
end
-function FundData:getIsBoughtAdvance()
+function GrowthFundData:getIsBoughtAdvance()
return DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, self.fundAdvanceId) > 0
end
-function FundData:getFreeClaimedMap()
+function GrowthFundData:getFreeClaimedMap()
return self.freeClaimed
end
-function FundData:getIsClaimedFree(id)
+function GrowthFundData:getIsClaimedFree(id)
return self.freeClaimed[id]
end
-function FundData:getBaseClaimedMap()
+function GrowthFundData:getBaseClaimedMap()
return self.baseClaimed
end
-function FundData:getIsClaimedBase(id)
+function GrowthFundData:getIsClaimedBase(id)
return self.baseClaimed[id]
end
-function FundData:getAdvanceClaimedMap()
+function GrowthFundData:getAdvanceClaimedMap()
return self.advanceClaimed
end
-function FundData:getIsClaimedAdvance(id)
+function GrowthFundData:getIsClaimedAdvance(id)
return self.advanceClaimed[id]
end
-function FundData:getMinUnclaimedRewardIndex()
+function GrowthFundData:getMinUnclaimedRewardIndex()
local playerLevel = DataManager.PlayerData:getLv()
- local levelInfoIds = self:getCurrLevelInfoList()
+ local growInfoIds = self:getCurrGradeInfoList()
local minIndex = 0
local isBoughtBase = self:getIsBoughtBase()
local isBoughtAdvance = self:getIsBoughtAdvance()
- for k, id in ipairs(levelInfoIds) do
+ for k, id in ipairs(growInfoIds) do
local levelFundInfo = self:getLevelFundCfg()[id]
if levelFundInfo then
if playerLevel >= levelFundInfo.level then -- 等级到了
@@ -251,14 +251,14 @@ function FundData:getMinUnclaimedRewardIndex()
end
-- 是否有未领取的奖励
-function FundData:getIfCanClaimReward()
+function GrowthFundData:getIfCanClaimReward()
if not self:getIsOpen() then
return false
end
return self:getMinUnclaimedRewardIndex() > 0
end
-function FundData:onClaimFundRewards(list)
+function GrowthFundData:onClaimFundRewards(list)
if list == nil then
return
end
@@ -283,12 +283,12 @@ function FundData:onClaimFundRewards(list)
end
end
end
- self:initFundLevel()
+ self:initFundGrade()
self:markDirty()
end
-function FundData:onBoughtFund()
+function GrowthFundData:onBoughtFund()
self:markDirty()
end
-return FundData
\ No newline at end of file
+return GrowthFundData
\ No newline at end of file
diff --git a/lua/app/userdata/fund/growth_fund_data.lua.meta b/lua/app/userdata/fund/growth_fund_data.lua.meta
new file mode 100644
index 00000000..20975dae
--- /dev/null
+++ b/lua/app/userdata/fund/growth_fund_data.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: b4b9202b724428843a59d421a713fe4b
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/userdata/hero/hero_entity.lua b/lua/app/userdata/hero/hero_entity.lua
index d0f4da5f..f55e40d6 100644
--- a/lua/app/userdata/hero/hero_entity.lua
+++ b/lua/app/userdata/hero/hero_entity.lua
@@ -107,7 +107,7 @@ function HeroEntity:getCfgAtk(lv)
end
function HeroEntity:getUnlcokChapter()
- return self.config.unlock_chapter or 0
+ return self.config.unlock_chapter
end
function HeroEntity:updateAllAttr()
@@ -165,10 +165,10 @@ function HeroEntity:isUnlock()
if self:isActived() then
return true
end
- if self:getUnlcokChapter() <= DataManager.ChapterData:getMaxChapterId() or self:canLvUp() then
+ local unlockChapter = self:getUnlcokChapter()
+ if unlockChapter and unlockChapter <= DataManager.ChapterData:getMaxChapterId() then
return true
end
-
return false
end
diff --git a/lua/app/userdata/player/player_data.lua b/lua/app/userdata/player/player_data.lua
index cc7896f9..3f9f665c 100644
--- a/lua/app/userdata/player/player_data.lua
+++ b/lua/app/userdata/player/player_data.lua
@@ -24,6 +24,7 @@ function PlayerData:init(data)
self:resetOnCrossDay()
self:markDirty()
end)
+ self.createTime = basicInfo.create_at or 0 -- 创角时间
end
function PlayerData:resetOnCrossDay()
@@ -135,4 +136,9 @@ function PlayerData:addPayment(rechargeId)
self.data.payAmount = self.data.payAmount + cfg.price
end
+-- 获取创角时间
+function PlayerData:getCreateTime()
+ return self.createTime
+end
+
return PlayerData
\ No newline at end of file
diff --git a/lua/app/userdata/shop/shop_data.lua b/lua/app/userdata/shop/shop_data.lua
index 4083955c..fdb07b14 100644
--- a/lua/app/userdata/shop/shop_data.lua
+++ b/lua/app/userdata/shop/shop_data.lua
@@ -6,6 +6,7 @@ end
function ShopData:initBase()
self:initActChapterStoreData()
+ self:initFirstRecharge()
self:initCrossDay()
end
@@ -100,8 +101,8 @@ function ShopData:updateGiftInfo(gift)
local cfgName = PayManager.PURCHARSE_TYPE_CONFIG[giftType]
if cfgName then
local cfg = ConfigManager:getConfig(cfgName)
- if cfg and cfg[giftId] and cfg[giftId].type == PayManager.PURCHARSE_ACT_TYPE.LEVEL_FUND then
- DataManager.FundData:onBoughtFund(giftId)
+ if cfg and cfg[giftId] and cfg[giftId].type == PayManager.PURCHARSE_ACT_TYPE.GROWTH_FUND then
+ DataManager.GrowthFundData:onBoughtFund(giftId)
end
end
end
@@ -117,9 +118,6 @@ function ShopData:markPopUpGift(actType, actId)
if not self.needPopUpGift[actType] then
self.needPopUpGift[actType] = {}
end
-
- Logger.logHighlight("markPopUpGift -- actType:%s actId:%s",actType, actId)
-
table.insert(self.needPopUpGift[actType], actId)
end
@@ -128,9 +126,6 @@ function ShopData:removePopUpGift(actType, actId)
if self.needPopUpGift[actType] then
for index, id in ipairs(self.needPopUpGift[actType]) do
if id == actId then
-
- Logger.logHighlight("removePopUpGift -- actType:%s actId:%s",actType, actId)
-
table.remove(self.needPopUpGift[actType], index)
break
end
@@ -262,7 +257,7 @@ function ShopData:addMallDailyAdResetCount()
end
function ShopData:getMallDailyAdLeftCount()
- return 1 - self.mallDailyAdResetCount -- TODOJ 目前无配置表
+ return 1 - self.mallDailyAdResetCount -- 目前无配置表
end
function ShopData:getMallDailyDiamondResetCount()
@@ -274,7 +269,7 @@ function ShopData:addMallDailyDiamondResetCount()
end
function ShopData:getMallDailyDiamondLeftCount()
- return 1 - self.mallDailyDiamondResetCount -- TODOJ 目前无配置表
+ return 1 - self.mallDailyDiamondResetCount -- 目前无配置表
end
function ShopData:getMallDailyGoods()
@@ -282,17 +277,17 @@ function ShopData:getMallDailyGoods()
end
function ShopData:getMallDailyDiamondResetCost()
- return 30 -- TODOJ 目前无配置表
+ return 30 -- 目前无配置表
end
-- 每日特惠 广告商品最大购买次数
function ShopData:getMallDailyFirstItemAdMaxCount()
- return 1 -- TODOJ 目前无配置表
+ return 1 -- 目前无配置表
end
-- 每日特惠 常规商品最大购买次数
function ShopData:getMallDailyGoodsLimitCount()
- return 1 -- TODOJ 目前无配置表
+ return 1 -- 目前无配置表
end
-- 每日特惠 是否开启
@@ -356,7 +351,7 @@ end
-- 常驻钻石礼包 **********************************************************************************************
function ShopData:getMallTreasureConfig()
- return ConfigManager:getConfig("mall_treasure")
+ return ConfigManager:getConfig("mall_treasure") -- 审核模式会去读另一张表 TODOJ
end
-- 常驻钻石礼包结束 ----------------------------------------------------------------------------------------------
@@ -393,7 +388,7 @@ end
function ShopData:getActChapterStoreCanBuyActIds()
local list = {}
local curChapterId = DataManager.ChapterData:getMaxChapterId()
- for id = curChapterId, 1, -1 do
+ for id = 1, curChapterId do
if not self:getActChapterStoreHasBuy(id) then
table.insert(list, self.actChapterStoreChapterId2IdMap[id])
end
@@ -421,6 +416,23 @@ function ShopData:getBeginnerGiftHasBuy()
end
end
+-- 新手礼包侧边栏展示时间
+function ShopData:getBeginnerGiftSideBarDurationTime()
+ return 3 * 24 * 3600 -- 目前无配置表
+end
+
+-- 未购买且在开服的3天内
+function ShopData:getBeginnerGiftShowSideBar()
+ return not self:getBeginnerGiftHasBuy() and self:getBeginnerGiftSideBarRemainTime() > 0
+end
+
+-- 展示在侧边栏的剩余时间
+function ShopData:getBeginnerGiftSideBarRemainTime()
+ local createTime = DataManager.PlayerData:getCreateTime() // 1000
+ local durationTime = self:getBeginnerGiftSideBarDurationTime()
+ return createTime + durationTime - Time:getServerTime()
+end
+
-- 新手礼包结束 ----------------------------------------------------------------------------------------------
-- 助力与金币礼包(act_gift) **********************************************************************************************
@@ -623,36 +635,69 @@ function ShopData:getGrowUpGifts()
return self.growUpGifts
end
+-- 目前允许显示的最多2个礼包
+function ShopData:getMaxGrowUpGiftCount()
+ return 2
+end
+
+function ShopData:getGrowUpGiftByActId(actId)
+ local list = self:getGrowUpGifts()
+ for _, gift in ipairs(list) do
+ if gift.current_grow_up_id == actId then
+ return gift
+ end
+ end
+end
+
-- 获取目前时间有效的成长礼包
function ShopData:getValidGrowUpGifts()
local list = {}
for index, gift in ipairs(self:getGrowUpGifts()) do
local cfgInfo = self:getActGrowUpGiftConfig()[gift.current_grow_up_id]
if cfgInfo then
- local cd = (cfgInfo.cd or 0) * 3600
+ local isValid = false
local durationTime = (cfgInfo.limit_time or 0) * 3600
local triggerTime = gift.trigger_at // 1000
local maxDurationTime = triggerTime + durationTime
- local maxEndTime = triggerTime + cd
+ local buyLimit = cfgInfo.limit or 0
+
-- 是否在有效范围内
local isInDurationTime = Time:getServerTime() < maxDurationTime
if isInDurationTime then
- -- 从通用act里找到这个礼包的最后购买时间 如果有且在这个范围内 则这个礼包已经被购买了
- local hasBuy = false
+ -- 从通用act里找到这个礼包 如果有该礼包且购买次数未达到上限,则有效;如果没有该礼包也有效
local actGiftDetailData = self:getActGiftDetailData(PayManager.PURCHARSE_TYPE.GROW_UP_GIFT, gift.current_grow_up_id)
+
if actGiftDetailData then
+ local buyCount = actGiftDetailData.buy_count
local latestBuyTime = actGiftDetailData.latest_buy_at // 1000
- if latestBuyTime > 0 and triggerTime < latestBuyTime and latestBuyTime < maxEndTime then
- hasBuy = true
- end
- end
- if not hasBuy then
- table.insert(list, gift)
+ if buyLimit > 0 then
+ if buyCount < buyLimit then
+ isValid = true
+ end
+ else
+ isValid = true
+ end
+ else
+ isValid = true
end
end
+ if isValid then
+ table.insert(list, gift)
+ end
end
end
- return list
+ -- 按照时间排序
+ table.sort(list, function(a, b)
+ return a.trigger_at < b.trigger_at
+ end)
+ -- 上限2位
+ local limitList = {}
+ for i = 1, self:getMaxGrowUpGiftCount() do
+ if list[i] then
+ table.insert(limitList, list[i])
+ end
+ end
+ return limitList
end
-- 触发了成长礼包
@@ -668,4 +713,75 @@ end
-- 成长礼包结束 ----------------------------------------------------------------------------------------------
+-- 首充 **********************************************************************************************
+
+-- 用于标记是否弹窗 要求等级不低于2 未领取该奖励
+function ShopData:initFirstRecharge()
+ local lv = DataManager.PlayerData:getLv()
+ if lv > 1 and not self:getHasGotFirstRechargeReward() then
+ self:markPopUpGift(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.ShopConst.FIRST_RECHARGE_ID)
+ end
+end
+
+-- 是否有首充奖励 有支付且未领取
+function ShopData:getHasFirstRechargeReward()
+ local pay = DataManager.PlayerData:getTotalPayAmount()
+ if pay > 0 and not self:getHasGotFirstRechargeReward() then
+ return true
+ else
+ return false
+ end
+end
+
+-- 是否已领取首充奖励
+function ShopData:getHasGotFirstRechargeReward()
+ -- 通用act礼包中是否有已购
+ local boughtNum = self:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.ShopConst.FIRST_RECHARGE_ID)
+ return boughtNum > 0
+end
+
+-- 侧边栏是否展示 要求等级不低于2 未领取该奖励
+function ShopData:getShowFirstRechargeSideBar()
+ local lv = DataManager.PlayerData:getLv()
+ if lv > 1 and not self:getHasGotFirstRechargeReward() then
+ return true
+ else
+ return false
+ end
+end
+
+-- 侧边栏红点
+function ShopData:showFirstRechargeRp()
+ return self:getHasFirstRechargeReward()
+end
+
+-- 首充结束 ----------------------------------------------------------------------------------------------
+
+-- 底部栏是否有红点
+function ShopData:getRp()
+ if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.MALL) then
+ return false
+ end
+
+ local isHotOpen = ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.MALL_DAILY)
+ -- 主要商品 每日特惠广告道具
+ local hotAdGoods = self:getMallDailyGoods() and self:getMallDailyGoods()[1]
+ local hotAdGoodsBuyCount = hotAdGoods and hotAdGoods.bought or 0
+ local hotAdGoodsRp = self:getMallDailyFirstItemAdMaxCount() - hotAdGoodsBuyCount > 0
+ -- 主要商品 每日特惠刷新
+ local hotRefreshRp = self:getMallDailyAdLeftCount() > 0
+ -- 主要商品 钻石广告道具
+ local gemAdId = 1 -- 约定首位为免费栏位
+ local cfgInfo = self:getMallTreasureConfig()[gemAdId]
+ local gemAdMaxTimes = cfgInfo.daily or 0
+ local gemAdRp = gemAdMaxTimes - DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.MALL_TREASURE, gemAdId) > 0
+ -- 主要商品 金币广告道具
+ local coinAdId = 1 -- 约定首位为免费栏位
+ local cfgInfo = self:getMallGoldConfig()[coinAdId]
+ local coinAdMaxTimes = cfgInfo.daily or 0
+ local coinAdRp = coinAdMaxTimes - DataManager.ShopData:getCommonDailyCoinAdBuyCount() > 0
+
+ return (isHotOpen and (hotAdGoodsRp or hotRefreshRp)) or gemAdRp or coinAdRp
+end
+
return ShopData
\ No newline at end of file
diff --git a/lua/app/userdata/task/daily_task_data.lua b/lua/app/userdata/task/daily_task_data.lua
index e66ffa3e..ca3dffe7 100644
--- a/lua/app/userdata/task/daily_task_data.lua
+++ b/lua/app/userdata/task/daily_task_data.lua
@@ -46,24 +46,28 @@ function DailyTaskData:init(data)
type = v.type,
reset = v.reset
}
- if not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then
- dailyTaskObj.redPoint = true
- if dailyTaskObj.type == 1 then
- dailyRedPoint = dailyRedPoint + 1
- else
- challengeRedPoint = challengeRedPoint + 1
- end
- else
- dailyTaskObj.redPoint = false
- end
if v.bounty then
- if self.isUnlockBountyDailyTask then
- dailyTaskObj.lock = false
- else
- dailyTaskObj.lock = true
- end
+ if self.isUnlockBountyDailyTask then
+ dailyTaskObj.lock = false
+ else
+ dailyTaskObj.lock = true
+ end
+ else
+ dailyTaskObj.lock = false
end
- if not dailyTaskObj.lock then -- 只有解锁的任务才注册监听任务进度
+ if dailyTaskObj.lock then
+ dailyTaskObj.redPoint = false
+ else
+ if not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then
+ dailyTaskObj.redPoint = true
+ if dailyTaskObj.type == 1 then
+ dailyRedPoint = dailyRedPoint + 1
+ else
+ challengeRedPoint = challengeRedPoint + 1
+ end
+ else
+ dailyTaskObj.redPoint = false
+ end
local list = self.taskTypeMap[taskInfo.type]
if list == nil then
list = {}
@@ -130,11 +134,11 @@ function DailyTaskData:refreshDailyTask(task)
dailyTaskObj.type = dailyTaskInfo.type
dailyTaskObj.reset = dailyTaskInfo.reset
local redPoint = false
- if not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then
+ if not dailyTaskObj.lock and not dailyTaskObj.claimed and dailyTaskObj.progress >= dailyTaskObj.needProgress then
redPoint = true
end
local originTaskType = originTaskInfo.type
- if originTaskType ~= taskInfo.type then -- 任务类型变了
+ if not dailyTaskObj.lock and originTaskType ~= taskInfo.type then -- 任务类型变了
self:unregisterTask(id, originTaskType)
self:registerTask(dailyTaskObj, taskInfo.type)
end
@@ -307,6 +311,9 @@ function DailyTaskData:getIfCanClaimTask(task)
end
function DailyTaskData:addTaskProgress(task, taskType, count)
+ if task.lock then
+ return
+ end
local currProgress = task.progress
if currProgress >= task.needProgress then
return
@@ -314,7 +321,7 @@ function DailyTaskData:addTaskProgress(task, taskType, count)
local can = self:getIfCanClaimTask(task)
task.progress = task.progress + count
if not can and self:getIfCanClaimTask(task) then
- EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.DAILY_TASK_ADD_PROGRESS, task.id, task.taskId, currProgress, task.needProgress)
+ EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.DAILY_TASK_COMPLETE, task.id, task.taskId, currProgress, task.needProgress)
if task.type == 1 and task.reset == 1 and taskType ~= GConst.TaskConst.TASK_TYPE.COMPLETED_DALY_TASK then
ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.COMPLETED_DALY_TASK)
end