夏日活动
This commit is contained in:
parent
f5ed280271
commit
e0db8bcfda
@ -121,6 +121,8 @@ BIReport.ITEM_GET_TYPE = {
|
||||
ARENA_CHALLENGE = "ArenaChallenge",
|
||||
ARENA_SETTLEMENT = "ArenaSettlement",
|
||||
ARENA_GIFT = "ArenaGift",
|
||||
ACTIVITY_BOUNTY_REWARD = "ActivityBountyReward",
|
||||
ACTIVITY_BOUNTY_LEVEL = "ActivityBountyLevel",
|
||||
COLLECTION_HERO_REWARD = "CollectionHeroReward",
|
||||
DUNGEON_WEAPON_CHALLENGE = "DungeonWeaponChallenge",
|
||||
DUNGEON_WEAPON_END = "DungeonWeaponEnd",
|
||||
@ -136,6 +138,7 @@ BIReport.ITEM_GET_TYPE = {
|
||||
EQUIP_UPGRADE = "EquipUpgrade",
|
||||
ARMOR_UPGRADE = "ArmorUpgrade",
|
||||
OFFLINE_RECOVERY = "OfflineRecovery",
|
||||
ACT_SUMMER = "ActSummer",
|
||||
}
|
||||
|
||||
BIReport.ADS_CLICK_TYPE = {
|
||||
@ -203,6 +206,7 @@ BIReport.GIFT_TYPE = {
|
||||
ARMOR_FUND = "ArmorFund",
|
||||
WEAPON_GIFT = "WeaponGift",
|
||||
ARMOR_GIFT = "ArmorGift",
|
||||
ACT_SUMMER = "ActSummer",
|
||||
}
|
||||
|
||||
BIReport.COIN_TYPE = {
|
||||
|
||||
@ -59,6 +59,7 @@ EventManager.CUSTOM_EVENT = {
|
||||
-- BORAD_TOUCH_BEGIN = "BORAD_TOUCH_BEGIN",
|
||||
-- BORAD_TOUCH_OVER = "BORAD_TOUCH_OVER"
|
||||
DUNGEON_ARMOR_TO_TARGET_ID = "DUNGEON_ARMOR_TO_TARGET_ID",
|
||||
ACTIVITY_SUMMER_END = "ACTIVITY_SUMMER_END",
|
||||
}
|
||||
|
||||
-- 此方法不能直接在外部调用,请使用例如BaseUI,BaseModule等封装好的接口
|
||||
|
||||
@ -38,6 +38,8 @@ local LOCAL_DATA_KEY = {
|
||||
ARENA_TODAY_BATTLE_COUNT = "ARENA_TODAY_BATTLE_COUNT",
|
||||
TRIAL_HERO = "TRIAL_HERO",
|
||||
BATTLE_SNAPSHOT = "BATTLE_SNAPSHOT",
|
||||
ACTIVITY_SUMMER_TODAY_SKIN = "ACTIVITY_SUMMER_TODAY_SKIN",
|
||||
ACTIVITY_SUMMER_TODAY_HERO = "ACTIVITY_SUMMER_TODAY_HERO",
|
||||
}
|
||||
|
||||
LocalData.KEYS = LOCAL_DATA_KEY
|
||||
@ -447,4 +449,20 @@ function LocalData:getBattleSnapshot()
|
||||
return json.decode(dealedSnapshot)
|
||||
end
|
||||
|
||||
function LocalData:getTodayActSummerWatchedSkin()
|
||||
return self:getInt(LOCAL_DATA_KEY.ACTIVITY_SUMMER_TODAY_SKIN .. Time:getBeginningOfServerToday(), 0) == 1
|
||||
end
|
||||
|
||||
function LocalData:recordTodayActSummerWatchedSkin()
|
||||
self:setInt(LOCAL_DATA_KEY.ACTIVITY_SUMMER_TODAY_SKIN .. Time:getBeginningOfServerToday(), 1)
|
||||
end
|
||||
|
||||
function LocalData:getTodayActSummerWatchedHero()
|
||||
return self:getInt(LOCAL_DATA_KEY.ACTIVITY_SUMMER_TODAY_HERO .. Time:getBeginningOfServerToday(), 0) == 1
|
||||
end
|
||||
|
||||
function LocalData:recordTodayActSummerWatchedHero()
|
||||
self:setInt(LOCAL_DATA_KEY.ACTIVITY_SUMMER_TODAY_HERO .. Time:getBeginningOfServerToday(), 1)
|
||||
end
|
||||
|
||||
return LocalData
|
||||
@ -80,6 +80,7 @@ ModuleManager.MODULE_KEY = {
|
||||
STORE_BOX_3_OPEN = "store_box_3_open",
|
||||
BOUNTY_OPEN = "bounty_open",
|
||||
IDLE_DROP = "idle_drop",
|
||||
ACTIVITY = "activity_open",
|
||||
MALL = "mall", -- 商城
|
||||
MALL_DAILY = "mall_daily", -- 每日商城
|
||||
DAILY_CHALLENGE = "daily_challenge", -- 每日挑战
|
||||
|
||||
@ -22,6 +22,7 @@ PayManager.PURCHARSE_ACT_TYPE = {
|
||||
ARMOR_FUND = 10,
|
||||
WEAPON_GIFT = 11,
|
||||
ARMOR_GIFT = 12,
|
||||
ACT_SUMMER = 13,
|
||||
}
|
||||
|
||||
PayManager.PURCHARSE_TYPE_CONFIG = {
|
||||
@ -46,6 +47,7 @@ PayManager.BI_ITEM_GET_TYPE = {
|
||||
[PayManager.PURCHARSE_ACT_TYPE.ARMOR_FUND] = BIReport.ITEM_GET_TYPE.ARMOR_FUND,
|
||||
[PayManager.PURCHARSE_ACT_TYPE.WEAPON_GIFT] = BIReport.ITEM_GET_TYPE.WEAPON_GIFT,
|
||||
[PayManager.PURCHARSE_ACT_TYPE.ARMOR_GIFT] = BIReport.ITEM_GET_TYPE.ARMOR_GIFT,
|
||||
[PayManager.PURCHARSE_ACT_TYPE.ACT_SUMMER] = BIReport.ITEM_GET_TYPE.ACT_SUMMER,
|
||||
},
|
||||
[PayManager.PURCHARSE_TYPE.ACT_GOLD_PIG] = BIReport.ITEM_GET_TYPE.GOLD_PIG,
|
||||
[PayManager.PURCHARSE_TYPE.MALL_TREASURE] = BIReport.ITEM_GET_TYPE.MALL_TREASURE,
|
||||
@ -67,6 +69,7 @@ PayManager.BI_GIFT_TYPE = {
|
||||
[PayManager.PURCHARSE_ACT_TYPE.ARMOR_FUND] = BIReport.GIFT_TYPE.ARMOR_FUND,
|
||||
[PayManager.PURCHARSE_ACT_TYPE.WEAPON_GIFT] = BIReport.GIFT_TYPE.WEAPON_GIFT,
|
||||
[PayManager.PURCHARSE_ACT_TYPE.ARMOR_GIFT] = BIReport.GIFT_TYPE.ARMOR_GIFT,
|
||||
[PayManager.PURCHARSE_ACT_TYPE.ACT_SUMMER] = BIReport.GIFT_TYPE.ACT_SUMMER,
|
||||
},
|
||||
[PayManager.PURCHARSE_TYPE.ACT_GOLD_PIG] = BIReport.GIFT_TYPE.GOLD_PIG,
|
||||
[PayManager.PURCHARSE_TYPE.MALL_TREASURE] = BIReport.GIFT_TYPE.MALL_TREASURE,
|
||||
|
||||
@ -308,6 +308,13 @@ function Time:getWeekByTimeStamp(time)
|
||||
return weekTab[now.wday]
|
||||
end
|
||||
|
||||
-- 获取今天距目标日期的天数
|
||||
function Time:getDistanceDays(time)
|
||||
local nowNum = self:getBeginningOfOneDay(self:getServerTime())
|
||||
local targetNum = self:getBeginningOfOneDay(time)
|
||||
return (nowNum - targetNum)/24/60/60
|
||||
end
|
||||
|
||||
-- 转换服务器时间字符串(ISO 8601)的对应的时间戳,例如2022-09-10T18:10:00.000Z
|
||||
function Time:convertServerTimeStringToTimestamp(str)
|
||||
local dateTime = CS.System.DateTime.Parse(str)
|
||||
|
||||
@ -111,6 +111,26 @@ local avatar = {
|
||||
["iconId"]="26",
|
||||
["hero"]=54002
|
||||
},
|
||||
[14003]={
|
||||
["iconId"]="31",
|
||||
["hero"]=14003
|
||||
},
|
||||
[24003]={
|
||||
["iconId"]="27",
|
||||
["hero"]=24003
|
||||
},
|
||||
[34003]={
|
||||
["iconId"]="28",
|
||||
["hero"]=34003
|
||||
},
|
||||
[44003]={
|
||||
["iconId"]="29",
|
||||
["hero"]=44003
|
||||
},
|
||||
[54003]={
|
||||
["iconId"]="30",
|
||||
["hero"]=54003
|
||||
},
|
||||
[1400201]={
|
||||
["iconId"]="skin_3",
|
||||
["item"]=1400201
|
||||
@ -129,6 +149,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a5148a7b16b1fc41b4cf4d3032434f7
|
||||
guid: 893b1162479b05246acae9d3a7c2dc8d
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1127c4a778e20e548bab5b6d9197438f
|
||||
guid: ecf9832219c651a42a6da2144d6b4b0e
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -80,6 +80,21 @@ local avatar = {
|
||||
[25001]={
|
||||
["desc"]="激活闪烁法师后获得。"
|
||||
},
|
||||
[14003]={
|
||||
["desc"]="激活恶魔侍者后获得。"
|
||||
},
|
||||
[24003]={
|
||||
["desc"]="激活阿飞后获得。"
|
||||
},
|
||||
[34003]={
|
||||
["desc"]="激活忍者菲尔后获得。"
|
||||
},
|
||||
[44003]={
|
||||
["desc"]="激活月之法师后获得。"
|
||||
},
|
||||
[54003]={
|
||||
["desc"]="激活堕落骑士后获得。"
|
||||
},
|
||||
[1400201]={
|
||||
["desc"]="激活潘达沙滩王者皮肤获得。"
|
||||
},
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 918bec283e903ac40b3c53b3f01b7e6e
|
||||
guid: 0f83d9ac19d0ece40a8322b3a3076967
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 37583a684486ff14f81e7f764ee1dfe7
|
||||
guid: da6eafcb15352aa48ad1a28bb73f5875
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
["desc"]="Obtained after activating Twinkling Mage."
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d227df9391e785e408121f4ff642cfb5
|
||||
guid: aba4b90f0689e0d49ac6fbecf9f457e6
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
["desc"]="Se obtiene tras activar Mago Brillante."
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 519cb5672fc300e46a858a224241830b
|
||||
guid: 5d2e06c6a89d5ba4f9f56288581b30fb
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1218053606fbff34db28d72a590c208a
|
||||
guid: 256cb63107484c14388a13d5f80f47c1
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
["desc"]="Dapat setelah lolos Blink Mage"
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 10498da83e85fdf4dbb6c8206ca0d693
|
||||
guid: 3d8991f3c62a35d46a4f56b0fd0bebac
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
["desc"]="トゥインクリングメイジをアクティブ化後獲得できる。"
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 14212bd9d0535924eb424e56b3d89aae
|
||||
guid: dc9c852361917104da8be013c7b344c1
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
["desc"]="반짝이는 마법사을(를) 활성화한 후, 획득할 수 있습니다."
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a5b8d45ff88b5cc4b97a7220f6d9dd7b
|
||||
guid: 888023c46b5a83e4ca8623eb8b44146f
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
["desc"]="Ativar Mago do Brilho para obter."
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa0d75a897385e244a94199562ff8a10
|
||||
guid: 5b35ae430e54fbe44b652cbfca604e87
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
["desc"]="หลังจากการเปิดใช้งานนักเวทแวบวับจะได้รับ"
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f49db969f35f5744cbb754a485aafaf6
|
||||
guid: 3b9824b549f61574e81a5ef2be629f48
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
["desc"]="Kích hoạt Pháp Sư Blink nhận được."
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2f94a212b1547cc49a9ca8a0c0a11388
|
||||
guid: cae075fa2ab34d4468845c6964b80002
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
|
||||
@ -79,6 +79,21 @@ local avatar = {
|
||||
},
|
||||
[25001]={
|
||||
["desc"]="啟動閃爍法師後獲得。"
|
||||
},
|
||||
[14003]={
|
||||
|
||||
},
|
||||
[24003]={
|
||||
|
||||
},
|
||||
[34003]={
|
||||
|
||||
},
|
||||
[44003]={
|
||||
|
||||
},
|
||||
[54003]={
|
||||
|
||||
},
|
||||
[1400201]={
|
||||
|
||||
@ -94,6 +109,6 @@ local avatar = {
|
||||
}
|
||||
}
|
||||
local config = {
|
||||
data=avatar,count=31
|
||||
data=avatar,count=36
|
||||
}
|
||||
return config
|
||||
@ -19,6 +19,7 @@ local CONST_PATHS = {
|
||||
MailConst = "app/module/mail/mail_const",
|
||||
GameSettingConst = "app/module/game_setting/game_setting_const",
|
||||
CollectionConst = "app/module/collection/collection_const",
|
||||
ActivityConst = "app/module/activity/activity_const",
|
||||
}
|
||||
|
||||
if EDITOR_MODE then
|
||||
@ -217,6 +218,8 @@ GConst.ATLAS_PATH = {
|
||||
MODULE = "assets/arts/atlas/ui/module.asset",
|
||||
UI_MAIL = "assets/arts/atlas/ui/mail.asset",
|
||||
UI_DUGEON_ARMOR = "assets/arts/atlas/ui/dungeon_armor.asset",
|
||||
ACT_SUMMER = "assets/arts/atlas/ui/act_summer.asset",
|
||||
TASK = "assets/arts/atlas/ui/task.asset",
|
||||
}
|
||||
|
||||
GConst.TOUCH_EVENT = {
|
||||
@ -295,6 +298,7 @@ GConst.MESSAGE_BOX_TYPE = {
|
||||
GConst.MESSAGE_BOX_SHOW_TODAY = {
|
||||
BOUNTY_BUY_LEVEL = 1,
|
||||
HOT_SELL_BUY = 2,
|
||||
ACTIVITY_BUY_LEVEL = 2,
|
||||
}
|
||||
|
||||
GConst.QUALITY_TYPE =
|
||||
|
||||
36
lua/app/module/activity/activity_const.lua
Normal file
36
lua/app/module/activity/activity_const.lua
Normal file
@ -0,0 +1,36 @@
|
||||
local ActivityConst = {}
|
||||
|
||||
-- 活动类型
|
||||
ActivityConst.ACT_TYPE = {
|
||||
}
|
||||
|
||||
-- 活动id
|
||||
ActivityConst.ACT = {
|
||||
SUMMER = 106,
|
||||
}
|
||||
|
||||
-- 战令档位
|
||||
ActivityConst.BOUNTY_GRADE_TYPE = {
|
||||
FREE = 0,
|
||||
PAY1 = 1,
|
||||
PAY2 = 2,
|
||||
}
|
||||
|
||||
-- 界面
|
||||
ActivityConst.PANEL_TYPE = {
|
||||
TASK = 1,
|
||||
BOUNTY = 2,
|
||||
SKIN = 3,
|
||||
HERO = 4
|
||||
}
|
||||
|
||||
-- 战令礼包id
|
||||
ActivityConst.BOUNTY_GIFT_ID_1 = 130002
|
||||
ActivityConst.BOUNTY_GIFT_ID_2 = 130102
|
||||
-- 皮肤礼包id
|
||||
ActivityConst.SKIN_GIFT_ID_1 = 130302
|
||||
ActivityConst.SKIN_GIFT_ID_2 = 130202
|
||||
-- 英雄礼包id
|
||||
ActivityConst.HERO_GIFT_ID_1 = 130402
|
||||
|
||||
return ActivityConst
|
||||
10
lua/app/module/activity/activity_const.lua.meta
Normal file
10
lua/app/module/activity/activity_const.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0b055c01cb49c774ea9d7417586df034
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
@ -14,4 +14,101 @@ function ActivityManager:onBoughtGoldPigFinish(result)
|
||||
end
|
||||
end
|
||||
|
||||
-- 夏日活动分界线-----------------------------------------------------------------------------------------------------
|
||||
|
||||
function ActivityManager:showActivityUI()
|
||||
UIManager:showUI("app/ui/activity/activity_ui")
|
||||
end
|
||||
|
||||
-- 购买夏日活动战令
|
||||
function ActivityManager:buySummerBounty(giftId)
|
||||
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT)
|
||||
end
|
||||
|
||||
-- 初始化夏日活动计时器
|
||||
function ActivityManager:initSummerTimer()
|
||||
self:unscheduleGlobal(self.summerSid)
|
||||
|
||||
if DataManager.ActivityData:isInActiveTime() then
|
||||
Logger.logHighlight("夏日活动结束倒计时:"..DataManager.ActivityData:getEndRemainTime())
|
||||
self.summerSid = self:performWithDelayGlobal(function()
|
||||
-- 夏日活动结束
|
||||
Logger.logHighlight("夏日活动结束")
|
||||
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.ACTIVITY_SUMMER_END)
|
||||
end, DataManager.ActivityData:getEndRemainTime())
|
||||
elseif DataManager.ActivityData:getStartRemainTime() > 0 then
|
||||
Logger.logHighlight("夏日活动开始倒计时:"..DataManager.ActivityData:getStartRemainTime())
|
||||
self.summerSid = self:performWithDelayGlobal(function()
|
||||
-- 夏日活动结束
|
||||
Logger.logHighlight("夏日活动开始")
|
||||
self:reqSummerData()
|
||||
end, DataManager.ActivityData:getStartRemainTime())
|
||||
end
|
||||
end
|
||||
|
||||
-- 请求夏日活动数据
|
||||
function ActivityManager:reqSummerData()
|
||||
self:sendMessage(ProtoMsgType.FromMsgEnum.SummerDataReq, {}, {}, self.rspSummerData, nil)
|
||||
end
|
||||
|
||||
function ActivityManager:rspSummerData(result)
|
||||
DataManager.ActivityData:onGetActData(result.summer)
|
||||
end
|
||||
|
||||
-- 请求夏日活动任务奖励
|
||||
function ActivityManager:reqSummerTaskReward(id)
|
||||
self:sendMessage(ProtoMsgType.FromMsgEnum.SummerTaskClaimReq, {id = id, stage = DataManager.ActivityData:getTaskStage(id)}, {}, self.rspSummerTaskReward, nil)
|
||||
end
|
||||
|
||||
function ActivityManager:rspSummerTaskReward(result)
|
||||
if result.err_code == GConst.ERROR_STR.SUCCESS then
|
||||
DataManager.ActivityData:onReceivedTaskReward(result.reqData.id, result.stage, result.level, result.exp)
|
||||
end
|
||||
end
|
||||
|
||||
-- 请求夏日活动战令奖励,id为0就是领取档位全部可领奖励
|
||||
function ActivityManager:reqSummerBountyReward(id, grade)
|
||||
self:sendMessage(ProtoMsgType.FromMsgEnum.SummerBountyClaimReq, {id = id, grade = grade}, {}, self.rspSummerBountyReward, BIReport.ITEM_GET_TYPE.ACTIVITY_BOUNTY_REWARD)
|
||||
end
|
||||
|
||||
function ActivityManager:rspSummerBountyReward(result)
|
||||
if result.err_code == GConst.ERROR_STR.SUCCESS then
|
||||
DataManager.ActivityData:onReceivedBountyReward(result.success_id_grade)
|
||||
|
||||
GFunc.showRewardBox(result.rewards)
|
||||
end
|
||||
end
|
||||
|
||||
-- 购买战令等级
|
||||
function ActivityManager:reqBuyBountyLevel()
|
||||
local cost = DataManager.ActivityData:getBuyBountyLevelCost()
|
||||
local costId = GFunc.getRewardId(cost)
|
||||
local costNum = GFunc.getRewardNum(cost)
|
||||
if not GFunc.checkCost(costId, costNum, true) then
|
||||
return
|
||||
end
|
||||
local params ={
|
||||
titleTx = I18N:getGlobalText(I18N.GlobalConst.BOUNTY_BUY_LEVEL_TITLE),
|
||||
content = I18N:getGlobalText(I18N.GlobalConst.BOUNTY_BUY_LEVEL_COUNTENT),
|
||||
boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL,
|
||||
showToday = GConst.MESSAGE_BOX_SHOW_TODAY.ACTIVITY_BUY_LEVEL,
|
||||
costId = costId,
|
||||
costNum = costNum,
|
||||
okFunc = function()
|
||||
local id = DataManager.ActivityData:getBountyCfg()[DataManager.ActivityData:getBountyLevel() + 1].id
|
||||
Logger.logHighlight("购买战令等级:"..id)
|
||||
self:sendMessage(ProtoMsgType.FromMsgEnum.SummerBountyClaimByDiamondReq, {id = id}, {}, self.rspBuyBountyLevel, BIReport.ITEM_GET_TYPE.ACTIVITY_BOUNTY_LEVEL)
|
||||
end,
|
||||
}
|
||||
GFunc.showMessageBox(params)
|
||||
end
|
||||
|
||||
function ActivityManager:rspBuyBountyLevel(result)
|
||||
if result.err_code == GConst.ERROR_STR.SUCCESS then
|
||||
DataManager.ActivityData:onBoughtBountyLevel()
|
||||
end
|
||||
end
|
||||
|
||||
-- 夏日活动分界线-----------------------------------------------------------------------------------------------------
|
||||
|
||||
return ActivityManager
|
||||
@ -130,6 +130,7 @@ function ArenaManager:rspSettlement(result)
|
||||
self:checkSeasonChange()
|
||||
|
||||
ModuleManager.TaskManager:addFightTaskProgress(reqData.task_stat)
|
||||
ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.X_ARENA_CHALLENGE)
|
||||
|
||||
--bi上报
|
||||
local winRate = result.total_win_count / (result.total_win_count + result.total_lose_count)
|
||||
|
||||
@ -31,6 +31,7 @@ MainCityConst.LEFT_SIDE_BARS = {
|
||||
"app/ui/main_city/cell/side_bar_idle_cell",
|
||||
"app/ui/main_city/cell/side_bar_growth_fund_cell",
|
||||
"app/ui/main_city/cell/side_bar_seven_days_cell",
|
||||
"app/ui/main_city/cell/side_bar_activity_cell",
|
||||
-- gm放最后一个
|
||||
"app/ui/main_city/cell/side_bar_gm_cell"
|
||||
}
|
||||
|
||||
@ -2,8 +2,6 @@ local SkinManager = class("SkinManager", BaseModule)
|
||||
|
||||
function SkinManager:init()
|
||||
self:addEventListener(EventManager.CUSTOM_EVENT.GETED_REWARD_SUCCESS, function(rewards)
|
||||
Logger.logHighlight("奖励获取")
|
||||
Logger.printTable(rewards)
|
||||
self:checkUnlockSkin(rewards)
|
||||
end)
|
||||
end
|
||||
@ -15,7 +13,7 @@ function SkinManager:checkUnlockSkin(checkData)
|
||||
end
|
||||
|
||||
for index, reward in ipairs(checkData) do
|
||||
if reward.type == GConst.REWARD_TYPE.ITEM and reward.item.type == GConst.ItemConst.ITEM_TYPE.SKIN then
|
||||
if reward.type == GConst.REWARD_TYPE.ITEM and ConfigManager:getConfig("item")[reward.item.id].type == GConst.ItemConst.ITEM_TYPE.SKIN then
|
||||
DataManager.SkinData:onUnlockSkin(reward.item.id)
|
||||
end
|
||||
end
|
||||
|
||||
@ -30,6 +30,7 @@ TaskConst.TASK_TYPE = {
|
||||
X_NEW_HERO_GOT = 27, -- 拥有X个英雄
|
||||
X_OPEN_SHOP_BOX_LEVEL_1 = 28, -- 商城里的1级抽卡宝箱
|
||||
X_OPEN_SHOP_BOX_LEVEL_2 = 29, -- 商城里的2级抽卡宝箱
|
||||
X_ARENA_CHALLENGE = 30, -- 竞技场挑战
|
||||
}
|
||||
|
||||
return TaskConst
|
||||
@ -270,6 +270,10 @@ function TaskManager:xOpenShopBoxLevel3(count)
|
||||
self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_OPEN_SHOP_BOX, count)
|
||||
end
|
||||
|
||||
function TaskManager:xArenaChallenge()
|
||||
self:dispatchTask(GConst.TaskConst.TASK_TYPE.X_ARENA_CHALLENGE, 1)
|
||||
end
|
||||
|
||||
---- 没有特殊说明,方法均返回任务增量
|
||||
TaskManager.TYPE_DEAL_FUNC = {
|
||||
[GConst.TaskConst.TASK_TYPE.X_WATCH_AD] = TaskManager.xWatchAd,
|
||||
@ -299,6 +303,7 @@ TaskManager.TYPE_DEAL_FUNC = {
|
||||
[GConst.TaskConst.TASK_TYPE.X_OPEN_SHOP_BOX_LEVEL_1] = TaskManager.xOpenShopBoxLevel1,
|
||||
[GConst.TaskConst.TASK_TYPE.X_OPEN_SHOP_BOX_LEVEL_2] = TaskManager.xOpenShopBoxLevel2,
|
||||
[GConst.TaskConst.TASK_TYPE.X_OPEN_SHOP_BOX_LEVEL_3] = TaskManager.xOpenShopBoxLevel3,
|
||||
[GConst.TaskConst.TASK_TYPE.X_ARENA_CHALLENGE] = TaskManager.xArenaChallenge,
|
||||
}
|
||||
|
||||
function TaskManager:taskGoto(taskType)
|
||||
|
||||
112
lua/app/ui/activity/activity_bounty_buy_ui.lua
Normal file
112
lua/app/ui/activity/activity_bounty_buy_ui.lua
Normal file
@ -0,0 +1,112 @@
|
||||
local ActivityUI = class("ActivityUI", BaseUI)
|
||||
local SPINE_BANNER = {
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "ui_act_summer_buy_1",
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "ui_act_summer_buy_2",
|
||||
}
|
||||
local PANEL_BG = {
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "assets/arts/textures/background/shop/shop_bg_11.png",
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "assets/arts/textures/background/shop/shop_bg_pig.png",
|
||||
}
|
||||
local TITLE_BG = {
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "common_title_10",
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "common_title_12",
|
||||
}
|
||||
local OFF_BG = {
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "shop_bg_18",
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "shop_bg_9",
|
||||
}
|
||||
local LINE_BG = {
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = "act_summer_board_6",
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = "act_summer_board_5",
|
||||
}
|
||||
local SPINE_POS_Y = {
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1] = 285,
|
||||
[GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2] = 340,
|
||||
}
|
||||
|
||||
function ActivityUI:isFullScreen()
|
||||
return false
|
||||
end
|
||||
|
||||
function ActivityUI:getPrefabPath()
|
||||
return "assets/prefabs/ui/activity/activity_bounty_buy_ui.prefab"
|
||||
end
|
||||
|
||||
function ActivityUI:onPressBackspace()
|
||||
self:closeUI()
|
||||
end
|
||||
|
||||
function ActivityUI:ctor(parmas)
|
||||
self.payType = parmas
|
||||
if self.payType == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1 then
|
||||
self.giftId = GConst.ActivityConst.BOUNTY_GIFT_ID_1
|
||||
elseif self.payType == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2 then
|
||||
self.giftId = GConst.ActivityConst.BOUNTY_GIFT_ID_2
|
||||
end
|
||||
end
|
||||
|
||||
function ActivityUI:onLoadRootComplete()
|
||||
local uiMap = self.root:genAllChildren()
|
||||
self.bg = uiMap["activity_bounty_buy_ui.bg"]
|
||||
self.spineBanner = uiMap["activity_bounty_buy_ui.bg.spine_banner"]
|
||||
self.imgTitle = uiMap["activity_bounty_buy_ui.bg.img_title"]
|
||||
self.txTitle = uiMap["activity_bounty_buy_ui.bg.img_title.tx_title"]
|
||||
self.imgOff = uiMap["activity_bounty_buy_ui.bg.img_off"]
|
||||
self.txOff = uiMap["activity_bounty_buy_ui.bg.img_off.tx_off"]
|
||||
self.txDesc = uiMap["activity_bounty_buy_ui.bg.tx_desc"]
|
||||
self.line = uiMap["activity_bounty_buy_ui.bg.line"]
|
||||
self.scrollrectComp = uiMap["activity_bounty_buy_ui.bg.scroll_rect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||
self.btnBuy = uiMap["activity_bounty_buy_ui.bg.btn_buy"]
|
||||
self.txBuy = uiMap["activity_bounty_buy_ui.bg.btn_buy.tx_buy"]
|
||||
self.btnClose = uiMap["activity_bounty_buy_ui.bg.close_btn"]
|
||||
|
||||
self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_PREVIEW_DESC))
|
||||
self.txDesc:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_11))
|
||||
|
||||
self.btnBuy:addClickListener(function()
|
||||
ModuleManager.ActivityManager:buySummerBounty(self.giftId)
|
||||
end)
|
||||
self.btnClose:addClickListener(function()
|
||||
self:closeUI()
|
||||
end)
|
||||
self:addEventListener(EventManager.CUSTOM_EVENT.ACTIVITY_SUMMER_END, function()
|
||||
self:closeUI()
|
||||
end)
|
||||
self:bind(DataManager.ShopData, "isDirty", function()
|
||||
self:closeUI()
|
||||
end)
|
||||
end
|
||||
|
||||
function ActivityUI:onRefresh()
|
||||
self.spineBanner:getSkeletonGraphic().enabled = false
|
||||
self.spineBanner:loadAssetAsync(SPINE_BANNER[self.payType], function()
|
||||
self.spineBanner:getSkeletonGraphic().enabled = true
|
||||
self.spineBanner:playAnim("idle", true, true, true)
|
||||
end, false)
|
||||
self.spineBanner:setAnchoredPositionY(SPINE_POS_Y[self.payType])
|
||||
|
||||
self.bg:setTexture(PANEL_BG[self.payType])
|
||||
self.imgTitle:setSprite(GConst.ATLAS_PATH.COMMON, TITLE_BG[self.payType])
|
||||
self.imgOff:setSprite(GConst.ATLAS_PATH.SHOP, OFF_BG[self.payType])
|
||||
self.line:setSprite(GConst.ATLAS_PATH.ACT_SUMMER, LINE_BG[self.payType])
|
||||
local gift = DataManager.ShopData:getActGiftConfig()[self.giftId]
|
||||
if gift.value then
|
||||
self.imgOff:setActive(true)
|
||||
self.txOff:setText(gift.value .. "%")
|
||||
else
|
||||
self.imgOff:setActive(false)
|
||||
end
|
||||
self.txBuy:setText(GFunc.getFormatPrice(gift.recharge_id))
|
||||
|
||||
local totalRewards = DataManager.ActivityData:getBountyGradeAllRewardSort(self.payType)
|
||||
self.scrollrectComp:addInitCallback(function()
|
||||
return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
|
||||
end)
|
||||
self.scrollrectComp:addRefreshCallback(function(index, cell)
|
||||
cell:refreshByConfig(totalRewards[index])
|
||||
end)
|
||||
self.scrollrectComp:clearCells()
|
||||
self.scrollrectComp:refillCells(#totalRewards)
|
||||
end
|
||||
|
||||
return ActivityUI
|
||||
10
lua/app/ui/activity/activity_bounty_buy_ui.lua.meta
Normal file
10
lua/app/ui/activity/activity_bounty_buy_ui.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2433585b4982fc8439f9ea349d187da2
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
103
lua/app/ui/activity/activity_bounty_comp.lua
Normal file
103
lua/app/ui/activity/activity_bounty_comp.lua
Normal file
@ -0,0 +1,103 @@
|
||||
local ActivityBountyComp = class("ActivityBountyComp", LuaComponent)
|
||||
|
||||
function ActivityBountyComp:init()
|
||||
local uiMap = self:getUIMap()
|
||||
self.txScore = uiMap["bounty_panel.bounty.tx_score"]
|
||||
self.imgProg = uiMap["bounty_panel.bounty.prog.img_prog"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
||||
self.txProg = uiMap["bounty_panel.bounty.prog.tx_prog"]
|
||||
self.txLv = uiMap["bounty_panel.bounty.tx_lv"]
|
||||
self.txLvNum = uiMap["bounty_panel.bounty.tx_lv_num"]
|
||||
self.txFree = uiMap["bounty_panel.title.free.tx_free"]
|
||||
-- 档位1
|
||||
self.txBuyed1 = uiMap["bounty_panel.title.buy1.tx_buyed"]
|
||||
self.btnBuy1 = uiMap["bounty_panel.title.buy1.btn_buy"]
|
||||
self.txBuy1 = uiMap["bounty_panel.title.buy1.btn_buy.tx_buy"]
|
||||
-- 档位2
|
||||
self.txBuyed2 = uiMap["bounty_panel.title.buy2.tx_buyed"]
|
||||
self.btnBuy2 = uiMap["bounty_panel.title.buy2.btn_buy"]
|
||||
self.txBuy2 = uiMap["bounty_panel.title.buy2.btn_buy.tx_buy"]
|
||||
|
||||
self.scrollrectComp = uiMap["bounty_panel.list_bounty"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||
self.progLevel = uiMap["bounty_panel.list_bounty.viewport.content.prog"]
|
||||
self.imgProgLevel = uiMap["bounty_panel.list_bounty.viewport.content.prog.img_prog"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
||||
self.maskLevel = uiMap["bounty_panel.list_bounty.viewport.content.mask_img"]
|
||||
self.lineLevel = uiMap["bounty_panel.list_bounty.viewport.content.line"]
|
||||
self.btnBuyLevel = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level"]
|
||||
self.txBuyLevelNum = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level.tx_num"]
|
||||
self.imgBuyLevelIcon = uiMap["bounty_panel.list_bounty.viewport.content.line.btn_buy_level.icon"]
|
||||
|
||||
self.txFree:setText(I18N:getGlobalText(I18N.GlobalConst.STR_FREE))
|
||||
self.txBuyed1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
|
||||
self.txBuyed2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
|
||||
self.bountyList = DataManager.ActivityData:getBountyCfg()
|
||||
self.scrollrectComp:addInitCallback(function()
|
||||
self.maskLevel:getTransform():SetAsLastSibling()
|
||||
self.lineLevel:getTransform():SetAsLastSibling()
|
||||
return "app/ui/activity/cell/activity_bounty_cell"
|
||||
end)
|
||||
self.scrollrectComp:addRefreshCallback(function(index, cell)
|
||||
cell:refresh(index, self.bountyList[index])
|
||||
end)
|
||||
self.scrollrectComp:clearCells()
|
||||
self.scrollrectComp:refillCells(#self.bountyList)
|
||||
|
||||
self.btnBuy1:addClickListener(function()
|
||||
UIManager:showUI("app/ui/activity/activity_bounty_buy_ui", GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1)
|
||||
end)
|
||||
self.btnBuy2:addClickListener(function()
|
||||
UIManager:showUI("app/ui/activity/activity_bounty_buy_ui", GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2)
|
||||
end)
|
||||
self.btnBuyLevel:addClickListener(function()
|
||||
ModuleManager.ActivityManager:reqBuyBountyLevel()
|
||||
end)
|
||||
end
|
||||
|
||||
function ActivityBountyComp:refresh()
|
||||
self.btnBuyLevel:setActive(DataManager.ActivityData:canBuyBountyLevel())
|
||||
-- 战令积分显示
|
||||
local total = DataManager.ActivityData:getBountyUpgradeScore()
|
||||
local cur = DataManager.ActivityData:getBountyLevelScore()
|
||||
self.imgProg.value = cur / total
|
||||
self.txScore:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_1))
|
||||
self.txProg:setText(cur .. "/" .. total)
|
||||
self.txLv:setText("LV")
|
||||
self.txLvNum:setText(DataManager.ActivityData:getBountyLevel())
|
||||
|
||||
-- 档位展示
|
||||
local curGrade = DataManager.ActivityData:getBountyGrade()
|
||||
self.btnBuy1:setActive(curGrade < GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1)
|
||||
self.btnBuy2:setActive(curGrade < GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2)
|
||||
|
||||
local gift1 = DataManager.ActivityData:getBountyGradeGiftCfg(GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1)
|
||||
local gift2 = DataManager.ActivityData:getBountyGradeGiftCfg(GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2)
|
||||
self.txBuy1:setText(GFunc.getFormatPrice(gift1.recharge_id))
|
||||
self.txBuy2:setText(GFunc.getFormatPrice(gift2.recharge_id))
|
||||
self.txBuyLevelNum:setText(GFunc.getRewardNum(DataManager.ActivityData:getBuyBountyLevelCost()))
|
||||
GFunc.centerImgAndTx(self.imgBuyLevelIcon, self.txBuyLevelNum, 5)
|
||||
|
||||
-- 等级列表
|
||||
self.scrollrectComp:updateAllCell()
|
||||
|
||||
local maxLevel = DataManager.ActivityData:getBountyMaxLevel()
|
||||
local curLevel = DataManager.ActivityData:getBountyLevel()
|
||||
local topRecoveryOffset = self.scrollrectComp:getTopRecoveryOffset()
|
||||
local downRecoveryOffset = self.scrollrectComp:getDownRecoveryOffset()
|
||||
local cellHeight = self.scrollrectComp:getCellHeight()
|
||||
if curLevel >= maxLevel then
|
||||
self.lineLevel:setVisible(false)
|
||||
else
|
||||
self.lineLevel:setVisible(true)
|
||||
self.lineLevel:setAnchoredPositionY(-topRecoveryOffset - curLevel * cellHeight)
|
||||
end
|
||||
self.progLevel:setAnchoredPositionY((topRecoveryOffset + downRecoveryOffset) / 2 - cellHeight / 2 - 10)
|
||||
self.progLevel:setSizeDeltaY(cellHeight * (maxLevel - 1))
|
||||
local percent = (curLevel - 1) / (maxLevel - 1)
|
||||
if percent < 0 then
|
||||
percent = 0
|
||||
end
|
||||
self.imgProgLevel.value = percent
|
||||
self.maskLevel:setAnchoredPositionY(-topRecoveryOffset - curLevel * cellHeight)
|
||||
self.maskLevel:setSizeDeltaY(cellHeight * maxLevel + GConst.UI_SCREEN_HEIGHT)
|
||||
end
|
||||
|
||||
return ActivityBountyComp
|
||||
10
lua/app/ui/activity/activity_bounty_comp.lua.meta
Normal file
10
lua/app/ui/activity/activity_bounty_comp.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6be3caa8b2628cc4eb4bd042b7600484
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
52
lua/app/ui/activity/activity_hero_comp.lua
Normal file
52
lua/app/ui/activity/activity_hero_comp.lua
Normal file
@ -0,0 +1,52 @@
|
||||
local ActivityHeroComp = class("ActivityHeroComp", LuaComponent)
|
||||
|
||||
function ActivityHeroComp:init()
|
||||
local uiMap = self:getUIMap()
|
||||
self.spineBanner = uiMap["hero_panel.spine_banner"]
|
||||
self.txTitle = uiMap["hero_panel.tx_title"]
|
||||
self.popRewardCell1 = uiMap["hero_panel.rewards.pop_reward_cell_1"]
|
||||
self.popRewardCell2 = uiMap["hero_panel.rewards.pop_reward_cell_2"]
|
||||
self.popRewardCell3 = uiMap["hero_panel.rewards.pop_reward_cell_3"]
|
||||
self.txTime = uiMap["hero_panel.tx_time"]
|
||||
self.btnBuy = uiMap["hero_panel.btn_buy"]
|
||||
self.txBuy = uiMap["hero_panel.btn_buy.tx_buy"]
|
||||
self.rewardCells = {}
|
||||
for i = 1, 3 do
|
||||
table.insert(self.rewardCells, uiMap["hero_panel.rewards.pop_reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.POP_REWARD_CELL))
|
||||
end
|
||||
|
||||
self.btnBuy:addClickListener(function()
|
||||
PayManager:purchasePackage(GConst.ActivityConst.HERO_GIFT_ID_1, PayManager.PURCHARSE_TYPE.ACT_GIFT)
|
||||
end)
|
||||
LocalData:recordTodayActSummerWatchedHero()
|
||||
end
|
||||
|
||||
function ActivityHeroComp:refresh()
|
||||
self.spineBanner:playAnimComplete("born", false, true, function()
|
||||
self.spineBanner:playAnim("idle", true, true)
|
||||
end)
|
||||
self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_8))
|
||||
|
||||
local gift = DataManager.ShopData:getActGiftConfig()[GConst.ActivityConst.HERO_GIFT_ID_1]
|
||||
self.txTime:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_18, tostring(gift.limit)))
|
||||
self.txBuy:setText(GFunc.getFormatPrice(gift.recharge_id))
|
||||
for index, cell in ipairs(self.rewardCells) do
|
||||
if gift.reward[index] then
|
||||
cell:setVisible(true)
|
||||
cell:refresh(gift.reward[index].id, gift.reward[index].num, true)
|
||||
else
|
||||
cell:setVisible(false)
|
||||
end
|
||||
end
|
||||
if DataManager.ShopData:getGiftRemainBuyNum(GConst.ActivityConst.HERO_GIFT_ID_1) > 0 then
|
||||
self.btnBuy:setTouchEnable(true)
|
||||
self.btnBuy:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_green_2")
|
||||
self.txBuy:setText(GFunc.getFormatPrice(gift.recharge_id))
|
||||
else
|
||||
self.btnBuy:setTouchEnable(false)
|
||||
self.btnBuy:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
|
||||
self.txBuy:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
|
||||
end
|
||||
end
|
||||
|
||||
return ActivityHeroComp
|
||||
10
lua/app/ui/activity/activity_hero_comp.lua.meta
Normal file
10
lua/app/ui/activity/activity_hero_comp.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acb5324ea144d4e40841f09925c09155
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
112
lua/app/ui/activity/activity_skin_comp.lua
Normal file
112
lua/app/ui/activity/activity_skin_comp.lua
Normal file
@ -0,0 +1,112 @@
|
||||
local ActivitySkinComp = class("ActivitySkinComp", LuaComponent)
|
||||
|
||||
function ActivitySkinComp:init()
|
||||
local uiMap = self:getUIMap()
|
||||
self.txTitle = uiMap["skin_panel.banner.title.tx_title"]
|
||||
self.txBannerDesc1 = uiMap["skin_panel.banner.content.desc1.tx_desc1"]
|
||||
self.txBannerDesc2 = uiMap["skin_panel.banner.content.desc2.tx_desc2"]
|
||||
-- 礼包1
|
||||
self.spineSkin1 = uiMap["skin_panel.skin1.spine_skin1"]
|
||||
self.txDesc1 = uiMap["skin_panel.skin1.bg_title.tx_title"]
|
||||
self.btnBuy1 = uiMap["skin_panel.skin1.btn_buy"]
|
||||
self.txBuy1 = uiMap["skin_panel.skin1.btn_buy.tx_buy"]
|
||||
self.rewardCells1 = {}
|
||||
for i = 1, 3 do
|
||||
table.insert(self.rewardCells1, uiMap["skin_panel.skin1.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL))
|
||||
end
|
||||
-- 礼包2
|
||||
self.spineSkin2 = uiMap["skin_panel.skin2.spine_skin2"]
|
||||
self.txDesc2 = uiMap["skin_panel.skin2.bg_title.tx_title"]
|
||||
self.btnBuy2 = uiMap["skin_panel.skin2.btn_buy"]
|
||||
self.txBuy2 = uiMap["skin_panel.skin2.btn_buy.tx_buy"]
|
||||
self.rewardCells2 = {}
|
||||
for i = 1, 3 do
|
||||
table.insert(self.rewardCells2, uiMap["skin_panel.skin2.rewards.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL))
|
||||
end
|
||||
|
||||
self.btnBuy1:addClickListener(function()
|
||||
PayManager:purchasePackage(GConst.ActivityConst.SKIN_GIFT_ID_1, PayManager.PURCHARSE_TYPE.ACT_GIFT)
|
||||
end)
|
||||
self.btnBuy2:addClickListener(function()
|
||||
PayManager:purchasePackage(GConst.ActivityConst.SKIN_GIFT_ID_2, PayManager.PURCHARSE_TYPE.ACT_GIFT)
|
||||
end)
|
||||
LocalData:recordTodayActSummerWatchedSkin()
|
||||
end
|
||||
|
||||
function ActivitySkinComp:refresh()
|
||||
self.txTitle:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_5))
|
||||
|
||||
-- 礼包1
|
||||
local gift1 = DataManager.ShopData:getActGiftConfig()[GConst.ActivityConst.SKIN_GIFT_ID_1]
|
||||
local skinId1,heroId1
|
||||
for idx, reward in ipairs(gift1.reward) do
|
||||
if ConfigManager:getConfig("item")[reward.id].type == GConst.ItemConst.ITEM_TYPE.SKIN then
|
||||
skinId1 = DataManager.SkinData:getSkinIdByItemId(reward.id)
|
||||
heroId1 = DataManager.SkinData:getHeroIdBySkinId(skinId1)
|
||||
end
|
||||
end
|
||||
if skinId1 and heroId1 then
|
||||
self.spineSkin1:getSkeletonGraphic().enabled = false
|
||||
self.spineSkin1:loadAssetAsync(DataManager.SkinData:getModelId(skinId1), function()
|
||||
self.spineSkin1:getSkeletonGraphic().enabled = true
|
||||
self.spineSkin1:playAnim("idle", true, true, true)
|
||||
end, true)
|
||||
self.txBannerDesc1:setText(DataManager.HeroData:getHeroById(heroId1):getName() .. "-" .. DataManager.SkinData:getName(skinId1) .. "(" .. I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_9) .. ")")
|
||||
end
|
||||
self.txDesc1:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_6))
|
||||
for index, cell in ipairs(self.rewardCells1) do
|
||||
if gift1.reward[index] then
|
||||
cell:setVisible(true)
|
||||
cell:refreshByConfig(gift1.reward[index])
|
||||
else
|
||||
cell:setVisible(false)
|
||||
end
|
||||
end
|
||||
if DataManager.ShopData:getGiftRemainBuyNum(GConst.ActivityConst.SKIN_GIFT_ID_1) > 0 then
|
||||
self.btnBuy1:setTouchEnable(true)
|
||||
self.btnBuy1:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_green_2")
|
||||
self.txBuy1:setText(GFunc.getFormatPrice(gift1.recharge_id))
|
||||
else
|
||||
self.btnBuy1:setTouchEnable(false)
|
||||
self.btnBuy1:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
|
||||
self.txBuy1:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
|
||||
end
|
||||
|
||||
-- 礼包2
|
||||
local gift2 = DataManager.ShopData:getActGiftConfig()[GConst.ActivityConst.SKIN_GIFT_ID_2]
|
||||
local skinId2,heroId2
|
||||
for idx, reward in ipairs(gift2.reward) do
|
||||
if ConfigManager:getConfig("item")[reward.id].type == GConst.ItemConst.ITEM_TYPE.SKIN then
|
||||
skinId2 = DataManager.SkinData:getSkinIdByItemId(reward.id)
|
||||
heroId2 = DataManager.SkinData:getHeroIdBySkinId(skinId2)
|
||||
end
|
||||
end
|
||||
if skinId2 and heroId2 then
|
||||
self.spineSkin2:getSkeletonGraphic().enabled = false
|
||||
self.spineSkin2:loadAssetAsync(DataManager.SkinData:getModelId(skinId2), function()
|
||||
self.spineSkin2:getSkeletonGraphic().enabled = true
|
||||
self.spineSkin2:playAnim("idle", true, true, true)
|
||||
end, true)
|
||||
self.txBannerDesc2:setText(DataManager.HeroData:getHeroById(heroId2):getName() .. "-" .. DataManager.SkinData:getName(skinId2) .. "(" .. I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_9) .. ")")
|
||||
end
|
||||
self.txDesc2:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_7))
|
||||
for index, cell in ipairs(self.rewardCells2) do
|
||||
if gift2.reward[index] then
|
||||
cell:setVisible(true)
|
||||
cell:refreshByConfig(gift2.reward[index])
|
||||
else
|
||||
cell:setVisible(false)
|
||||
end
|
||||
end
|
||||
if DataManager.ShopData:getGiftRemainBuyNum(GConst.ActivityConst.SKIN_GIFT_ID_2) > 0 then
|
||||
self.btnBuy2:setTouchEnable(true)
|
||||
self.btnBuy2:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_green_2")
|
||||
self.txBuy2:setText(GFunc.getFormatPrice(gift2.recharge_id))
|
||||
else
|
||||
self.btnBuy2:setTouchEnable(false)
|
||||
self.btnBuy2:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
|
||||
self.txBuy2:setText(I18N:getGlobalText(I18N.GlobalConst.SHOP_DESC_20))
|
||||
end
|
||||
end
|
||||
|
||||
return ActivitySkinComp
|
||||
10
lua/app/ui/activity/activity_skin_comp.lua.meta
Normal file
10
lua/app/ui/activity/activity_skin_comp.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: efbdbb326ef93fc488aa2aa486acd5aa
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
35
lua/app/ui/activity/activity_task_comp.lua
Normal file
35
lua/app/ui/activity/activity_task_comp.lua
Normal file
@ -0,0 +1,35 @@
|
||||
local ActivityTaskComp = class("ActivityTaskComp", LuaComponent)
|
||||
|
||||
function ActivityTaskComp:init()
|
||||
local uiMap = self:getUIMap()
|
||||
self.txScore = uiMap["task_panel.bounty.tx_score"]
|
||||
self.imgProg = uiMap["task_panel.bounty.prog.img_prog"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
||||
self.txProg = uiMap["task_panel.bounty.prog.tx_prog"]
|
||||
self.txLv = uiMap["task_panel.bounty.tx_lv"]
|
||||
self.txLvNum = uiMap["task_panel.bounty.tx_lv_num"]
|
||||
self.scrollrectComp = uiMap["task_panel.list_task"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||
end
|
||||
|
||||
function ActivityTaskComp:refresh()
|
||||
-- 战令积分显示
|
||||
local total = DataManager.ActivityData:getBountyUpgradeScore()
|
||||
local cur = DataManager.ActivityData:getBountyLevelScore()
|
||||
self.imgProg.value = cur / total
|
||||
self.txScore:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_1))
|
||||
self.txProg:setText(cur .. "/" .. total)
|
||||
self.txLv:setText("LV")
|
||||
self.txLvNum:setText(DataManager.ActivityData:getBountyLevel())
|
||||
|
||||
-- 任务列表
|
||||
local tasks = DataManager.ActivityData:getTaskListSort()
|
||||
self.scrollrectComp:addInitCallback(function()
|
||||
return "app/ui/activity/cell/activity_task_cell"
|
||||
end)
|
||||
self.scrollrectComp:addRefreshCallback(function(index, cell)
|
||||
cell:refresh(tasks[index])
|
||||
end)
|
||||
self.scrollrectComp:clearCells()
|
||||
self.scrollrectComp:refillCells(#tasks)
|
||||
end
|
||||
|
||||
return ActivityTaskComp
|
||||
10
lua/app/ui/activity/activity_task_comp.lua.meta
Normal file
10
lua/app/ui/activity/activity_task_comp.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f79f106fd5bfec40abd342921663365
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
241
lua/app/ui/activity/activity_ui.lua
Normal file
241
lua/app/ui/activity/activity_ui.lua
Normal file
@ -0,0 +1,241 @@
|
||||
local ActivityUI = class("ActivityUI", BaseUI)
|
||||
local COMP_TASK = "app/ui/activity/activity_task_comp"
|
||||
local COMP_BOUNTY = "app/ui/activity/activity_bounty_comp"
|
||||
local COMP_SKIN = "app/ui/activity/activity_skin_comp"
|
||||
local COMP_HERO = "app/ui/activity/activity_hero_comp"
|
||||
|
||||
function ActivityUI:isFullScreen()
|
||||
return false
|
||||
end
|
||||
|
||||
function ActivityUI:getPrefabPath()
|
||||
return "assets/prefabs/ui/activity/activity_ui.prefab"
|
||||
end
|
||||
|
||||
function ActivityUI:onPressBackspace()
|
||||
self:closeUI()
|
||||
end
|
||||
|
||||
function ActivityUI:ctor()
|
||||
self.panelType = GConst.ActivityConst.PANEL_TYPE.TASK -- 默认进入任务页签
|
||||
|
||||
if self.panelType == nil and DataManager.ActivityData:hasTaskRedPoint() then
|
||||
self.panelType = GConst.ActivityConst.PANEL_TYPE.TASK
|
||||
elseif self.panelType == nil and DataManager.ActivityData:hasBountyRedPoint() then
|
||||
self.panelType = GConst.ActivityConst.PANEL_TYPE.BOUNTY
|
||||
elseif self.panelType == nil and DataManager.ActivityData:hasSkinRedPoint() then
|
||||
self.panelType = GConst.ActivityConst.PANEL_TYPE.SKIN
|
||||
elseif self.panelType == nil and DataManager.ActivityData:hasHeroRedPoint() then
|
||||
self.panelType = GConst.ActivityConst.PANEL_TYPE.HERO
|
||||
end
|
||||
end
|
||||
|
||||
function ActivityUI:onLoadRootComplete()
|
||||
local uiMap = self.root:genAllChildren()
|
||||
-- 标题
|
||||
self.imgTitle = uiMap["activity_ui.img_title"]
|
||||
self.txTitle = uiMap["activity_ui.img_title.tx_title"]
|
||||
-- 子界面
|
||||
self.taskPanel = uiMap["activity_ui.task_panel"]
|
||||
self.bountyPanel = uiMap["activity_ui.bounty_panel"]
|
||||
self.skinPanel = uiMap["activity_ui.skin_panel"]
|
||||
self.heroPanel = uiMap["activity_ui.hero_panel"]
|
||||
-- 任务标签
|
||||
self.btnTask = uiMap["activity_ui.common.btns.btn_task"]
|
||||
self.txTask1 = uiMap["activity_ui.common.btns.btn_task.tx_btn"]
|
||||
self.txTask2 = uiMap["activity_ui.common.btns.btn_task.select.tx_select"]
|
||||
self.selectTask = uiMap["activity_ui.common.btns.btn_task.select"]
|
||||
-- 战令标签
|
||||
self.btnBounty = uiMap["activity_ui.common.btns.btn_bounty"]
|
||||
self.txBounty1 = uiMap["activity_ui.common.btns.btn_bounty.tx_btn"]
|
||||
self.txBounty2 = uiMap["activity_ui.common.btns.btn_bounty.select.tx_select"]
|
||||
self.selectBounty = uiMap["activity_ui.common.btns.btn_bounty.select"]
|
||||
-- 皮肤标签
|
||||
self.btnSkin = uiMap["activity_ui.common.btns.btn_skin"]
|
||||
self.txSkin1 = uiMap["activity_ui.common.btns.btn_skin.tx_btn"]
|
||||
self.txSkin2 = uiMap["activity_ui.common.btns.btn_skin.select.tx_select"]
|
||||
self.selectSkin = uiMap["activity_ui.common.btns.btn_skin.select"]
|
||||
-- 英雄标签
|
||||
self.btnHero = uiMap["activity_ui.common.btns.btn_hero"]
|
||||
self.txHero1 = uiMap["activity_ui.common.btns.btn_hero.tx_btn"]
|
||||
self.txHero2 = uiMap["activity_ui.common.btns.btn_hero.select.tx_select"]
|
||||
self.selectHero = uiMap["activity_ui.common.btns.btn_hero.select"]
|
||||
-- 通用
|
||||
self.btnClose = uiMap["activity_ui.common.btn_close"]
|
||||
self.btnHelp = uiMap["activity_ui.countdown.btn_help"]
|
||||
self.txCountdown = uiMap["activity_ui.countdown.content.tx_countdown"]
|
||||
|
||||
self.txTask1:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_NAME))
|
||||
self.txTask2:setText(I18N:getGlobalText(I18N.GlobalConst.TASK_NAME))
|
||||
self.txBounty1:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC))
|
||||
self.txBounty2:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC))
|
||||
self.txSkin1:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_3))
|
||||
self.txSkin2:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_3))
|
||||
self.txHero1:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_4))
|
||||
self.txHero2:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_4))
|
||||
|
||||
self.btnTask:addClickListener(function()
|
||||
self.panelType = GConst.ActivityConst.PANEL_TYPE.TASK
|
||||
self:onRefresh()
|
||||
end)
|
||||
self.btnBounty:addClickListener(function()
|
||||
self.panelType = GConst.ActivityConst.PANEL_TYPE.BOUNTY
|
||||
self:onRefresh()
|
||||
end)
|
||||
self.btnSkin:addClickListener(function()
|
||||
self.panelType = GConst.ActivityConst.PANEL_TYPE.SKIN
|
||||
self:onRefresh()
|
||||
end)
|
||||
self.btnHero:addClickListener(function()
|
||||
self.panelType = GConst.ActivityConst.PANEL_TYPE.HERO
|
||||
self:onRefresh()
|
||||
end)
|
||||
self.btnClose:addClickListener(function()
|
||||
self:closeUI()
|
||||
end)
|
||||
self.btnHelp:addClickListener(function()
|
||||
local params = {
|
||||
type = GConst.TipsConst.HELP_TIPS_TYPE.ARENA,
|
||||
title = I18N:getGlobalText(I18N.GlobalConst.COLLECTION_DESC_11),
|
||||
desc = I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_10),
|
||||
}
|
||||
ModuleManager.TipsManager:showHelpTips(params)
|
||||
end)
|
||||
self:addEventListener(EventManager.CUSTOM_EVENT.ACTIVITY_SUMMER_END, function()
|
||||
self:closeUI()
|
||||
end)
|
||||
self:bind(DataManager.ActivityData, "isDirty", function()
|
||||
self:onRefresh()
|
||||
end)
|
||||
end
|
||||
|
||||
function ActivityUI:onRefresh()
|
||||
self.txTitle:setText(DataManager.ActivityData:getActTitle())
|
||||
self.imgTitle:setSprite(DataManager.ActivityData:getActTitleBg())
|
||||
|
||||
-- 倒计时
|
||||
if self.actCountdownSid then
|
||||
self.txCountdown:unscheduleGlobal(self.actCountdownSid)
|
||||
end
|
||||
self.txCountdown:setText(GFunc.getTimeStrWithHMS2(DataManager.ActivityData:getEndRemainTime()))
|
||||
self.actCountdownSid = self.txCountdown:scheduleGlobal(function()
|
||||
self.txCountdown:setText(GFunc.getTimeStrWithHMS2(DataManager.ActivityData:getEndRemainTime()))
|
||||
end, 1)
|
||||
|
||||
if self.panelType == GConst.ActivityConst.PANEL_TYPE.TASK then
|
||||
self:showTaskInfo()
|
||||
elseif self.panelType == GConst.ActivityConst.PANEL_TYPE.BOUNTY then
|
||||
self:showBountyInfo()
|
||||
elseif self.panelType == GConst.ActivityConst.PANEL_TYPE.SKIN then
|
||||
self:showSkinInfo()
|
||||
elseif self.panelType == GConst.ActivityConst.PANEL_TYPE.HERO then
|
||||
self:showHeroInfo()
|
||||
end
|
||||
self:refreshRedPoint()
|
||||
end
|
||||
|
||||
-- 刷新标签红点
|
||||
function ActivityUI:refreshRedPoint()
|
||||
if DataManager.ActivityData:hasTaskRedPoint() then
|
||||
self.btnTask:addRedPoint(-55, 0, 0.6)
|
||||
else
|
||||
self.btnTask:removeRedPoint()
|
||||
end
|
||||
if DataManager.ActivityData:hasBountyRedPoint() then
|
||||
self.btnBounty:addRedPoint(-55, 0, 0.6)
|
||||
else
|
||||
self.btnBounty:removeRedPoint()
|
||||
end
|
||||
if DataManager.ActivityData:hasSkinRedPoint() then
|
||||
self.btnSkin:addRedPoint(-55, 0, 0.6)
|
||||
else
|
||||
self.btnSkin:removeRedPoint()
|
||||
end
|
||||
if DataManager.ActivityData:hasHeroRedPoint() then
|
||||
self.btnHero:addRedPoint(-55, 0, 0.6)
|
||||
else
|
||||
self.btnHero:removeRedPoint()
|
||||
end
|
||||
end
|
||||
|
||||
function ActivityUI:showTaskInfo()
|
||||
self.taskPanel:setActive(true)
|
||||
self.selectTask:setActive(true)
|
||||
self.bountyPanel:setActive(false)
|
||||
self.selectBounty:setActive(false)
|
||||
self.skinPanel:setActive(false)
|
||||
self.selectSkin:setActive(false)
|
||||
self.heroPanel:setActive(false)
|
||||
self.selectHero:setActive(false)
|
||||
self.btnHelp:setActive(true)
|
||||
|
||||
if not self.compTask then
|
||||
self.taskPanel:initPrefabHelper()
|
||||
self.taskPanel:genAllChildren()
|
||||
self.compTask = self.taskPanel:addLuaComponent(COMP_TASK)
|
||||
end
|
||||
|
||||
self.compTask:refresh()
|
||||
end
|
||||
|
||||
function ActivityUI:showBountyInfo()
|
||||
self.taskPanel:setActive(false)
|
||||
self.selectTask:setActive(false)
|
||||
self.bountyPanel:setActive(true)
|
||||
self.selectBounty:setActive(true)
|
||||
self.skinPanel:setActive(false)
|
||||
self.selectSkin:setActive(false)
|
||||
self.heroPanel:setActive(false)
|
||||
self.selectHero:setActive(false)
|
||||
self.btnHelp:setActive(true)
|
||||
|
||||
if not self.compBounty then
|
||||
self.bountyPanel:initPrefabHelper()
|
||||
self.bountyPanel:genAllChildren()
|
||||
self.compBounty = self.bountyPanel:addLuaComponent(COMP_BOUNTY)
|
||||
end
|
||||
|
||||
self.compBounty:refresh()
|
||||
end
|
||||
|
||||
function ActivityUI:showSkinInfo()
|
||||
self.taskPanel:setActive(false)
|
||||
self.selectTask:setActive(false)
|
||||
self.bountyPanel:setActive(false)
|
||||
self.selectBounty:setActive(false)
|
||||
self.skinPanel:setActive(true)
|
||||
self.selectSkin:setActive(true)
|
||||
self.heroPanel:setActive(false)
|
||||
self.selectHero:setActive(false)
|
||||
self.btnHelp:setActive(false)
|
||||
|
||||
if not self.compSkin then
|
||||
self.skinPanel:initPrefabHelper()
|
||||
self.skinPanel:genAllChildren()
|
||||
self.compSkin = self.skinPanel:addLuaComponent(COMP_SKIN)
|
||||
end
|
||||
|
||||
self.compSkin:refresh()
|
||||
end
|
||||
|
||||
function ActivityUI:showHeroInfo()
|
||||
self.taskPanel:setActive(false)
|
||||
self.selectTask:setActive(false)
|
||||
self.bountyPanel:setActive(false)
|
||||
self.selectBounty:setActive(false)
|
||||
self.skinPanel:setActive(false)
|
||||
self.selectSkin:setActive(false)
|
||||
self.heroPanel:setActive(true)
|
||||
self.selectHero:setActive(true)
|
||||
self.btnHelp:setActive(false)
|
||||
|
||||
if not self.compHero then
|
||||
self.heroPanel:initPrefabHelper()
|
||||
self.heroPanel:genAllChildren()
|
||||
self.compHero = self.heroPanel:addLuaComponent(COMP_HERO)
|
||||
end
|
||||
|
||||
self.compHero:refresh()
|
||||
end
|
||||
|
||||
return ActivityUI
|
||||
10
lua/app/ui/activity/activity_ui.lua.meta
Normal file
10
lua/app/ui/activity/activity_ui.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0c526726984e51544a3c4431f87407a6
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
8
lua/app/ui/activity/cell.meta
Normal file
8
lua/app/ui/activity/cell.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1c4d674ecc75bed47a3147c849d209d8
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
60
lua/app/ui/activity/cell/activity_bounty_cell.lua
Normal file
60
lua/app/ui/activity/cell/activity_bounty_cell.lua
Normal file
@ -0,0 +1,60 @@
|
||||
local ActivityBountyCell = class("ActivityBountyCell", BaseCell)
|
||||
|
||||
function ActivityBountyCell:init()
|
||||
local uiMap = self:getUIMap()
|
||||
self.txLevel = uiMap["activity_bounty_cell.level.tx_level"]
|
||||
self.rewardCell1 = uiMap["activity_bounty_cell.reward_cell_1"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
|
||||
self.rewardCell2 = uiMap["activity_bounty_cell.reward_cell_2"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
|
||||
self.rewardCell3 = uiMap["activity_bounty_cell.reward_cell_3"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
|
||||
end
|
||||
|
||||
function ActivityBountyCell:refresh(level, data)
|
||||
self.gradeData = data
|
||||
self.txLevel:setText(level)
|
||||
|
||||
local isGet
|
||||
local curGrade = DataManager.ActivityData:getBountyGrade()
|
||||
|
||||
isGet = DataManager.ActivityData:isReceivedBountyReward(level, GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE)
|
||||
self.rewardCell1:refreshByConfig(DataManager.ActivityData:getBountyGradeReward(level, GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE), isGet, isGet)
|
||||
self.rewardCell1:showLock(curGrade < GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE)
|
||||
if DataManager.ActivityData:canGetBountyReward(level, GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE) then
|
||||
self.rewardCell1.baseObject:addRedPoint(50, 50, 0.6)
|
||||
self.rewardCell1:addClickListener(function()
|
||||
self:onClickReward(GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE)
|
||||
end)
|
||||
else
|
||||
self.rewardCell1.baseObject:removeRedPoint()
|
||||
end
|
||||
|
||||
isGet = DataManager.ActivityData:isReceivedBountyReward(level, GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1)
|
||||
self.rewardCell2:refreshByConfig(DataManager.ActivityData:getBountyGradeReward(level, GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1), isGet, isGet)
|
||||
self.rewardCell2:showLock(curGrade < GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1)
|
||||
if DataManager.ActivityData:canGetBountyReward(level, GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1) then
|
||||
self.rewardCell2.baseObject:addRedPoint(50, 50, 0.6)
|
||||
self.rewardCell2:addClickListener(function()
|
||||
self:onClickReward(GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1)
|
||||
end)
|
||||
else
|
||||
self.rewardCell2.baseObject:removeRedPoint()
|
||||
end
|
||||
|
||||
isGet = DataManager.ActivityData:isReceivedBountyReward(level, GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2)
|
||||
self.rewardCell3:refreshByConfig(DataManager.ActivityData:getBountyGradeReward(level, GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2), isGet, isGet)
|
||||
self.rewardCell3:showLock(curGrade < GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2)
|
||||
if DataManager.ActivityData:canGetBountyReward(level, GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2) then
|
||||
self.rewardCell3.baseObject:addRedPoint(50, 50, 0.6)
|
||||
self.rewardCell3:addClickListener(function()
|
||||
self:onClickReward(GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2)
|
||||
end)
|
||||
else
|
||||
self.rewardCell3.baseObject:removeRedPoint()
|
||||
end
|
||||
end
|
||||
|
||||
-- 领取奖励
|
||||
function ActivityBountyCell:onClickReward(grade)
|
||||
ModuleManager.ActivityManager:reqSummerBountyReward(self.gradeData.id, grade)
|
||||
end
|
||||
|
||||
return ActivityBountyCell
|
||||
10
lua/app/ui/activity/cell/activity_bounty_cell.lua.meta
Normal file
10
lua/app/ui/activity/cell/activity_bounty_cell.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 306878aa195006a4786dbeeea3b520d9
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
64
lua/app/ui/activity/cell/activity_task_cell.lua
Normal file
64
lua/app/ui/activity/cell/activity_task_cell.lua
Normal file
@ -0,0 +1,64 @@
|
||||
local ActivityTaskCell = class("ActivityTaskCell", BaseCell)
|
||||
local TASK_BG = {
|
||||
{GConst.ATLAS_PATH.TASK, "task_bg_2"},
|
||||
{GConst.ATLAS_PATH.ACT_SUMMER, "act_summer_bg_2"},
|
||||
}
|
||||
local TASK_ICON_BG = {
|
||||
{GConst.ATLAS_PATH.TASK, "task_bg_4"},
|
||||
{GConst.ATLAS_PATH.ACT_SUMMER, "act_summer_board_1"},
|
||||
}
|
||||
|
||||
function ActivityTaskCell:init()
|
||||
local uiMap = self:getUIMap()
|
||||
self.imgTaskBg = uiMap["activity_task_cell.img_task_bg"]
|
||||
self.imgTask = uiMap["activity_task_cell.img_task_bg.img_task"]
|
||||
self.txDesc = uiMap["activity_task_cell.tx_desc"]
|
||||
self.imgProg = uiMap["activity_task_cell.prog.img_prog"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
||||
self.txProg = uiMap["activity_task_cell.prog.tx_prog"]
|
||||
self.txRewardName = uiMap["activity_task_cell.tx_reward_name"]
|
||||
self.txNum = uiMap["activity_task_cell.tx_num"]
|
||||
self.finish = uiMap["activity_task_cell.finish"]
|
||||
self.txFinish = uiMap["activity_task_cell.finish.bg.tx_finish"]
|
||||
|
||||
self:addClickListener(function()
|
||||
if DataManager.ActivityData:canGetTaskReward(self.taskId) and not DataManager.ActivityData:isReceivedTaskReward(self.taskId) then
|
||||
ModuleManager.ActivityManager:reqSummerTaskReward(self.taskId)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
function ActivityTaskCell:refresh(id)
|
||||
self.taskId = id
|
||||
local total = DataManager.ActivityData:getTaskTarget(self.taskId)
|
||||
local cur = DataManager.ActivityData:getTaskProgress(self.taskId)
|
||||
self.imgTask:setSprite(GConst.ATLAS_PATH.ICON_TASK, DataManager.ActivityData:getTaskIcon(self.taskId))
|
||||
self.txDesc:setText(DataManager.ActivityData:getTaskDesc(self.taskId))
|
||||
self.imgProg.value = cur / total
|
||||
self.txProg:setText(cur .. "/" .. total)
|
||||
self.txRewardName:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_16))
|
||||
self.txNum:setText(DataManager.ActivityData:getTaskRewardNum(self.taskId))
|
||||
self.txFinish:setText(I18N:getGlobalText(I18N.GlobalConst.STR_COMPLETED))
|
||||
|
||||
self.finish:setActive(false)
|
||||
self.baseObject:removeRedPoint()
|
||||
if DataManager.ActivityData:canGetTaskReward(self.taskId) then
|
||||
-- 已完成
|
||||
if DataManager.ActivityData:isReceivedTaskReward(self.taskId) then
|
||||
-- 已领取
|
||||
self.baseObject:setSprite(TASK_BG[1][1], TASK_BG[1][2])
|
||||
self.imgTaskBg:setSprite(TASK_ICON_BG[1][1], TASK_ICON_BG[1][2])
|
||||
self.finish:setActive(true)
|
||||
else
|
||||
-- 未领取
|
||||
self.baseObject:setSprite(TASK_BG[2][1], TASK_BG[2][2])
|
||||
self.imgTaskBg:setSprite(TASK_ICON_BG[2][1], TASK_ICON_BG[2][2])
|
||||
self.baseObject:addRedPoint(260, 70, 0.8)
|
||||
end
|
||||
else
|
||||
--未完成
|
||||
self.baseObject:setSprite(TASK_BG[1][1], TASK_BG[1][2])
|
||||
self.imgTaskBg:setSprite(TASK_ICON_BG[1][1], TASK_ICON_BG[1][2])
|
||||
end
|
||||
end
|
||||
|
||||
return ActivityTaskCell
|
||||
10
lua/app/ui/activity/cell/activity_task_cell.lua.meta
Normal file
10
lua/app/ui/activity/cell/activity_task_cell.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 95f71fc79d8d6ce4485129fac274d448
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
@ -12,6 +12,7 @@ function RewardCell:init()
|
||||
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.lock = uiMap["reward_cell.lock"]
|
||||
-- 首通
|
||||
self.firstPass = uiMap["reward_cell.first"]
|
||||
self.firstPassTx = uiMap["reward_cell.first.tx_first"]
|
||||
@ -36,9 +37,9 @@ function RewardCell:refresh(reward)
|
||||
if info == nil then
|
||||
return
|
||||
end
|
||||
self:_refreshItem(info, reward.item.count)
|
||||
self.rewardId = reward.item.id
|
||||
self.rewardType = reward.type
|
||||
self:_refreshItem(info, reward.item.count)
|
||||
else
|
||||
self.rewardId = nil
|
||||
end
|
||||
@ -52,9 +53,9 @@ function RewardCell:refreshByConfig(reward, mask, check)
|
||||
if info == nil then
|
||||
return
|
||||
end
|
||||
self:_refreshItem(info, reward.num)
|
||||
self.rewardId = reward.id
|
||||
self.rewardType = reward.type
|
||||
self:_refreshItem(info, reward.num)
|
||||
else
|
||||
self.rewardId = nil
|
||||
end
|
||||
@ -74,6 +75,7 @@ function RewardCell:refreshItemById(itemId, count, mask, check)
|
||||
end
|
||||
|
||||
function RewardCell:_refreshItem(info, count)
|
||||
self.lock:setVisible(false)
|
||||
self.numTx:setVisible(true)
|
||||
self.frameBg:setSprite(GConst.ATLAS_PATH.ICON_ITEM, GConst.FRAME_QLT[info.qlt])
|
||||
if count and count > 0 then
|
||||
@ -86,6 +88,9 @@ function RewardCell:_refreshItem(info, count)
|
||||
self.numTx:setText(GConst.EMPTY_STRING)
|
||||
end
|
||||
if info.type == GConst.ItemConst.ITEM_TYPE.HERO_FRAGMENT then
|
||||
-- 英雄碎片道具
|
||||
self.skin:setVisible(false)
|
||||
self.fragment:setVisible(true)
|
||||
local heroInfo = ConfigManager:getConfig("hero")[info.parameter]
|
||||
if heroInfo then
|
||||
self.icon:setSprite(GConst.ATLAS_PATH.ICON_HERO, heroInfo.icon)
|
||||
@ -97,14 +102,31 @@ function RewardCell:_refreshItem(info, count)
|
||||
self.sImg:setVisible(false)
|
||||
self.matchImg:setVisible(false)
|
||||
end
|
||||
self.fragment:setVisible(true)
|
||||
elseif info.type == GConst.ItemConst.ITEM_TYPE.SKIN then
|
||||
-- 皮肤道具
|
||||
self.skin:setVisible(true)
|
||||
self.matchImg:setVisible(false)
|
||||
self.fragment:setVisible(false)
|
||||
local skinInfo = ConfigManager:getConfig("skin")[info.parameter]
|
||||
if skinInfo then
|
||||
self.skin:setVisible(true)
|
||||
self.sImg:setVisible(skinInfo.qlt >= 4)
|
||||
self.icon:setSprite(GConst.ATLAS_PATH.ICON_HERO, skinInfo.icon)
|
||||
self.skin:setSprite(GConst.ATLAS_PATH.ICON_HERO, "frame_dec_" .. skinInfo.qlt)
|
||||
self.skinQlt:setSprite(GConst.ATLAS_PATH.HERO, "hero_skin_" .. skinInfo.qlt)
|
||||
self.frameBg:setSprite(GConst.ATLAS_PATH.ICON_ITEM, GConst.FRAME_QLT[skinInfo.qlt])
|
||||
else
|
||||
self.icon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha")
|
||||
self.sImg:setVisible(false)
|
||||
end
|
||||
else
|
||||
-- 其他
|
||||
self.icon:setSprite(GConst.ATLAS_PATH.ICON_ITEM, info.icon)
|
||||
self.fragment:setVisible(false)
|
||||
self.sImg:setVisible(false)
|
||||
self.matchImg:setVisible(false)
|
||||
self.skin:setVisible(false)
|
||||
end
|
||||
self:showSkin(info.type == GConst.ItemConst.ITEM_TYPE.SKIN)
|
||||
end
|
||||
|
||||
function RewardCell:setNumTx(str)
|
||||
@ -175,15 +197,9 @@ function RewardCell:showFirstPass(show)
|
||||
end
|
||||
end
|
||||
|
||||
-- 展示皮肤标记
|
||||
function RewardCell:showSkin(show)
|
||||
self.skin:setVisible(show == true)
|
||||
if show then
|
||||
local qlt = ConfigManager:getConfig("item")[self.rewardId]
|
||||
self.skin:setSprite(GConst.ATLAS_PATH.ICON_HERO, "frame_dec_" .. qlt)
|
||||
self.skinQlt:setSprite(GConst.ATLAS_PATH.HERO, "hero_skin_" .. qlt)
|
||||
self.sImg:setVisible(qlt >= 4)
|
||||
end
|
||||
-- 展示锁定标记
|
||||
function RewardCell:showLock(show)
|
||||
self.lock:setVisible(show == true)
|
||||
end
|
||||
|
||||
return RewardCell
|
||||
24
lua/app/ui/main_city/cell/side_bar_activity_cell.lua
Normal file
24
lua/app/ui/main_city/cell/side_bar_activity_cell.lua
Normal file
@ -0,0 +1,24 @@
|
||||
local SideBarBaseCellComp = require "app/ui/main_city/cell/side_bar_base_cell"
|
||||
local SideBarActivityCell = class("SideBarActivityCell", SideBarBaseCellComp)
|
||||
|
||||
function SideBarActivityCell:getModuleKey()
|
||||
return ModuleManager.MODULE_KEY.ACTIVITY
|
||||
end
|
||||
|
||||
function SideBarActivityCell:getIsOpen()
|
||||
return DataManager.ActivityData:isOpen()
|
||||
end
|
||||
|
||||
function SideBarActivityCell:getSpineName()
|
||||
return "ui_main_btn_act_summer"
|
||||
end
|
||||
|
||||
function SideBarActivityCell:onClick()
|
||||
ModuleManager.ActivityManager:showActivityUI()
|
||||
end
|
||||
|
||||
function SideBarActivityCell:getIsShowRedPoint()
|
||||
return DataManager.ActivityData:hasEntryRedPoint()
|
||||
end
|
||||
|
||||
return SideBarActivityCell
|
||||
10
lua/app/ui/main_city/cell/side_bar_activity_cell.lua.meta
Normal file
10
lua/app/ui/main_city/cell/side_bar_activity_cell.lua.meta
Normal file
@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 17647bcfe606b834e9aca8d6c64249aa
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||
@ -17,8 +17,8 @@ function PopRewardCell:refresh(id, num, showBg)
|
||||
if cfgInfo then
|
||||
self.bg:setVisible(showBg)
|
||||
if cfgInfo.type == GConst.ItemConst.ITEM_TYPE.HERO_FRAGMENT then -- 英雄展示
|
||||
self.itemCell:getBaseObject():setVisible(false)
|
||||
self.popHeroCell:setVisible(true)
|
||||
self.itemCell:getBaseObject():setActive(false)
|
||||
self.popHeroCell:getBaseObject():setActive(true)
|
||||
|
||||
local heroEntity = DataManager.HeroData:getHeroById(id)
|
||||
if heroEntity then
|
||||
@ -31,8 +31,8 @@ function PopRewardCell:refresh(id, num, showBg)
|
||||
end)
|
||||
self.descTx:setText(ModuleManager.HeroManager:getHeroName(id))
|
||||
else -- 通用道具
|
||||
self.itemCell:getBaseObject():setVisible(true)
|
||||
self.popHeroCell:setVisible(false)
|
||||
self.itemCell:getBaseObject():setActive(true)
|
||||
self.popHeroCell:getBaseObject():setActive(false)
|
||||
|
||||
self.itemCell:refreshByCfg(id, 0)
|
||||
self.itemCell:setNum("")
|
||||
|
||||
@ -1,6 +1,479 @@
|
||||
local ActivityData = class("ActivityData", BaseData)
|
||||
|
||||
function ActivityData:init(data)
|
||||
-- 活动id,目前只有这一个活动
|
||||
local ACT_ID = 106
|
||||
local ACT_DAYS = 7
|
||||
|
||||
function ActivityData:ctor()
|
||||
self.data.isDirty = false
|
||||
end
|
||||
|
||||
function ActivityData:init()
|
||||
self.actData = {}
|
||||
|
||||
ModuleManager.ActivityManager:reqSummerData()
|
||||
end
|
||||
|
||||
function ActivityData:setDirty()
|
||||
self.data.isDirty = not self.data.isDirty
|
||||
end
|
||||
|
||||
function ActivityData:isOpen()
|
||||
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.ACTIVITY, true) then
|
||||
return false
|
||||
end
|
||||
if #self:getActiveIdList() <= 0 then
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
-- 获取活动时间配置
|
||||
function ActivityData:getActCfg()
|
||||
return ConfigManager:getConfig("activity")[ACT_ID]
|
||||
end
|
||||
|
||||
-- 获取活动战令配置
|
||||
function ActivityData:getBountyCfg()
|
||||
if self.bountyCfg == nil then
|
||||
self.bountyCfg = {}
|
||||
for id, data in pairs(ConfigManager:getConfig("activity_bounty_level")) do
|
||||
if data.act_id == ACT_ID then
|
||||
data.id = id
|
||||
table.insert(self.bountyCfg, data)
|
||||
end
|
||||
end
|
||||
table.sort(self.bountyCfg, function (a, b)
|
||||
return a.id < b.id
|
||||
end)
|
||||
end
|
||||
|
||||
return self.bountyCfg
|
||||
end
|
||||
|
||||
-- 获取当前开启的活动id列表
|
||||
function ActivityData:getActiveIdList()
|
||||
local result = {}
|
||||
for id, data in pairs(ConfigManager:getConfig("activity")) do
|
||||
if self:isInActiveTime() then
|
||||
table.insert(result, id)
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
-- 是否在活动时间内
|
||||
function ActivityData:isInActiveTime()
|
||||
if self.actData.activated_at == nil then
|
||||
return false
|
||||
end
|
||||
|
||||
local startTime = Time:getBeginningOfOneDay(self.actData.activated_at // 1000)
|
||||
local endTime = startTime + ACT_DAYS * 24 * 60 * 60
|
||||
return Time:getServerTime() >= startTime and Time:getServerTime() <= endTime
|
||||
end
|
||||
|
||||
-- 获取活动开启剩余时间(秒)
|
||||
function ActivityData:getStartRemainTime()
|
||||
local startTime = Time:getCertainTimeByStr(self:getActCfg().start_time)
|
||||
return startTime - Time:getServerTime()
|
||||
end
|
||||
|
||||
-- 获取活动结束剩余时间(秒)
|
||||
function ActivityData:getEndRemainTime()
|
||||
local startTime = Time:getBeginningOfOneDay(self.actData.activated_at // 1000)
|
||||
local endTime = startTime + ACT_DAYS * 24 * 60 * 60
|
||||
return math.floor(endTime) - Time:getServerTime()
|
||||
end
|
||||
|
||||
-- 当前为活动第几天
|
||||
function ActivityData:getActDay()
|
||||
if self.actData == nil then
|
||||
return 0
|
||||
end
|
||||
|
||||
local days = Time:getDistanceDays(self.actData.activated_at // 1000)
|
||||
if days < 0 then
|
||||
days = -days
|
||||
end
|
||||
return days + 1
|
||||
end
|
||||
|
||||
-- 获取活动标题
|
||||
function ActivityData:getActTitle()
|
||||
return I18N:getGlobalText(I18N.GlobalConst.ACT_DESC_2)
|
||||
end
|
||||
|
||||
-- 获取活动标题背景
|
||||
function ActivityData:getActTitleBg()
|
||||
return GConst.ATLAS_PATH.ACT_SUMMER, "act_summer_title_1"
|
||||
end
|
||||
|
||||
-- 是否有入口红点
|
||||
function ActivityData:hasEntryRedPoint()
|
||||
return self:hasTaskRedPoint() or self:hasBountyRedPoint() or self:hasSkinRedPoint() or self:hasHeroRedPoint()
|
||||
end
|
||||
|
||||
-- 获取活动数据成功
|
||||
function ActivityData:onGetActData(data)
|
||||
self.actData = data
|
||||
|
||||
-- 注册任务进度监听
|
||||
if self:isInActiveTime() then
|
||||
for id, data in ipairs(ConfigManager:getConfig("activity_bounty_task")) do
|
||||
ModuleManager.TaskManager:registerTask("ActivityData", data.type, function(count)
|
||||
self:addTaskProgress(data.type, count)
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
if EDITOR_MODE then
|
||||
Logger.logHighlight("夏日活动:".. self:getActDay())
|
||||
Logger.printTable(data)
|
||||
end
|
||||
|
||||
ModuleManager.ActivityManager:initSummerTimer()
|
||||
|
||||
self:setDirty()
|
||||
end
|
||||
|
||||
-- 任务--------------------------------------------------------------------------------------------------
|
||||
|
||||
-- 获取今日任务列表
|
||||
function ActivityData:getTaskListSort()
|
||||
local canGet = {}
|
||||
local unfinish = {}
|
||||
local result = {}
|
||||
|
||||
for index, id in ipairs(table.keys(ConfigManager:getConfig("activity_bounty_task"))) do
|
||||
if self:canGetTaskReward(id) then
|
||||
-- 已完成
|
||||
if self:isReceivedTaskReward(id) then
|
||||
-- 已领取
|
||||
table.insert(result, id)
|
||||
else
|
||||
-- 未领取
|
||||
table.insert(canGet, id)
|
||||
end
|
||||
else
|
||||
--未完成
|
||||
table.insert(unfinish, id)
|
||||
end
|
||||
end
|
||||
|
||||
unfinish = table.addArray(canGet, unfinish)
|
||||
result = table.addArray(unfinish, result)
|
||||
|
||||
return result
|
||||
end
|
||||
|
||||
-- 获取任务目标
|
||||
function ActivityData:getTaskTarget(id)
|
||||
return ConfigManager:getConfig("activity_bounty_task")[id].number[self:getTaskStage(id)]
|
||||
end
|
||||
|
||||
-- 获取任务奖励
|
||||
function ActivityData:getTaskRewardNum(id)
|
||||
return ConfigManager:getConfig("activity_bounty_task")[id].reward[self:getTaskStage(id)]
|
||||
end
|
||||
|
||||
-- 获取任务icon
|
||||
function ActivityData:getTaskIcon(id)
|
||||
return ConfigManager:getConfig("activity_bounty_task")[id].icon
|
||||
end
|
||||
|
||||
-- 获取任务描述
|
||||
function ActivityData:getTaskDesc(id)
|
||||
local cfg = I18N:getConfig("activity_bounty_task")
|
||||
if cfg == nil then
|
||||
return GConst.EMPTY_STRING
|
||||
end
|
||||
return cfg[id].desc
|
||||
end
|
||||
|
||||
-- 获取任务类型
|
||||
function ActivityData:getTaskType(id)
|
||||
return ConfigManager:getConfig("activity_bounty_task")[id].type
|
||||
end
|
||||
|
||||
-- 获取任务总阶段数
|
||||
function ActivityData:getTaskTotalStageNum(id)
|
||||
local cfg = ConfigManager:getConfig("activity_bounty_task")[id]
|
||||
if #cfg.number ~= #cfg.reward then
|
||||
Logger.logError("活动任务阶段和奖励数量不一致,让策划检查配置!")
|
||||
end
|
||||
|
||||
return #cfg.number
|
||||
end
|
||||
|
||||
-- 获取任务所处阶段
|
||||
function ActivityData:getTaskStage(id)
|
||||
local stage = 1
|
||||
local maxStage = self:getTaskTotalStageNum(id)
|
||||
stage = self:getTaskClaimedStage(id) + 1
|
||||
if stage > maxStage then
|
||||
stage = maxStage
|
||||
end
|
||||
return stage
|
||||
end
|
||||
|
||||
-- 获取任务进度
|
||||
function ActivityData:getTaskProgress(id)
|
||||
local taskType = self:getTaskType(id)
|
||||
if self.actData and self.actData.task_info and self.actData.task_info.summer_task and self.actData.task_info.summer_task[taskType] then
|
||||
return self.actData.task_info.summer_task[taskType]
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
-- 获取任务已领取的最大阶段
|
||||
function ActivityData:getTaskClaimedStage(id)
|
||||
local taskType = self:getTaskType(id)
|
||||
if self.actData and self.actData.task_info and self.actData.task_info.claimed_stage and self.actData.task_info.claimed_stage[taskType] then
|
||||
return self.actData.task_info.claimed_stage[taskType]
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
-- 任务是否完成
|
||||
function ActivityData:canGetTaskReward(id)
|
||||
return self:getTaskProgress(id) >= self:getTaskTarget(id)
|
||||
end
|
||||
|
||||
-- 任务奖励是否已领取
|
||||
function ActivityData:isReceivedTaskReward(id)
|
||||
return self:getTaskClaimedStage(id) >= self:getTaskStage(id)
|
||||
end
|
||||
|
||||
-- 是否有任务红点
|
||||
function ActivityData:hasTaskRedPoint()
|
||||
for index, id in ipairs(table.keys(ConfigManager:getConfig("activity_bounty_task"))) do
|
||||
if self:canGetTaskReward(id) and not self:isReceivedTaskReward(id) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- 添加任务进度
|
||||
function ActivityData:addTaskProgress(taskType, count)
|
||||
if self.actData.task_info.summer_task[taskType] == nil then
|
||||
self.actData.task_info.summer_task[taskType] = 0
|
||||
end
|
||||
self.actData.task_info.summer_task[taskType] = self.actData.task_info.summer_task[taskType] + count
|
||||
|
||||
self:setDirty()
|
||||
end
|
||||
|
||||
-- 领取任务奖励成功
|
||||
function ActivityData:onReceivedTaskReward(id, getMaxStage, level, exp)
|
||||
local taskType = self:getTaskType(id)
|
||||
self.actData.task_info.claimed_stage[taskType] = getMaxStage
|
||||
self.actData.level = level
|
||||
self.actData.exp = exp
|
||||
self:setDirty()
|
||||
end
|
||||
|
||||
-- 战令--------------------------------------------------------------------------------------------------
|
||||
|
||||
-- 获取战令档位,0免费档,1、2付费档
|
||||
function ActivityData:getBountyGrade()
|
||||
if DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.ActivityConst.BOUNTY_GIFT_ID_2) > 0 then
|
||||
return GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2
|
||||
end
|
||||
if DataManager.ShopData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, GConst.ActivityConst.BOUNTY_GIFT_ID_1) > 0 then
|
||||
return GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1
|
||||
end
|
||||
|
||||
return GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE
|
||||
end
|
||||
|
||||
-- 获取战令档位礼包配置
|
||||
function ActivityData:getBountyGradeGiftCfg(gradeType)
|
||||
if gradeType == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1 then
|
||||
return DataManager.ShopData:getActGiftConfig()[GConst.ActivityConst.BOUNTY_GIFT_ID_1]
|
||||
elseif gradeType == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2 then
|
||||
return DataManager.ShopData:getActGiftConfig()[GConst.ActivityConst.BOUNTY_GIFT_ID_2]
|
||||
end
|
||||
end
|
||||
|
||||
-- 战令最大等级
|
||||
function ActivityData:getBountyMaxLevel()
|
||||
return #self:getBountyCfg()
|
||||
end
|
||||
|
||||
-- 获取战令等级
|
||||
function ActivityData:getBountyLevel()
|
||||
if self.actData == nil or self.actData.level == nil then
|
||||
return 0
|
||||
end
|
||||
return self.actData.level
|
||||
end
|
||||
|
||||
-- 获取当前等级战令积分
|
||||
function ActivityData:getBountyLevelScore()
|
||||
if self.actData == nil or self.actData.exp == nil then
|
||||
return 0
|
||||
end
|
||||
return self.actData.exp
|
||||
end
|
||||
|
||||
-- 获取当前升级所需总积分
|
||||
function ActivityData:getBountyUpgradeScore()
|
||||
return self:getBountyCfg()[self:getBountyLevel()].exp
|
||||
end
|
||||
|
||||
-- 是否满足购买战令等级的条件
|
||||
function ActivityData:canBuyBountyLevel()
|
||||
return self:getActDay() >= GFunc.getConstIntValue("activity_bounty_day")
|
||||
end
|
||||
|
||||
-- 购买战令等级的消耗
|
||||
function ActivityData:getBuyBountyLevelCost()
|
||||
return GFunc.getConstReward("activity_bounty_cost")
|
||||
end
|
||||
|
||||
-- 是否有战令红点
|
||||
function ActivityData:hasBountyRedPoint()
|
||||
local curLevel = self:getBountyLevel()
|
||||
local lv = 0
|
||||
for idx, data in ipairs(self:getBountyCfg()) do
|
||||
lv = lv + 1
|
||||
if lv > curLevel then
|
||||
break
|
||||
end
|
||||
|
||||
if self:canGetBountyReward(lv, GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE) then
|
||||
return true
|
||||
end
|
||||
if self:canGetBountyReward(lv, GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1) then
|
||||
return true
|
||||
end
|
||||
if self:canGetBountyReward(lv, GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
-- 获取战令档位所有奖励,排序
|
||||
function ActivityData:getBountyGradeAllRewardSort(grade)
|
||||
local rewards = {}
|
||||
for idx, data in ipairs(self:getBountyCfg()) do
|
||||
if grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE then
|
||||
table.insert(rewards, data.reward)
|
||||
elseif grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1 then
|
||||
table.insert(rewards, data.reward_pro)
|
||||
elseif grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2 then
|
||||
table.insert(rewards, data.reward_pro_max)
|
||||
end
|
||||
end
|
||||
rewards = GFunc.mergeRewards(rewards)
|
||||
table.sort(rewards, function(a, b)
|
||||
return a.id > b.id
|
||||
end)
|
||||
|
||||
return rewards
|
||||
end
|
||||
|
||||
-- 获取战令档位奖励
|
||||
function ActivityData:getBountyGradeReward(level, grade)
|
||||
local cfg = self:getBountyCfg()[level]
|
||||
local result
|
||||
if cfg ~= nil then
|
||||
if grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE then
|
||||
result = cfg.reward
|
||||
elseif grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1 then
|
||||
result = cfg.reward_pro
|
||||
elseif grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2 then
|
||||
result = cfg.reward_pro_max
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
-- 战令奖励是否满足领取条件
|
||||
function ActivityData:isReachBountyReward(level, grade)
|
||||
local curLevel = self:getBountyLevel()
|
||||
local curGrade = self:getBountyGrade()
|
||||
if curLevel >= level then
|
||||
return grade <= curGrade
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- 战令奖励可领取
|
||||
function ActivityData:canGetBountyReward(level, grade)
|
||||
return self:isReachBountyReward(level, grade) and not self:isReceivedBountyReward(level, grade)
|
||||
end
|
||||
|
||||
-- 战令奖励是否已领取
|
||||
function ActivityData:isReceivedBountyReward(level, grade)
|
||||
local id = self:getBountyCfg()[level].id
|
||||
if self.actData == nil or self.actData.collected == nil or self.actData.collected[id] == nil then
|
||||
return false
|
||||
end
|
||||
|
||||
if grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE then
|
||||
return self.actData.collected[id].normal
|
||||
elseif grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1 then
|
||||
return self.actData.collected[id].superior
|
||||
elseif grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2 then
|
||||
return self.actData.collected[id].superior_max
|
||||
end
|
||||
end
|
||||
|
||||
-- 战令档位购买成功
|
||||
function ActivityData:onBuyBountyGrade(giftId)
|
||||
local grade
|
||||
if giftId == GConst.ActivityConst.BOUNTY_GIFT_ID_1 then-- 解锁1档
|
||||
grade = GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1
|
||||
elseif giftId == GConst.ActivityConst.BOUNTY_GIFT_ID_2 then-- 解锁2档
|
||||
grade = GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2
|
||||
end
|
||||
|
||||
ModuleManager.ActivityManager:reqSummerBountyReward(0, grade)-- 请求档位全部奖励
|
||||
|
||||
self:setDirty()
|
||||
end
|
||||
|
||||
-- 战令奖励领取成功
|
||||
function ActivityData:onReceivedBountyReward(successMap)
|
||||
for id, grade in pairs(successMap) do
|
||||
if self.actData.collected[id] == nil then
|
||||
self.actData.collected[id] = {}
|
||||
end
|
||||
|
||||
if grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.FREE then
|
||||
self.actData.collected[id].normal = true
|
||||
elseif grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY1 then
|
||||
self.actData.collected[id].superior = true
|
||||
elseif grade == GConst.ActivityConst.BOUNTY_GRADE_TYPE.PAY2 then
|
||||
self.actData.collected[id].superior_max = true
|
||||
end
|
||||
end
|
||||
|
||||
self:setDirty()
|
||||
end
|
||||
|
||||
-- 解锁战令等级成功
|
||||
function ActivityData:onBoughtBountyLevel()
|
||||
self.actData.level = self.actData.level + 1
|
||||
self:setDirty()
|
||||
end
|
||||
|
||||
-- 礼包--------------------------------------------------------------------------------------------------
|
||||
|
||||
-- 皮肤礼包是否有红点
|
||||
function ActivityData:hasSkinRedPoint()
|
||||
return not LocalData:getTodayActSummerWatchedSkin()
|
||||
end
|
||||
|
||||
-- 英雄礼包是否有红点
|
||||
function ActivityData:hasHeroRedPoint()
|
||||
return not LocalData:getTodayActSummerWatchedHero()
|
||||
end
|
||||
|
||||
return ActivityData
|
||||
@ -279,6 +279,11 @@ end
|
||||
|
||||
-- 部位是否可升级
|
||||
function EquipEntity:canLevelUp()
|
||||
-- 判断英雄解锁
|
||||
if not self:getHeroEntity():isUnlock() then
|
||||
return false
|
||||
end
|
||||
|
||||
--判断材料
|
||||
if not self:isEnoughMaterial() then
|
||||
return false
|
||||
|
||||
@ -433,8 +433,7 @@ function HeroEntity:getHurtNum()
|
||||
end
|
||||
|
||||
function HeroEntity:getName()
|
||||
local skinName = DataManager.SkinData:getName(self:getSkinId())
|
||||
return skinName or ModuleManager.HeroManager:getHeroName(self:getCfgId())
|
||||
return ModuleManager.HeroManager:getHeroName(self:getCfgId())
|
||||
end
|
||||
|
||||
function HeroEntity:getDesc()
|
||||
|
||||
@ -83,6 +83,13 @@ function ShopData:getGiftBoughtNum(actType, actId)
|
||||
return 0
|
||||
end
|
||||
|
||||
-- 获取通用礼包剩余可购买次数
|
||||
function ShopData:getGiftRemainBuyNum(actId)
|
||||
local bought = self:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, actId)
|
||||
|
||||
return self:getActGiftConfig()[actId].limit - bought
|
||||
end
|
||||
|
||||
-- 礼包购买成功更新
|
||||
function ShopData:updateGiftInfo(gift)
|
||||
local giftType = gift.act_type
|
||||
@ -107,6 +114,8 @@ function ShopData:updateGiftInfo(gift)
|
||||
DataManager.ArenaData:onBoughtGift(giftId)
|
||||
elseif cfg[giftId].type == PayManager.PURCHARSE_ACT_TYPE.WEAPON_GIFT or cfg[giftId].type == PayManager.PURCHARSE_ACT_TYPE.ARMOR_GIFT then
|
||||
self:onGiftBuySuccess(cfg[giftId].type)
|
||||
elseif cfg[giftId].type == PayManager.PURCHARSE_ACT_TYPE.ACT_SUMMER then
|
||||
DataManager.ActivityData:onBuyBountyGrade(giftId)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -125,7 +125,7 @@ end
|
||||
-- 获取模型id
|
||||
function SkinData:getModelId(skinId)
|
||||
local cfg = self:getSkinCfg(skinId)
|
||||
return cfg and cfg.model_id or "p0001"-- 未配置模型id的处理
|
||||
return cfg and cfg.model_id
|
||||
end
|
||||
|
||||
-- 获取皮肤来源
|
||||
@ -287,8 +287,11 @@ end
|
||||
-- 解锁皮肤
|
||||
function SkinData:onUnlockSkin(itemId)
|
||||
local skinId = self:getSkinIdByItemId(itemId)
|
||||
if skinId == nil then
|
||||
return
|
||||
end
|
||||
local heroId = self:getHeroIdBySkinId(skinId)
|
||||
if skinId or heroId then
|
||||
if heroId == nil then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user