冲刺活动
This commit is contained in:
parent
a20f3f0dd1
commit
6546675a6f
222
lua/app/common/bi_report_v2.lua
Normal file
222
lua/app/common/bi_report_v2.lua
Normal file
@ -0,0 +1,222 @@
|
|||||||
|
local BIReportV2 = {}
|
||||||
|
|
||||||
|
-- 所有上报事件
|
||||||
|
|
||||||
|
local EVENT_NAME_PRODUCTION_SALES_V2 = "client_production_sales_v2" -- 产销
|
||||||
|
local EVENT_NAME_FIGHT_V2 = "client_fight_v2" -- 玩法
|
||||||
|
local EVENT_NAME_LEVEL_UP_V2 = "client_level_up_v2" -- 升级
|
||||||
|
local EVENT_NAME_OPERATION_V2 = "client_operation_v2" -- 操作
|
||||||
|
|
||||||
|
|
||||||
|
BIReportV2.PRODUCTION_SALES_TYPE = {
|
||||||
|
ITEM = "道具",
|
||||||
|
CURRENCY = "货币"
|
||||||
|
}
|
||||||
|
|
||||||
|
BIReportV2.PRODUCTION_SALES_EVENT_TYPE = {
|
||||||
|
USE = "获得",
|
||||||
|
GET = "消耗"
|
||||||
|
}
|
||||||
|
|
||||||
|
BIReportV2.FIGHT_TYPE = {
|
||||||
|
FIGHT_BEGIN = "开始",
|
||||||
|
FIGHT_END = "结束"
|
||||||
|
}
|
||||||
|
|
||||||
|
BIReportV2.FIGHT_NAME = {
|
||||||
|
[1] = "主线关卡",
|
||||||
|
[2] = "日常副本",
|
||||||
|
[3] = "爬塔",
|
||||||
|
[4] = "世界BOSS",
|
||||||
|
[5] = "精英挑战",
|
||||||
|
[6] = "元素地牢",
|
||||||
|
[18] = "竞技场",
|
||||||
|
}
|
||||||
|
BIReportV2.FIGHT_NAME_DUNGEON_GOLD = "金币副本"
|
||||||
|
BIReportV2.FIGHT_NAME_DUNGEON_MATERIAL = "材料副本"
|
||||||
|
|
||||||
|
BIReportV2.FIGHT_RESULT = {
|
||||||
|
WIN = "胜利",
|
||||||
|
FAIL = "失败",
|
||||||
|
FINISH = "完成",
|
||||||
|
QUIT = "退出",
|
||||||
|
UNKNOW = "未知"
|
||||||
|
}
|
||||||
|
|
||||||
|
BIReportV2.OPERATION_TYPE = {
|
||||||
|
CLICK = "点击",
|
||||||
|
SHOW = "展示",
|
||||||
|
}
|
||||||
|
|
||||||
|
BIReportV2.LEVEL_UP_TYPE = {
|
||||||
|
GET_PLAYER_EXP = "获取账号经验",
|
||||||
|
}
|
||||||
|
|
||||||
|
BIReportV2.OPERATION_UI_NAME = {
|
||||||
|
LOGIN_UI = "登陆",
|
||||||
|
FIRST_RECHARGE_PAGE_1 = "首充第一档",
|
||||||
|
FIRST_RECHARGE_PAGE_2 = "首充第二档",
|
||||||
|
FIRST_RECHARGE_PAGE_3 = "首充第三档",
|
||||||
|
POP_CHAPTER_UI = "章节弹出礼包",
|
||||||
|
ROUTINE_GIFT_1 = "新手礼包",
|
||||||
|
ROUTINE_GIFT_2 = "日礼包",
|
||||||
|
ROUTINE_GIFT_3 = "周礼包",
|
||||||
|
ROUTINE_GIFT_4 = "月礼包",
|
||||||
|
PRIVILEGE_CARD = "特权卡",
|
||||||
|
PRIVILEGE_CARD_1 = "特权每日福利",
|
||||||
|
PRIVILEGE_CARD_2 = "免广告",
|
||||||
|
PRIVILEGE_CARD_3 = "月卡",
|
||||||
|
PRIVILEGE_CARD_4 = "终身卡",
|
||||||
|
PRIVILEGE_CARD_5 = "挑战征服卡",
|
||||||
|
FUND_LEVEL = "成长基金",
|
||||||
|
FUND_CHAPTER = "关卡基金",
|
||||||
|
BOUNTY_COLLECTION = "宝物战令",
|
||||||
|
TOWER_BOUNTY = "爬塔战令",
|
||||||
|
SING_WEEK = "7日签到",
|
||||||
|
SIGN_MONTH = "30日签到",
|
||||||
|
ACT_SEVENDAY_TASK = "七天乐任务",
|
||||||
|
ACT_SEVENDAY_GIFT = "七天乐礼包",
|
||||||
|
ACT_SEVENDAY_TASK_2 = "七天乐任务第二期",
|
||||||
|
ACT_SEVENDAY_GIFT_2 = "七天乐礼包第二期",
|
||||||
|
ACT_SEVENDAY_LOOP_TASK_1 = "七日达标1循环任务",
|
||||||
|
ACT_SEVENDAY_LOOP_GIFT_1 = "七日达标1循环礼包",
|
||||||
|
ACT_SEVENDAY_LOOP_TASK_2 = "七日达标2循环任务",
|
||||||
|
ACT_SEVENDAY_LOOP_GIFT_2 = "七日达标2循环礼包",
|
||||||
|
ACT_SEVENDAY_LOOP_TASK_3 = "七日达标3循环任务",
|
||||||
|
ACT_SEVENDAY_LOOP_GIFT_3 = "七日达标3循环礼包",
|
||||||
|
SHOP_CHAPTER = "商店章节礼包",
|
||||||
|
SHOP_DAILY_STORE = "每日商店",
|
||||||
|
SHOP_GEM_STORE = "钻石礼包",
|
||||||
|
SHOP_GOLD_STORE = "金币礼包",
|
||||||
|
MAIN_SHOP = "商城",
|
||||||
|
ACT_SUMMON_LOGIN = "卡池活动登录福利",
|
||||||
|
ACT_SUMMON_UPGRADE_1 = "卡池活动英雄升级1",
|
||||||
|
ACT_SUMMON_UPGRADE_2 = "卡池活动英雄升级2",
|
||||||
|
ACT_SUMMON_GEM = "特惠礼包",
|
||||||
|
ACT_SUMMON_RECHARGE = "连冲豪礼",
|
||||||
|
SUMMON_MAIN = "普通召唤",
|
||||||
|
SUMMON_ACT_1 = "召唤界面:电闪雷鸣",
|
||||||
|
SUMMON_ACT_2 = "召唤界面:虎豹之争",
|
||||||
|
GIFT_CHAIN_POP = "连锁礼包弹窗",
|
||||||
|
ACT_SPRINT_NEW_SUMMON = "普通召唤新手冲刺活动版本2-加签到任务不改",
|
||||||
|
ACT_SPRINT_NEW_BOX = "史诗芯魂宝箱新手冲刺活动版本2-加签到任务不改",
|
||||||
|
ACT_SPRINT_LOOP_SUMMON = "普通召唤冲刺-循环版版本2",
|
||||||
|
ACT_SPRINT_LOOP_BOX = "史诗芯魂冲刺-循环版版本2",
|
||||||
|
ACT_SPRINT_LOOP_TREE = "钻石消耗冲刺-循环版版本2",
|
||||||
|
}
|
||||||
|
|
||||||
|
BIReportV2.UI_PATH_NAME = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function BIReportV2:postProductionSales(productionType, eventType, id, num, getType)
|
||||||
|
local args = {
|
||||||
|
itemCategory = productionType, -- 产销类型
|
||||||
|
itemId = id, -- 产销物品id
|
||||||
|
quantity = num, -- 产销数量
|
||||||
|
approach = getType, -- 产销途径
|
||||||
|
eventType = eventType, -- 产销事件
|
||||||
|
}
|
||||||
|
BIReport:report(EVENT_NAME_PRODUCTION_SALES_V2, args)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BIReportV2:postItemProductionSales(optType, itemId, itemNum, getType)
|
||||||
|
if itemNum == 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
self:postProductionSales(BIReportV2.PRODUCTION_SALES_TYPE.ITEM, optType, itemId, itemNum, getType)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BIReportV2:postCurrencyProductionSales(optType, itemId, itemNum, getType)
|
||||||
|
if itemNum == 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
self:postProductionSales(BIReportV2.PRODUCTION_SALES_TYPE.CURRENCY, optType, itemId, itemNum, getType)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BIReportV2:getFightName(battleType, id)
|
||||||
|
local fightName = battleType
|
||||||
|
if battleType == ModuleManager.BattleManager.BATTLE_TYPE.DUNGEON then
|
||||||
|
local dungeonDailyType = DataManager.DungeonDailyData:getDungeonDailyTypeByChapterId(id)
|
||||||
|
if dungeonDailyType == GConst.DungeonConst.DUNGEON_DAILY_TYPE.GOLD then
|
||||||
|
fightName = BIReportV2.FIGHT_NAME_DUNGEON_GOLD
|
||||||
|
elseif dungeonDailyType == GConst.DungeonConst.DUNGEON_DAILY_TYPE.MATERIAL then
|
||||||
|
fightName = BIReportV2.FIGHT_NAME_DUNGEON_MATERIAL
|
||||||
|
end
|
||||||
|
else
|
||||||
|
fightName = BIReportV2.FIGHT_NAME[battleType] or tostring(battleType)
|
||||||
|
end
|
||||||
|
return fightName
|
||||||
|
end
|
||||||
|
|
||||||
|
function BIReportV2:getFightResult(battleType, fightResult)
|
||||||
|
if battleType == ModuleManager.BattleManager.BATTLE_TYPE.TOWER then
|
||||||
|
return BIReportV2.FIGHT_RESULT.FINISH
|
||||||
|
else
|
||||||
|
if fightResult == BIReport.FIGHT_END_TYPE.WIN then
|
||||||
|
return BIReportV2.FIGHT_RESULT.WIN
|
||||||
|
elseif fightResult == BIReport.FIGHT_END_TYPE.FAIL then
|
||||||
|
return BIReportV2.FIGHT_RESULT.FAIL
|
||||||
|
elseif fightResult == BIReport.FIGHT_END_TYPE.QUIT then
|
||||||
|
return BIReportV2.FIGHT_RESULT.QUIT
|
||||||
|
else
|
||||||
|
return BIReportV2.FIGHT_RESULT.UNKNOW
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function BIReportV2:postFightBegin(battleType, id)
|
||||||
|
local args = {
|
||||||
|
playType = self:getFightName(battleType, id),
|
||||||
|
playName = id,
|
||||||
|
eventType = BIReportV2.FIGHT_TYPE.FIGHT_BEGIN
|
||||||
|
}
|
||||||
|
BIReport:report(EVENT_NAME_FIGHT_V2, args)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BIReportV2:postFightEnd(battleType, id, fightResult, time, ext)
|
||||||
|
local args = {
|
||||||
|
playType = self:getFightName(battleType, id),
|
||||||
|
playName = id,
|
||||||
|
playResult = self:getFightResult(battleType, fightResult),
|
||||||
|
ext1 = ext,
|
||||||
|
playTime = time,
|
||||||
|
eventType = BIReportV2.FIGHT_TYPE.FIGHT_END
|
||||||
|
}
|
||||||
|
BIReport:report(EVENT_NAME_FIGHT_V2, args)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BIReportV2:postLevelUp(exp, getType, beforeLevel, afterLevel)
|
||||||
|
local args = {
|
||||||
|
exp = exp,
|
||||||
|
approach = getType,
|
||||||
|
beforeLevel = beforeLevel,
|
||||||
|
afterLevel = afterLevel,
|
||||||
|
eventType = BIReportV2.LEVEL_UP_TYPE.GET_PLAYER_EXP
|
||||||
|
}
|
||||||
|
BIReport:report(EVENT_NAME_LEVEL_UP_V2, args)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BIReportV2:postOperation(uiName)
|
||||||
|
if uiName == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local args = {
|
||||||
|
operationName = uiName,
|
||||||
|
eventType = BIReportV2.OPERATION_TYPE.CLICK
|
||||||
|
}
|
||||||
|
BIReport:report(EVENT_NAME_OPERATION_V2, args)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BIReportV2:postOpenUI(uiPath)
|
||||||
|
if uiPath == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local uiName = BIReportV2.UI_PATH_NAME[uiPath]
|
||||||
|
if uiName == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
self:postOperation(uiName)
|
||||||
|
end
|
||||||
|
|
||||||
|
return BIReportV2
|
||||||
10
lua/app/common/bi_report_v2.lua.meta
Normal file
10
lua/app/common/bi_report_v2.lua.meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: efc4642fbd8c94d8c9f76f2ccc1ec37d
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -40,6 +40,12 @@ function DataManager:init()
|
|||||||
self:initManager("SignMonthData", "app/userdata/sign/sign_month_data")
|
self:initManager("SignMonthData", "app/userdata/sign/sign_month_data")
|
||||||
self:initManager("ChapterFundData", "app/userdata/chapter_fund/chapter_fund_data")
|
self:initManager("ChapterFundData", "app/userdata/chapter_fund/chapter_fund_data")
|
||||||
self:initManager("ActSevenDayData", "app/userdata/activity/act_seven_day/act_seven_day_data")
|
self:initManager("ActSevenDayData", "app/userdata/activity/act_seven_day/act_seven_day_data")
|
||||||
|
|
||||||
|
-- 冲刺活动
|
||||||
|
self:initManager("ActTimeData", "app/userdata/activity/act_time_data")
|
||||||
|
self:initManager("ActSprintData", "app/userdata/activity/act_sprint/act_sprint_data")
|
||||||
|
self:initManager("ActSprintSummonDataAll", "app/userdata/activity/act_sprint/act_sprint_summon_data_all")
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function DataManager:initManager(name, path)
|
function DataManager:initManager(name, path)
|
||||||
@ -167,8 +173,13 @@ function DataManager:initWithServerData(data)
|
|||||||
self.SignWeekData:initData(data.sign)
|
self.SignWeekData:initData(data.sign)
|
||||||
self.SignMonthData:initData(data.sign_30)
|
self.SignMonthData:initData(data.sign_30)
|
||||||
-- 活动要在礼包后初始化
|
-- 活动要在礼包后初始化
|
||||||
self.ActivityData:init()
|
self.ActTimeData:init(data.activities) -- 全活动时间, after PlayerData
|
||||||
|
self.ActivityData:initExchangeData(data.activity_exchange)
|
||||||
|
self.ActivityData:initTaskData(data.activity_task)
|
||||||
|
self.ActSprintData:init(data.activity_rush_exchange)
|
||||||
self.ActSevenDayData:initData(data.seven_days, true)
|
self.ActSevenDayData:initData(data.seven_days, true)
|
||||||
|
-- self.ActSprintSummonDataAll:initTaskData(data.activity_score_task, data.activity_task)
|
||||||
|
|
||||||
-- 商店礼包都初始化完了后检查一下每日红点
|
-- 商店礼包都初始化完了后检查一下每日红点
|
||||||
-- self.ShopData:checkShopDiscountRedPoint()
|
-- self.ShopData:checkShopDiscountRedPoint()
|
||||||
-- self.ShopData:checkLoginPopInfo() -- 需要写在shopdata所有初始化之后
|
-- self.ShopData:checkLoginPopInfo() -- 需要写在shopdata所有初始化之后
|
||||||
@ -181,7 +192,6 @@ function DataManager:initWithServerData(data)
|
|||||||
self:checkDataBind()
|
self:checkDataBind()
|
||||||
ModuleManager.ArenaManager:reqArenaInfo()
|
ModuleManager.ArenaManager:reqArenaInfo()
|
||||||
|
|
||||||
self:dealOpenActivity(data.activities)
|
|
||||||
-- 写在最后,防止某些数据还未初始化,就被bi访问报错
|
-- 写在最后,防止某些数据还未初始化,就被bi访问报错
|
||||||
self.initWithServer = true
|
self.initWithServer = true
|
||||||
end
|
end
|
||||||
@ -283,6 +293,19 @@ function DataManager:scheduleGlobal()
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("==========================================================")
|
||||||
|
Logger.logHighlight("本地显示日期:" .. Time:formatTimeYMD())
|
||||||
|
Logger.logHighlight("当前时间戳:" .. Time:getServerTime())
|
||||||
|
Logger.logHighlight("本日时间戳:" .. Time:getDayBeginTimeStamp() .. "-" .. Time:getDayOverTimeStamp())
|
||||||
|
Logger.logHighlight("本周时间戳:" ..
|
||||||
|
Time:getWeekBeginTimeStamp() .. "-" .. Time:getWeekOverTimeStamp() .. " 当前处于本周第" .. Time:getDayofWeek() .. "天")
|
||||||
|
Logger.logHighlight("本月时间戳:" ..
|
||||||
|
Time:getMonthBeginTimeStamp() ..
|
||||||
|
"-" .. Time:getMonthOverTimeStamp() .. " 当前处于本月第" .. Time:getDayofMonth() .. "天")
|
||||||
|
Logger.logHighlight("==========================================================")
|
||||||
|
end
|
||||||
|
|
||||||
self.crossDayTS = Time:getDayOverTimeStamp()
|
self.crossDayTS = Time:getDayOverTimeStamp()
|
||||||
self.cacheTimer = SchedulerManager:scheduleGlobal(function(inter)
|
self.cacheTimer = SchedulerManager:scheduleGlobal(function(inter)
|
||||||
for k, v in ipairs(self.cdCallBack) do
|
for k, v in ipairs(self.cdCallBack) do
|
||||||
@ -291,21 +314,121 @@ function DataManager:scheduleGlobal()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if Time:getServerTime() > self.crossDayTS then
|
if Time:getServerTime() > self.crossDayTS and GFunc.IsGotServerTime() then
|
||||||
self.crossDayTS = Time:getDayOverTimeStamp()
|
self.crossDayTS = Time:getDayOverTimeStamp()
|
||||||
|
self.weekOverTime = Time:getWeekOverTimeStamp()
|
||||||
|
self.monthOverTime = Time:getMonthOverTimeStamp()
|
||||||
|
self.loginCount = self.loginCount + 1
|
||||||
|
-- 跨天先刷新活动时间
|
||||||
|
DataManager.ActTimeData:refreshActTime(true)
|
||||||
|
Logger.logHighlight("跨天===========================================================================")
|
||||||
if self.crossDayCallbacks then
|
if self.crossDayCallbacks then
|
||||||
for i, info in ipairs(self.crossDayCallbacks) do
|
for i, info in ipairs(self.crossDayCallbacks) do
|
||||||
if info.func and info.open then
|
if info.func and info.open then
|
||||||
info.func()
|
info.func()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- DataManager.GiftPopData:activeLoginPopGift()
|
||||||
end
|
end
|
||||||
ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.X_LOGIN_DAY)
|
self:doCrossDay()
|
||||||
|
-- 登录天数
|
||||||
|
ModuleManager.TaskManager:addTaskProgress(GConst.TaskConst.TASK_TYPE.LOGIN_NUM)
|
||||||
|
self:tryOpenModules() -- 开服天数限制的
|
||||||
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CROSS_DAY)
|
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CROSS_DAY)
|
||||||
|
-- 重置
|
||||||
|
if self.timeEveryDayCallbacks then
|
||||||
|
for k, v in ipairs(self.timeEveryDayCallbacks) do
|
||||||
|
v.triggerToday = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 每日特定时间消息
|
||||||
|
if self.timeEveryDayCallbacks then
|
||||||
|
local timeToday = Time:getDayBeginTimeStamp(Time:getServerTime() + 1)
|
||||||
|
local passTime = Time:getServerTime() - timeToday
|
||||||
|
for k, v in ipairs(self.timeEveryDayCallbacks) do
|
||||||
|
if not v.triggerToday and v.func and v.open and passTime > v.time then
|
||||||
|
v.triggerToday = true
|
||||||
|
v.func()
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end, 1)
|
end, 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function DataManager:doCrossDay()
|
||||||
|
local delayTime = math.random(1, 10000) / 1000
|
||||||
|
SchedulerManager:performWithDelayGlobal(function()
|
||||||
|
ModuleManager.MaincityManager:reqPassDay()
|
||||||
|
end, delayTime)
|
||||||
|
end
|
||||||
|
|
||||||
|
function DataManager:onCrossDay(info)
|
||||||
|
if info.activities then
|
||||||
|
self.ActTimeData:init(info.activities) -- 全活动时间, after PlayerData
|
||||||
|
end
|
||||||
|
if info.door then
|
||||||
|
self.DoorData:init(info.door)
|
||||||
|
end
|
||||||
|
if info.mall_daily_store then
|
||||||
|
self.ShopData:refreshDailyShop(info.mall_daily_store)
|
||||||
|
end
|
||||||
|
if info.elemental_dungeon then
|
||||||
|
self.ElementData:init(info.elemental_dungeon)
|
||||||
|
end
|
||||||
|
if info.dispatch then
|
||||||
|
self.DispatchData:init(info.dispatch)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function DataManager:registerTimeEveryDayFunc(bindId, time, func)
|
||||||
|
if not bindId or not time or not func then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if not self.timeEveryDayCallbacks then
|
||||||
|
self.timeEveryDayCallbacks = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
local timeToday = Time:getDayBeginTimeStamp(Time:getServerTime() + 1)
|
||||||
|
local passTime = Time:getServerTime() - timeToday
|
||||||
|
|
||||||
|
for i, info in ipairs(self.timeEveryDayCallbacks) do
|
||||||
|
if info.bindId == bindId then
|
||||||
|
self.timeEveryDayCallbacks[i].func = func
|
||||||
|
self.timeEveryDayCallbacks[i].time = time
|
||||||
|
self.timeEveryDayCallbacks[i].triggerToday = passTime > time
|
||||||
|
self.timeEveryDayCallbacks[i].open = true
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
table.insert(self.timeEveryDayCallbacks, {
|
||||||
|
bindId = bindId,
|
||||||
|
func = func,
|
||||||
|
time = time,
|
||||||
|
triggerToday = passTime > time,
|
||||||
|
open = true
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
function DataManager:unRegisterTimeEveryDayFunc(bindId)
|
||||||
|
if not bindId then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if not self.timeEveryDayCallbacks then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
for i, info in ipairs(self.timeEveryDayCallbacks) do
|
||||||
|
if info.bindId == bindId then
|
||||||
|
self.timeEveryDayCallbacks[i].open = false
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function DataManager:tryOpenModules()
|
function DataManager:tryOpenModules()
|
||||||
if not self.tryOpenCallbacks then
|
if not self.tryOpenCallbacks then
|
||||||
return
|
return
|
||||||
@ -374,179 +497,4 @@ function DataManager:getLoginSuccess()
|
|||||||
return self.loginSuccess
|
return self.loginSuccess
|
||||||
end
|
end
|
||||||
|
|
||||||
-- 获取建号时间
|
|
||||||
function DataManager:getCreatePlayerTime()
|
|
||||||
return self.createPlayerTime or Time:getServerTime()
|
|
||||||
end
|
|
||||||
|
|
||||||
-- 记录sync了多少次数据,如果以后游戏中要回到登录界面,则此值应当被清除
|
|
||||||
function DataManager:markSyncDataCount()
|
|
||||||
if not self.syncDataCount then
|
|
||||||
self.syncDataCount = 1
|
|
||||||
else
|
|
||||||
self.syncDataCount = self.syncDataCount + 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function DataManager:getSyncDataCount()
|
|
||||||
return self.syncDataCount or 0
|
|
||||||
end
|
|
||||||
|
|
||||||
function DataManager:needDealGm()
|
|
||||||
return self:getSyncDataCount() >= 2
|
|
||||||
end
|
|
||||||
|
|
||||||
function DataManager:getManager(name, path)
|
|
||||||
if self[name] then
|
|
||||||
return self[name]
|
|
||||||
end
|
|
||||||
self[name] = require(path):create()
|
|
||||||
return self[name]
|
|
||||||
end
|
|
||||||
|
|
||||||
---- 缓存一下活动战令
|
|
||||||
function DataManager:getActivityBountyLevelByActId(actId)
|
|
||||||
if not self.activityBountyLevelMap then
|
|
||||||
self.activityBountyLevelMap = {}
|
|
||||||
local cfg = ConfigManager:getConfig("activity_bounty_level")
|
|
||||||
for id, info in pairs(cfg) do
|
|
||||||
if info.act_id then
|
|
||||||
if not self.activityBountyLevelMap[info.act_id] then
|
|
||||||
self.activityBountyLevelMap[info.act_id] = {}
|
|
||||||
end
|
|
||||||
table.insert(self.activityBountyLevelMap[info.act_id], id)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return self.activityBountyLevelMap[actId]
|
|
||||||
end
|
|
||||||
|
|
||||||
---- 缓存一下活动兑换商店
|
|
||||||
function DataManager:getActivityExchangeByActId(actId)
|
|
||||||
if not self.activityExchangeMap then
|
|
||||||
self.activityExchangeMap = {}
|
|
||||||
local cfg = ConfigManager:getConfig("activity_exchange")
|
|
||||||
for id, info in pairs(cfg) do
|
|
||||||
if info.activity then
|
|
||||||
if not self.activityExchangeMap[info.activity] then
|
|
||||||
self.activityExchangeMap[info.activity] = {}
|
|
||||||
end
|
|
||||||
table.insert(self.activityExchangeMap[info.activity], id)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return self.activityExchangeMap[actId]
|
|
||||||
end
|
|
||||||
|
|
||||||
---- 缓存一下活动排行榜
|
|
||||||
function DataManager:getActivityRankByActId(actId)
|
|
||||||
if not self.activityRankMap then
|
|
||||||
self.activityRankMap = {}
|
|
||||||
local cfg = ConfigManager:getConfig("activity_rank")
|
|
||||||
for id, info in pairs(cfg) do
|
|
||||||
if info.act_id then
|
|
||||||
if not self.activityRankMap[info.act_id] then
|
|
||||||
self.activityRankMap[info.act_id] = {}
|
|
||||||
end
|
|
||||||
table.insert(self.activityRankMap[info.act_id], id)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return self.activityRankMap[actId]
|
|
||||||
end
|
|
||||||
|
|
||||||
function DataManager:dealOpenActivity(activityInfo)
|
|
||||||
local curTime = Time:getServerTime()
|
|
||||||
if not activityInfo then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local newActivityList = {}
|
|
||||||
local map = {}
|
|
||||||
for _, info in ipairs(activityInfo) do
|
|
||||||
if info.type then
|
|
||||||
if not map[info.type] then
|
|
||||||
map[info.type] = info
|
|
||||||
else
|
|
||||||
if map[info.type].start_at > info.start_at then
|
|
||||||
map[info.type] = info
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
for actType, info in pairs(map) do
|
|
||||||
table.insert(newActivityList, info)
|
|
||||||
end
|
|
||||||
|
|
||||||
local dealTypeMap = {}
|
|
||||||
for _, info in ipairs(newActivityList) do
|
|
||||||
local startTime = GFunc.formatTimeStep(info.start_at)
|
|
||||||
if startTime <= curTime and curTime <= GFunc.formatTimeStep(info.end_at) then
|
|
||||||
local reqFunc = DataManager.activityOpenFunc[info.type]
|
|
||||||
if reqFunc and not dealTypeMap[info.type] then
|
|
||||||
dealTypeMap[info.type] = true
|
|
||||||
reqFunc(info)
|
|
||||||
end
|
|
||||||
elseif startTime > curTime then
|
|
||||||
local waitOpenFunc = DataManager.waitOpenActivity[info.type]
|
|
||||||
if waitOpenFunc and not dealTypeMap[info.type] then
|
|
||||||
dealTypeMap[info.type] = true
|
|
||||||
waitOpenFunc(info)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
DataManager.activityOpenFunc = {
|
|
||||||
[2] = function(params)
|
|
||||||
DataManager.ActBossRushData:setActivityInfo(params)
|
|
||||||
ModuleManager.ActBossRushManager:reqActData()
|
|
||||||
end,
|
|
||||||
[3] = function(params)
|
|
||||||
DataManager.ActPvpData:setActivityId(params.id)
|
|
||||||
DataManager.ActPvpData:setActivityInfo(params)
|
|
||||||
DataManager.ActPvpData:init({}) -- 默认初始化
|
|
||||||
ModuleManager.ActPvpManager:reqActData()
|
|
||||||
end,
|
|
||||||
[4] = function(params)
|
|
||||||
DataManager.FullMoonData:setActStatus(params)
|
|
||||||
ModuleManager.FullMoonManager:reqActData()
|
|
||||||
ModuleManager.FullMoonManager:initTimer()
|
|
||||||
end,
|
|
||||||
[5] = function(params)
|
|
||||||
DataManager.TournWaveData:setActStatus(params)
|
|
||||||
ModuleManager.TournWaveManager:reqActData()
|
|
||||||
ModuleManager.TournWaveManager:initTimer()
|
|
||||||
end,
|
|
||||||
[6] = function(params)
|
|
||||||
DataManager.TournArenaData:setActStatus(params)
|
|
||||||
ModuleManager.TournArenaManager:reqActData()
|
|
||||||
ModuleManager.TournArenaManager:initTimer()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
DataManager.waitOpenActivity = {
|
|
||||||
[2] = function(params)
|
|
||||||
DataManager.ActBossRushData:init({activity_id = params.id}) -- 默认初始化
|
|
||||||
DataManager.ActBossRushData:setActivityInfo(params)
|
|
||||||
end,
|
|
||||||
[3] = function(params)
|
|
||||||
DataManager.ActPvpData:setActivityId(params.id)
|
|
||||||
DataManager.ActPvpData:setActivityInfo(params)
|
|
||||||
DataManager.ActPvpData:init({}) -- 默认初始化
|
|
||||||
end,
|
|
||||||
[4] = function(params)
|
|
||||||
DataManager.FullMoonData:setActStatus(params)
|
|
||||||
ModuleManager.FullMoonManager:initTimer()
|
|
||||||
end,
|
|
||||||
[5] = function(params)
|
|
||||||
DataManager.TournWaveData:setActStatus(params)
|
|
||||||
ModuleManager.TournWaveManager:initTimer()
|
|
||||||
end,
|
|
||||||
[6] = function(params)
|
|
||||||
DataManager.TournArenaData:setActStatus(params)
|
|
||||||
ModuleManager.TournArenaManager:initTimer()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
return DataManager
|
return DataManager
|
||||||
@ -84,6 +84,8 @@ local MODULE_PATHS = {
|
|||||||
SignManager = "app/module/sign/sign_manager",
|
SignManager = "app/module/sign/sign_manager",
|
||||||
-- 活动七天乐
|
-- 活动七天乐
|
||||||
ActSevenDayManager = "app/module/activity/act_seven_day/act_seven_day_manager",
|
ActSevenDayManager = "app/module/activity/act_seven_day/act_seven_day_manager",
|
||||||
|
-- 冲刺活动
|
||||||
|
ActSprintManager = "app/module/activity/act_sprint/act_sprint_manager",
|
||||||
}
|
}
|
||||||
|
|
||||||
-- 这里的key对应func_open里的id
|
-- 这里的key对应func_open里的id
|
||||||
|
|||||||
8574
lua/app/config/act_bounty.lua
Normal file
8574
lua/app/config/act_bounty.lua
Normal file
File diff suppressed because it is too large
Load Diff
10
lua/app/config/act_bounty.lua.meta
Normal file
10
lua/app/config/act_bounty.lua.meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e6c27959d37fd427e8315a450d564be1
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
278
lua/app/config/act_exchange.lua
Normal file
278
lua/app/config/act_exchange.lua
Normal file
@ -0,0 +1,278 @@
|
|||||||
|
local act_exchange = {
|
||||||
|
[10101]={
|
||||||
|
["sort"]=1,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["refresh_type"]=2,
|
||||||
|
["limit"]=1
|
||||||
|
},
|
||||||
|
[10102]={
|
||||||
|
["sort"]=5,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=805001,
|
||||||
|
["id_for_nothing"]="XghZA2VQ",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=20,
|
||||||
|
["num_for_nothing"]="VAg="
|
||||||
|
},
|
||||||
|
["refresh_type"]=3,
|
||||||
|
["limit"]=1,
|
||||||
|
["func_open"]="defenseline"
|
||||||
|
},
|
||||||
|
[10103]={
|
||||||
|
["sort"]=6,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=805002,
|
||||||
|
["id_for_nothing"]="XghZA2VT",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=20,
|
||||||
|
["num_for_nothing"]="VAg="
|
||||||
|
},
|
||||||
|
["refresh_type"]=3,
|
||||||
|
["limit"]=1,
|
||||||
|
["func_open"]="defenseline"
|
||||||
|
},
|
||||||
|
[10104]={
|
||||||
|
["sort"]=7,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=904001,
|
||||||
|
["id_for_nothing"]="XwhYA2VQ",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=15,
|
||||||
|
["num_for_nothing"]="Vw0="
|
||||||
|
},
|
||||||
|
["refresh_type"]=3,
|
||||||
|
["limit"]=1
|
||||||
|
},
|
||||||
|
[10105]={
|
||||||
|
["sort"]=8,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=904002,
|
||||||
|
["id_for_nothing"]="XwhYA2VT",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=15,
|
||||||
|
["num_for_nothing"]="Vw0="
|
||||||
|
},
|
||||||
|
["refresh_type"]=3,
|
||||||
|
["limit"]=1
|
||||||
|
},
|
||||||
|
[10106]={
|
||||||
|
["sort"]=9,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=235,
|
||||||
|
["id_for_nothing"]="VAtZ",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=15,
|
||||||
|
["num_for_nothing"]="Vw0="
|
||||||
|
},
|
||||||
|
["refresh_type"]=2,
|
||||||
|
["limit"]=8,
|
||||||
|
["func_open"]="defenseline"
|
||||||
|
},
|
||||||
|
[10107]={
|
||||||
|
["sort"]=11,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=237,
|
||||||
|
["id_for_nothing"]="VAtb",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=10,
|
||||||
|
["num_for_nothing"]="Vwg="
|
||||||
|
},
|
||||||
|
["refresh_type"]=2,
|
||||||
|
["limit"]=8
|
||||||
|
},
|
||||||
|
[10108]={
|
||||||
|
["sort"]=12,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=5,
|
||||||
|
["id_for_nothing"]="Uw==",
|
||||||
|
["num"]=10,
|
||||||
|
["num_for_nothing"]="Vwg="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=2,
|
||||||
|
["num_for_nothing"]="VA=="
|
||||||
|
},
|
||||||
|
["refresh_type"]=2,
|
||||||
|
["limit"]=50
|
||||||
|
},
|
||||||
|
[10109]={
|
||||||
|
["sort"]=13,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=68,
|
||||||
|
["id_for_nothing"]="UAA=",
|
||||||
|
["num"]=10,
|
||||||
|
["num_for_nothing"]="Vwg="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=3,
|
||||||
|
["num_for_nothing"]="VQ=="
|
||||||
|
},
|
||||||
|
["refresh_type"]=2,
|
||||||
|
["limit"]=50,
|
||||||
|
["func_open"]="core_soul"
|
||||||
|
},
|
||||||
|
[10110]={
|
||||||
|
["sort"]=2,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=905001,
|
||||||
|
["id_for_nothing"]="XwhZA2VQ",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=30,
|
||||||
|
["num_for_nothing"]="VQg="
|
||||||
|
},
|
||||||
|
["refresh_type"]=3,
|
||||||
|
["limit"]=1,
|
||||||
|
["force_id"]=4003
|
||||||
|
},
|
||||||
|
[10111]={
|
||||||
|
["sort"]=3,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=905002,
|
||||||
|
["id_for_nothing"]="XwhZA2VT",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=30,
|
||||||
|
["num_for_nothing"]="VQg="
|
||||||
|
},
|
||||||
|
["refresh_type"]=3,
|
||||||
|
["limit"]=1,
|
||||||
|
["force_id"]=4004
|
||||||
|
},
|
||||||
|
[10112]={
|
||||||
|
["sort"]=10,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=238,
|
||||||
|
["id_for_nothing"]="VAtU",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=20,
|
||||||
|
["num_for_nothing"]="VAg="
|
||||||
|
},
|
||||||
|
["refresh_type"]=2,
|
||||||
|
["limit"]=8
|
||||||
|
},
|
||||||
|
[10113]={
|
||||||
|
["sort"]=4,
|
||||||
|
["reward"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=805003,
|
||||||
|
["id_for_nothing"]="XghZA2VS",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
["cost"]={
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=20,
|
||||||
|
["num_for_nothing"]="VAg="
|
||||||
|
},
|
||||||
|
["refresh_type"]=3,
|
||||||
|
["limit"]=1,
|
||||||
|
["func_open"]="defenseline"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local config = {
|
||||||
|
data=act_exchange,count=13
|
||||||
|
}
|
||||||
|
return config
|
||||||
10
lua/app/config/act_exchange.lua.meta
Normal file
10
lua/app/config/act_exchange.lua.meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 879287732b71c4ea295fc202f0416b8b
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
2598
lua/app/config/act_task.lua
Normal file
2598
lua/app/config/act_task.lua
Normal file
File diff suppressed because it is too large
Load Diff
10
lua/app/config/act_task.lua.meta
Normal file
10
lua/app/config/act_task.lua.meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 392a8c5c9ce384eabbe97390dca4be5b
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -1,331 +1,708 @@
|
|||||||
local activity = {
|
local activity = {
|
||||||
[106]={
|
[11101]={
|
||||||
["act_type"]=1,
|
["act_type"]=1,
|
||||||
["start_time"]="2023-08-22 00:00:00",
|
["parameter"]={
|
||||||
["end_time"]="2023-08-29 00:00:00"
|
4003,
|
||||||
|
4004
|
||||||
},
|
},
|
||||||
[206]={
|
["time_type"]=1,
|
||||||
|
["start_time_1"]=8,
|
||||||
|
["end_time_1"]=22,
|
||||||
|
["version"]=2,
|
||||||
|
["act_gift"]={
|
||||||
|
110102,
|
||||||
|
110202,
|
||||||
|
110302,
|
||||||
|
110402,
|
||||||
|
110502,
|
||||||
|
110602,
|
||||||
|
110702,
|
||||||
|
1108302
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_HERO_SUIT_DESC_1",
|
||||||
|
["act_banner_bg"]=11101
|
||||||
|
},
|
||||||
|
[11201]={
|
||||||
|
["act_type"]=1,
|
||||||
|
["parameter"]={
|
||||||
|
4001,
|
||||||
|
4002
|
||||||
|
},
|
||||||
|
["time_type"]=1,
|
||||||
|
["start_time_1"]=22,
|
||||||
|
["end_time_1"]=36,
|
||||||
|
["version"]=2,
|
||||||
|
["act_gift"]={
|
||||||
|
114302,
|
||||||
|
114402,
|
||||||
|
114502,
|
||||||
|
114602,
|
||||||
|
114702,
|
||||||
|
114802,
|
||||||
|
114902,
|
||||||
|
1108402
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_HERO_SUIT_DESC_11",
|
||||||
|
["act_banner_bg"]=11201
|
||||||
|
},
|
||||||
|
[12301]={
|
||||||
|
["act_type"]=1,
|
||||||
|
["parameter"]={
|
||||||
|
4005,
|
||||||
|
4006
|
||||||
|
},
|
||||||
|
["time_type"]=1,
|
||||||
|
["start_time_1"]=36,
|
||||||
|
["end_time_1"]=50,
|
||||||
|
["version"]=2,
|
||||||
|
["act_gift"]={
|
||||||
|
1104102,
|
||||||
|
1104202,
|
||||||
|
1104302,
|
||||||
|
1104402,
|
||||||
|
1104502,
|
||||||
|
1104602,
|
||||||
|
1104702,
|
||||||
|
1108502
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_HERO_SUIT_DESC_17",
|
||||||
|
["act_banner_bg"]=12301
|
||||||
|
},
|
||||||
|
[11301]={
|
||||||
["act_type"]=2,
|
["act_type"]=2,
|
||||||
["start_time"]="2023-09-13 00:00:00",
|
["time_type"]=1,
|
||||||
["end_time"]="2023-09-21 00:00:00"
|
["start_time_1"]=1,
|
||||||
|
["end_time_1"]=8,
|
||||||
|
["func_open"]="summon_force",
|
||||||
|
["version"]=1,
|
||||||
|
["act_gift"]={
|
||||||
|
118502,
|
||||||
|
118602,
|
||||||
|
118702,
|
||||||
|
118802,
|
||||||
|
118902,
|
||||||
|
119002,
|
||||||
|
119102,
|
||||||
|
119202,
|
||||||
|
119302
|
||||||
},
|
},
|
||||||
[306]={
|
["show_reward"]={
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=231,
|
||||||
|
["id_for_nothing"]="VAtd",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=5,
|
||||||
|
["id_for_nothing"]="Uw==",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=37,
|
||||||
|
["id_for_nothing"]="VQ8=",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_GOGOGO_DESC_21"
|
||||||
|
},
|
||||||
|
[11401]={
|
||||||
["act_type"]=3,
|
["act_type"]=3,
|
||||||
["start_time"]="2023-09-25 00:00:00",
|
["time_type"]=1,
|
||||||
["end_time"]="2023-10-3 00:00:00"
|
["start_time_1"]=8,
|
||||||
|
["end_time_1"]=15,
|
||||||
|
["func_open"]="core_box",
|
||||||
|
["version"]=1,
|
||||||
|
["act_gift"]={
|
||||||
|
119402,
|
||||||
|
119502,
|
||||||
|
119602,
|
||||||
|
119702,
|
||||||
|
119802,
|
||||||
|
119902,
|
||||||
|
120002,
|
||||||
|
120102,
|
||||||
|
120202
|
||||||
},
|
},
|
||||||
[406]={
|
["show_reward"]={
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=228,
|
||||||
|
["id_for_nothing"]="VApU",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=68,
|
||||||
|
["id_for_nothing"]="UAA=",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=222,
|
||||||
|
["id_for_nothing"]="VApe",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_GOGOGO_DESC_22"
|
||||||
|
},
|
||||||
|
[11501]={
|
||||||
["act_type"]=4,
|
["act_type"]=4,
|
||||||
["start_time"]="2023-09-28 00:00:00",
|
["time_type"]=1,
|
||||||
["end_time"]="2023-10-08 00:00:00"
|
["start_time_1"]=15,
|
||||||
|
["end_time_1"]=22,
|
||||||
|
["func_open"]="summon_force",
|
||||||
|
["version"]=1,
|
||||||
|
["act_gift"]={
|
||||||
|
1100102,
|
||||||
|
1100202,
|
||||||
|
1100302,
|
||||||
|
1100402,
|
||||||
|
1100502,
|
||||||
|
1100602,
|
||||||
|
1100702,
|
||||||
|
1100802,
|
||||||
|
1100902
|
||||||
},
|
},
|
||||||
[506]={
|
["show_reward"]={
|
||||||
["act_type"]=2,
|
{
|
||||||
["start_time"]="2023-10-2 00:00:00",
|
["type"]=1,
|
||||||
["end_time"]="2023-10-10 00:00:00"
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=231,
|
||||||
|
["id_for_nothing"]="VAtd",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
},
|
},
|
||||||
[606]={
|
{
|
||||||
["act_type"]=3,
|
["type"]=1,
|
||||||
["start_time"]="2023-10-9 00:00:00",
|
["type_for_nothing"]="Vw==",
|
||||||
["end_time"]="2023-10-17 00:00:00"
|
["id"]=5,
|
||||||
|
["id_for_nothing"]="Uw==",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
},
|
},
|
||||||
[706]={
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=37,
|
||||||
|
["id_for_nothing"]="VQ8=",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_GOGOGO_DESC_21"
|
||||||
|
},
|
||||||
|
[11601]={
|
||||||
["act_type"]=5,
|
["act_type"]=5,
|
||||||
["start_time"]="2023-10-16 00:00:00",
|
["time_type"]=1,
|
||||||
["end_time"]="2023-10-25 00:00:00"
|
["start_time_1"]=22,
|
||||||
|
["end_time_1"]=29,
|
||||||
|
["func_open"]="core_box",
|
||||||
|
["version"]=1,
|
||||||
|
["act_gift"]={
|
||||||
|
1101002,
|
||||||
|
1101102,
|
||||||
|
1101202,
|
||||||
|
1101302,
|
||||||
|
1101402,
|
||||||
|
1101502,
|
||||||
|
1101602,
|
||||||
|
1101702,
|
||||||
|
1101802
|
||||||
},
|
},
|
||||||
[806]={
|
["show_reward"]={
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=228,
|
||||||
|
["id_for_nothing"]="VApU",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=68,
|
||||||
|
["id_for_nothing"]="UAA=",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=222,
|
||||||
|
["id_for_nothing"]="VApe",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_GOGOGO_DESC_22"
|
||||||
|
},
|
||||||
|
[11701]={
|
||||||
["act_type"]=2,
|
["act_type"]=2,
|
||||||
["start_time"]="2023-10-24 00:00:00",
|
["time_type"]=1,
|
||||||
["end_time"]="2023-11-01 00:00:00"
|
["start_time_1"]=1,
|
||||||
|
["end_time_1"]=8,
|
||||||
|
["func_open"]="activity_open",
|
||||||
|
["version"]=3,
|
||||||
|
["act_gift"]={
|
||||||
|
1104802,
|
||||||
|
1104902,
|
||||||
|
1105002,
|
||||||
|
1105102,
|
||||||
|
1105202,
|
||||||
|
1105302,
|
||||||
|
1105402
|
||||||
},
|
},
|
||||||
[906]={
|
["show_reward"]={
|
||||||
["act_type"]=6,
|
{
|
||||||
["start_time"]="2023-10-31 00:00:00",
|
["type"]=1,
|
||||||
["end_time"]="2023-11-09 00:00:00"
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=231,
|
||||||
|
["id_for_nothing"]="VAtd",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
},
|
},
|
||||||
[1006]={
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=5,
|
||||||
|
["id_for_nothing"]="Uw==",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_GOGOGO_DESC_21"
|
||||||
|
},
|
||||||
|
[11801]={
|
||||||
["act_type"]=3,
|
["act_type"]=3,
|
||||||
["start_time"]="2023-11-8 00:00:00",
|
["time_type"]=1,
|
||||||
["end_time"]="2023-11-16 00:00:00"
|
["start_time_1"]=8,
|
||||||
|
["end_time_1"]=15,
|
||||||
|
["func_open"]="core_box",
|
||||||
|
["version"]=3,
|
||||||
|
["act_gift"]={
|
||||||
|
1105502,
|
||||||
|
1105602,
|
||||||
|
1105702,
|
||||||
|
1105802,
|
||||||
|
1105902,
|
||||||
|
1106002,
|
||||||
|
1106102
|
||||||
},
|
},
|
||||||
[1106]={
|
["show_reward"]={
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=228,
|
||||||
|
["id_for_nothing"]="VApU",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=68,
|
||||||
|
["id_for_nothing"]="UAA=",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_GOGOGO_DESC_22"
|
||||||
|
},
|
||||||
|
[11901]={
|
||||||
|
["act_type"]=4,
|
||||||
|
["time_type"]=1,
|
||||||
|
["start_time_1"]=15,
|
||||||
|
["circle"]={
|
||||||
|
7,
|
||||||
|
14
|
||||||
|
},
|
||||||
|
["func_open"]="summon_force",
|
||||||
|
["version"]=3,
|
||||||
|
["act_gift"]={
|
||||||
|
1106202,
|
||||||
|
1106302,
|
||||||
|
1106402,
|
||||||
|
1106502,
|
||||||
|
1106602,
|
||||||
|
1106702,
|
||||||
|
1106802
|
||||||
|
},
|
||||||
|
["show_reward"]={
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=231,
|
||||||
|
["id_for_nothing"]="VAtd",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=5,
|
||||||
|
["id_for_nothing"]="Uw==",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_GOGOGO_DESC_21"
|
||||||
|
},
|
||||||
|
[12001]={
|
||||||
["act_type"]=5,
|
["act_type"]=5,
|
||||||
["start_time"]="2023-11-15 00:00:00",
|
["time_type"]=1,
|
||||||
["end_time"]="2023-11-24 00:00:00"
|
["start_time_1"]=22,
|
||||||
|
["circle"]={
|
||||||
|
7,
|
||||||
|
14
|
||||||
},
|
},
|
||||||
[1206]={
|
["func_open"]="core_box",
|
||||||
["act_type"]=2,
|
["version"]=3,
|
||||||
["start_time"]="2023-11-23 00:00:00",
|
["act_gift"]={
|
||||||
["end_time"]="2023-12-01 00:00:00"
|
1106902,
|
||||||
|
1107002,
|
||||||
|
1107102,
|
||||||
|
1107202,
|
||||||
|
1107302,
|
||||||
|
1107402,
|
||||||
|
1107502
|
||||||
},
|
},
|
||||||
[1306]={
|
["show_reward"]={
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=228,
|
||||||
|
["id_for_nothing"]="VApU",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=68,
|
||||||
|
["id_for_nothing"]="UAA=",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["act_name"]="ACT_GOGOGO_DESC_22"
|
||||||
|
},
|
||||||
|
[12101]={
|
||||||
["act_type"]=6,
|
["act_type"]=6,
|
||||||
["start_time"]="2023-11-30 00:00:00",
|
["time_type"]=1,
|
||||||
["end_time"]="2023-12-09 00:00:00"
|
["start_time_1"]=29,
|
||||||
|
["circle"]={
|
||||||
|
7,
|
||||||
|
14
|
||||||
},
|
},
|
||||||
[1406]={
|
["version"]=3,
|
||||||
["act_type"]=3,
|
["act_gift"]={
|
||||||
["start_time"]="2023-12-8 00:00:00",
|
1107602,
|
||||||
["end_time"]="2023-12-16 00:00:00"
|
1107702,
|
||||||
|
1107802,
|
||||||
|
1107902,
|
||||||
|
1108002,
|
||||||
|
1108102,
|
||||||
|
1108202
|
||||||
},
|
},
|
||||||
[1506]={
|
["show_reward"]={
|
||||||
["act_type"]=5,
|
{
|
||||||
["start_time"]="2023-12-15 00:00:00",
|
["type"]=1,
|
||||||
["end_time"]="2023-12-24 00:00:00"
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=19,
|
||||||
|
["id_for_nothing"]="VwE=",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
},
|
},
|
||||||
[1606]={
|
{
|
||||||
["act_type"]=2,
|
["type"]=1,
|
||||||
["start_time"]="2023-12-23 00:00:00",
|
["type_for_nothing"]="Vw==",
|
||||||
["end_time"]="2023-12-31 00:00:00"
|
["id"]=28,
|
||||||
|
["id_for_nothing"]="VAA=",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
},
|
},
|
||||||
[1706]={
|
{
|
||||||
["act_type"]=6,
|
["type"]=1,
|
||||||
["start_time"]="2023-12-30 00:00:00",
|
["type_for_nothing"]="Vw==",
|
||||||
["end_time"]="2024-01-08 00:00:00"
|
["id"]=209,
|
||||||
|
["id_for_nothing"]="VAhV",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
}
|
||||||
},
|
},
|
||||||
[1806]={
|
["act_name"]="ACT_GOGOGO_DESC_23"
|
||||||
["act_type"]=3,
|
|
||||||
["start_time"]="2024-01-07 00:00:00",
|
|
||||||
["end_time"]="2024-01-15 00:00:00"
|
|
||||||
},
|
},
|
||||||
[1906]={
|
[12201]={
|
||||||
["act_type"]=5,
|
["act_type"]=8,
|
||||||
["start_time"]="2024-01-14 00:00:00",
|
["parameter"]={
|
||||||
["end_time"]="2024-01-23 00:00:00"
|
11901
|
||||||
},
|
},
|
||||||
[2006]={
|
["time_type"]=1,
|
||||||
["act_type"]=2,
|
["start_time_1"]=15,
|
||||||
["start_time"]="2024-01-22 00:00:00",
|
["circle"]={
|
||||||
["end_time"]="2024-01-30 00:00:00"
|
14,
|
||||||
|
7
|
||||||
},
|
},
|
||||||
[2106]={
|
["version"]=3,
|
||||||
["act_type"]=6,
|
["act_gift"]={
|
||||||
["start_time"]="2024-01-29 00:00:00",
|
1500102,
|
||||||
["end_time"]="2024-02-07 00:00:00"
|
1500202,
|
||||||
|
1500302,
|
||||||
|
1500402,
|
||||||
|
1500502,
|
||||||
|
1500602,
|
||||||
|
1500702,
|
||||||
|
1500802,
|
||||||
|
1500902,
|
||||||
|
1501002,
|
||||||
|
1501102,
|
||||||
|
1501202,
|
||||||
|
1501302,
|
||||||
|
1501402,
|
||||||
|
1501502,
|
||||||
|
1501602,
|
||||||
|
1501702,
|
||||||
|
1501802,
|
||||||
|
1501902,
|
||||||
|
1502002,
|
||||||
|
1502102,
|
||||||
|
1502202,
|
||||||
|
1502302,
|
||||||
|
1502402,
|
||||||
|
1502502,
|
||||||
|
1502602,
|
||||||
|
1502702,
|
||||||
|
1502802
|
||||||
|
}
|
||||||
},
|
},
|
||||||
[2206]={
|
[12401]={
|
||||||
["act_type"]=3,
|
["act_type"]=9,
|
||||||
["start_time"]="2024-02-06 00:00:00",
|
["parameter"]={
|
||||||
["end_time"]="2024-02-14 00:00:00"
|
12001
|
||||||
},
|
},
|
||||||
[2306]={
|
["time_type"]=1,
|
||||||
["act_type"]=5,
|
["start_time_1"]=22,
|
||||||
["start_time"]="2024-02-13 00:00:00",
|
["circle"]={
|
||||||
["end_time"]="2024-02-22 00:00:00"
|
14,
|
||||||
|
7
|
||||||
},
|
},
|
||||||
[2406]={
|
["version"]=3,
|
||||||
["act_type"]=2,
|
["act_gift"]={
|
||||||
["start_time"]="2024-02-21 00:00:00",
|
1502902,
|
||||||
["end_time"]="2024-02-29 00:00:00"
|
1503002,
|
||||||
|
1503102,
|
||||||
|
1503202,
|
||||||
|
1503302,
|
||||||
|
1503402,
|
||||||
|
1503502,
|
||||||
|
1503602,
|
||||||
|
1503702,
|
||||||
|
1503802,
|
||||||
|
1503902,
|
||||||
|
1504002,
|
||||||
|
1504102,
|
||||||
|
1504202,
|
||||||
|
1504302,
|
||||||
|
1504402,
|
||||||
|
1504502,
|
||||||
|
1504602,
|
||||||
|
1504702,
|
||||||
|
1504802,
|
||||||
|
1504902,
|
||||||
|
1505002,
|
||||||
|
1505102,
|
||||||
|
1505202,
|
||||||
|
1505302,
|
||||||
|
1505402,
|
||||||
|
1505502,
|
||||||
|
1505602
|
||||||
|
}
|
||||||
},
|
},
|
||||||
[2506]={
|
[12501]={
|
||||||
["act_type"]=6,
|
["act_type"]=7,
|
||||||
["start_time"]="2024-02-28 00:00:00",
|
["parameter"]={
|
||||||
["end_time"]="2024-03-08 00:00:00"
|
12101
|
||||||
},
|
},
|
||||||
[2606]={
|
["time_type"]=1,
|
||||||
["act_type"]=3,
|
["start_time_1"]=29,
|
||||||
["start_time"]="2024-03-07 00:00:00",
|
["circle"]={
|
||||||
["end_time"]="2024-03-15 00:00:00"
|
14,
|
||||||
|
7
|
||||||
},
|
},
|
||||||
[2706]={
|
["version"]=3,
|
||||||
["act_type"]=5,
|
["act_gift"]={
|
||||||
["start_time"]="2024-03-14 00:00:00",
|
1505702,
|
||||||
["end_time"]="2024-03-23 00:00:00"
|
1505802,
|
||||||
|
1505902,
|
||||||
|
1506002,
|
||||||
|
1506102,
|
||||||
|
1506202,
|
||||||
|
1506302,
|
||||||
|
1506402,
|
||||||
|
1506502,
|
||||||
|
1506602,
|
||||||
|
1506702,
|
||||||
|
1506802,
|
||||||
|
1506902,
|
||||||
|
1507002,
|
||||||
|
1507102,
|
||||||
|
1507202,
|
||||||
|
1507302,
|
||||||
|
1507402,
|
||||||
|
1507502,
|
||||||
|
1507602,
|
||||||
|
1507702,
|
||||||
|
1507802,
|
||||||
|
1507902,
|
||||||
|
1508002,
|
||||||
|
1508102,
|
||||||
|
1508202,
|
||||||
|
1508302,
|
||||||
|
1508402
|
||||||
|
}
|
||||||
},
|
},
|
||||||
[2806]={
|
[12601]={
|
||||||
["act_type"]=2,
|
["act_type"]=1,
|
||||||
["start_time"]="2024-03-22 00:00:00",
|
["parameter"]={
|
||||||
["end_time"]="2024-03-30 00:00:00"
|
4003,
|
||||||
|
4004
|
||||||
},
|
},
|
||||||
[2906]={
|
["time_type"]=1,
|
||||||
["act_type"]=6,
|
["start_time_1"]=8,
|
||||||
["start_time"]="2024-03-29 00:00:00",
|
["end_time_1"]=22,
|
||||||
["end_time"]="2024-04-07 00:00:00"
|
["version"]=3,
|
||||||
|
["act_gift"]={
|
||||||
|
1108602,
|
||||||
|
1108702,
|
||||||
|
1108802,
|
||||||
|
1108902,
|
||||||
|
1109002,
|
||||||
|
1109102,
|
||||||
|
1109202,
|
||||||
|
1109302
|
||||||
},
|
},
|
||||||
[3006]={
|
["act_name"]="ACT_HERO_SUIT_DESC_1",
|
||||||
["act_type"]=3,
|
["act_banner_bg"]=11101
|
||||||
["start_time"]="2024-04-06 00:00:00",
|
|
||||||
["end_time"]="2024-04-14 00:00:00"
|
|
||||||
},
|
},
|
||||||
[3106]={
|
[12701]={
|
||||||
["act_type"]=5,
|
["act_type"]=1,
|
||||||
["start_time"]="2024-04-13 00:00:00",
|
["parameter"]={
|
||||||
["end_time"]="2024-04-22 00:00:00"
|
4001,
|
||||||
|
4002
|
||||||
},
|
},
|
||||||
[3206]={
|
["time_type"]=1,
|
||||||
["act_type"]=2,
|
["start_time_1"]=22,
|
||||||
["start_time"]="2024-04-21 00:00:00",
|
["end_time_1"]=36,
|
||||||
["end_time"]="2024-04-29 00:00:00"
|
["version"]=3,
|
||||||
|
["act_gift"]={
|
||||||
|
1111402,
|
||||||
|
1111502,
|
||||||
|
1111602,
|
||||||
|
1111702,
|
||||||
|
1111802,
|
||||||
|
1111902,
|
||||||
|
1112002,
|
||||||
|
1112102
|
||||||
},
|
},
|
||||||
[3306]={
|
["act_name"]="ACT_HERO_SUIT_DESC_11",
|
||||||
["act_type"]=6,
|
["act_banner_bg"]=11201
|
||||||
["start_time"]="2024-04-28 00:00:00",
|
|
||||||
["end_time"]="2024-05-07 00:00:00"
|
|
||||||
},
|
},
|
||||||
[3406]={
|
[12801]={
|
||||||
["act_type"]=3,
|
["act_type"]=1,
|
||||||
["start_time"]="2024-05-06 00:00:00",
|
["parameter"]={
|
||||||
["end_time"]="2024-05-14 00:00:00"
|
4005,
|
||||||
|
4006
|
||||||
},
|
},
|
||||||
[3506]={
|
["time_type"]=1,
|
||||||
["act_type"]=5,
|
["start_time_1"]=36,
|
||||||
["start_time"]="2024-05-13 00:00:00",
|
["end_time_1"]=50,
|
||||||
["end_time"]="2024-05-22 00:00:00"
|
["version"]=3,
|
||||||
|
["act_gift"]={
|
||||||
|
1116202,
|
||||||
|
1116302,
|
||||||
|
1116402,
|
||||||
|
1116502,
|
||||||
|
1116602,
|
||||||
|
1116702,
|
||||||
|
1116802,
|
||||||
|
1116902
|
||||||
},
|
},
|
||||||
[3606]={
|
["act_name"]="ACT_HERO_SUIT_DESC_17",
|
||||||
["act_type"]=2,
|
["act_banner_bg"]=12301
|
||||||
["start_time"]="2024-05-21 00:00:00",
|
|
||||||
["end_time"]="2024-05-29 00:00:00"
|
|
||||||
},
|
},
|
||||||
[3706]={
|
[12901]={
|
||||||
["act_type"]=6,
|
["act_type"]=1,
|
||||||
["start_time"]="2024-05-28 00:00:00",
|
["parameter"]={
|
||||||
["end_time"]="2024-06-06 00:00:00"
|
4007,
|
||||||
|
4008
|
||||||
},
|
},
|
||||||
[3806]={
|
["time_type"]=1,
|
||||||
["act_type"]=3,
|
["start_time_1"]=50,
|
||||||
["start_time"]="2024-06-05 00:00:00",
|
["end_time_1"]=64,
|
||||||
["end_time"]="2024-06-13 00:00:00"
|
["version"]=3,
|
||||||
|
["act_gift"]={
|
||||||
|
1119002,
|
||||||
|
1119102,
|
||||||
|
1119202,
|
||||||
|
1119302,
|
||||||
|
1119402,
|
||||||
|
1119502,
|
||||||
|
1119602,
|
||||||
|
1119702
|
||||||
},
|
},
|
||||||
[3906]={
|
["act_name"]="ACT_HERO_SUIT_DESC_18",
|
||||||
["act_type"]=5,
|
["act_banner_bg"]=12901
|
||||||
["start_time"]="2024-06-12 00:00:00",
|
|
||||||
["end_time"]="2024-06-21 00:00:00"
|
|
||||||
},
|
|
||||||
[4006]={
|
|
||||||
["act_type"]=2,
|
|
||||||
["start_time"]="2024-06-20 00:00:00",
|
|
||||||
["end_time"]="2024-06-28 00:00:00"
|
|
||||||
},
|
|
||||||
[4106]={
|
|
||||||
["act_type"]=6,
|
|
||||||
["start_time"]="2024-06-27 00:00:00",
|
|
||||||
["end_time"]="2024-07-06 00:00:00"
|
|
||||||
},
|
|
||||||
[4206]={
|
|
||||||
["act_type"]=3,
|
|
||||||
["start_time"]="2024-07-05 00:00:00",
|
|
||||||
["end_time"]="2024-07-13 00:00:00"
|
|
||||||
},
|
|
||||||
[4306]={
|
|
||||||
["act_type"]=5,
|
|
||||||
["start_time"]="2024-07-12 00:00:00",
|
|
||||||
["end_time"]="2024-07-21 00:00:00"
|
|
||||||
},
|
|
||||||
[4406]={
|
|
||||||
["act_type"]=2,
|
|
||||||
["start_time"]="2024-07-20 00:00:00",
|
|
||||||
["end_time"]="2024-07-28 00:00:00"
|
|
||||||
},
|
|
||||||
[4506]={
|
|
||||||
["act_type"]=6,
|
|
||||||
["start_time"]="2024-07-27 00:00:00",
|
|
||||||
["end_time"]="2024-08-05 00:00:00"
|
|
||||||
},
|
|
||||||
[4606]={
|
|
||||||
["act_type"]=3,
|
|
||||||
["start_time"]="2024-08-04 00:00:00",
|
|
||||||
["end_time"]="2024-08-12 00:00:00"
|
|
||||||
},
|
|
||||||
[4706]={
|
|
||||||
["act_type"]=5,
|
|
||||||
["start_time"]="2024-08-11 00:00:00",
|
|
||||||
["end_time"]="2024-08-20 00:00:00"
|
|
||||||
},
|
|
||||||
[4806]={
|
|
||||||
["act_type"]=2,
|
|
||||||
["start_time"]="2024-08-19 00:00:00",
|
|
||||||
["end_time"]="2024-08-27 00:00:00"
|
|
||||||
},
|
|
||||||
[4906]={
|
|
||||||
["act_type"]=6,
|
|
||||||
["start_time"]="2024-08-26 00:00:00",
|
|
||||||
["end_time"]="2024-09-04 00:00:00"
|
|
||||||
},
|
|
||||||
[5006]={
|
|
||||||
["act_type"]=3,
|
|
||||||
["start_time"]="2024-09-03 00:00:00",
|
|
||||||
["end_time"]="2024-09-11 00:00:00"
|
|
||||||
},
|
|
||||||
[5106]={
|
|
||||||
["act_type"]=5,
|
|
||||||
["start_time"]="2024-09-10 00:00:00",
|
|
||||||
["end_time"]="2024-09-19 00:00:00"
|
|
||||||
},
|
|
||||||
[5206]={
|
|
||||||
["act_type"]=2,
|
|
||||||
["start_time"]="2024-09-18 00:00:00",
|
|
||||||
["end_time"]="2024-09-26 00:00:00"
|
|
||||||
},
|
|
||||||
[5306]={
|
|
||||||
["act_type"]=6,
|
|
||||||
["start_time"]="2024-09-25 00:00:00",
|
|
||||||
["end_time"]="2024-10-04 00:00:00"
|
|
||||||
},
|
|
||||||
[5406]={
|
|
||||||
["act_type"]=3,
|
|
||||||
["start_time"]="2024-10-03 00:00:00",
|
|
||||||
["end_time"]="2024-10-11 00:00:00"
|
|
||||||
},
|
|
||||||
[5506]={
|
|
||||||
["act_type"]=5,
|
|
||||||
["start_time"]="2024-10-10 00:00:00",
|
|
||||||
["end_time"]="2024-10-19 00:00:00"
|
|
||||||
},
|
|
||||||
[5606]={
|
|
||||||
["act_type"]=2,
|
|
||||||
["start_time"]="2024-10-18 00:00:00",
|
|
||||||
["end_time"]="2024-10-26 00:00:00"
|
|
||||||
},
|
|
||||||
[5706]={
|
|
||||||
["act_type"]=6,
|
|
||||||
["start_time"]="2024-10-25 00:00:00",
|
|
||||||
["end_time"]="2024-11-03 00:00:00"
|
|
||||||
},
|
|
||||||
[5806]={
|
|
||||||
["act_type"]=3,
|
|
||||||
["start_time"]="2024-11-02 00:00:00",
|
|
||||||
["end_time"]="2024-11-10 00:00:00"
|
|
||||||
},
|
|
||||||
[5906]={
|
|
||||||
["act_type"]=5,
|
|
||||||
["start_time"]="2024-11-09 00:00:00",
|
|
||||||
["end_time"]="2024-11-18 00:00:00"
|
|
||||||
},
|
|
||||||
[6006]={
|
|
||||||
["act_type"]=2,
|
|
||||||
["start_time"]="2024-11-17 00:00:00",
|
|
||||||
["end_time"]="2024-11-25 00:00:00"
|
|
||||||
},
|
|
||||||
[6106]={
|
|
||||||
["act_type"]=6,
|
|
||||||
["start_time"]="2024-11-24 00:00:00",
|
|
||||||
["end_time"]="2024-12-03 00:00:00"
|
|
||||||
},
|
|
||||||
[6206]={
|
|
||||||
["act_type"]=3,
|
|
||||||
["start_time"]="2024-12-02 00:00:00",
|
|
||||||
["end_time"]="2024-12-10 00:00:00"
|
|
||||||
},
|
|
||||||
[6306]={
|
|
||||||
["act_type"]=5,
|
|
||||||
["start_time"]="2024-12-09 00:00:00",
|
|
||||||
["end_time"]="2024-12-18 00:00:00"
|
|
||||||
},
|
|
||||||
[6406]={
|
|
||||||
["act_type"]=2,
|
|
||||||
["start_time"]="2024-12-17 00:00:00",
|
|
||||||
["end_time"]="2024-12-25 00:00:00"
|
|
||||||
},
|
|
||||||
[6506]={
|
|
||||||
["act_type"]=6,
|
|
||||||
["start_time"]="2024-12-24 00:00:00",
|
|
||||||
["end_time"]="2025-01-02 00:00:00"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
local config = {
|
local config = {
|
||||||
data=activity,count=65
|
data=activity,count=19
|
||||||
}
|
}
|
||||||
return config
|
return config
|
||||||
@ -491,6 +491,29 @@ local const = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
["act_gogogo_round_limit_5"]={
|
||||||
|
["value"]=5.0
|
||||||
|
},
|
||||||
|
["act_gogogo_round_reward_5"]={
|
||||||
|
["cost"]={
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=231,
|
||||||
|
["id_for_nothing"]="VAtd",
|
||||||
|
["num"]=1,
|
||||||
|
["num_for_nothing"]="Vw=="
|
||||||
|
},
|
||||||
|
{
|
||||||
|
["type"]=1,
|
||||||
|
["type_for_nothing"]="Vw==",
|
||||||
|
["id"]=37,
|
||||||
|
["id_for_nothing"]="VQ8=",
|
||||||
|
["num"]=50,
|
||||||
|
["num_for_nothing"]="Uwg="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
["act_bounty_buy_cost"]={
|
["act_bounty_buy_cost"]={
|
||||||
["cost"]={
|
["cost"]={
|
||||||
{
|
{
|
||||||
|
|||||||
@ -833,6 +833,26 @@ local LocalizationGlobalConst =
|
|||||||
GIFT_ROUTINE_DESC_18 = "GIFT_ROUTINE_DESC_18",
|
GIFT_ROUTINE_DESC_18 = "GIFT_ROUTINE_DESC_18",
|
||||||
GIFT_ROUTINE_DESC_19 = "GIFT_ROUTINE_DESC_19",
|
GIFT_ROUTINE_DESC_19 = "GIFT_ROUTINE_DESC_19",
|
||||||
FREE_DESC = "FREE_DESC",
|
FREE_DESC = "FREE_DESC",
|
||||||
|
ACT_GOGOGO_DESC_1 = "ACT_GOGOGO_DESC_1",
|
||||||
|
ACT_GOGOGO_DESC_2 = "ACT_GOGOGO_DESC_2",
|
||||||
|
ACT_GOGOGO_DESC_3 = "ACT_GOGOGO_DESC_3",
|
||||||
|
ACT_GOGOGO_DESC_4 = "ACT_GOGOGO_DESC_4",
|
||||||
|
ACT_GOGOGO_DESC_5 = "ACT_GOGOGO_DESC_5",
|
||||||
|
ACT_GOGOGO_DESC_6 = "ACT_GOGOGO_DESC_6",
|
||||||
|
ACT_GOGOGO_DESC_7 = "ACT_GOGOGO_DESC_7",
|
||||||
|
ACT_GOGOGO_DESC_8 = "ACT_GOGOGO_DESC_8",
|
||||||
|
ACT_GOGOGO_DESC_9 = "ACT_GOGOGO_DESC_9",
|
||||||
|
ACT_GOGOGO_DESC_10 = "ACT_GOGOGO_DESC_10",
|
||||||
|
ACT_GOGOGO_DESC_11 = "ACT_GOGOGO_DESC_11",
|
||||||
|
ACT_GOGOGO_DESC_12 = "ACT_GOGOGO_DESC_12",
|
||||||
|
ACT_GOGOGO_DESC_13 = "ACT_GOGOGO_DESC_13",
|
||||||
|
ACT_GOGOGO_DESC_14 = "ACT_GOGOGO_DESC_14",
|
||||||
|
ACT_GOGOGO_DESC_15 = "ACT_GOGOGO_DESC_15",
|
||||||
|
ACT_GOGOGO_DESC_16 = "ACT_GOGOGO_DESC_16",
|
||||||
|
ACT_GOGOGO_DESC_17 = "ACT_GOGOGO_DESC_17",
|
||||||
|
ACT_GOGOGO_DESC_18 = "ACT_GOGOGO_DESC_18",
|
||||||
|
ACT_GOGOGO_DESC_19 = "ACT_GOGOGO_DESC_19",
|
||||||
|
ACT_GOGOGO_DESC_20 = "ACT_GOGOGO_DESC_20",
|
||||||
}
|
}
|
||||||
|
|
||||||
return LocalizationGlobalConst
|
return LocalizationGlobalConst
|
||||||
@ -832,6 +832,27 @@ local localization_global =
|
|||||||
["GIFT_ROUTINE_DESC_18"] = "精彩活动",
|
["GIFT_ROUTINE_DESC_18"] = "精彩活动",
|
||||||
["GIFT_ROUTINE_DESC_19"] = "必买",
|
["GIFT_ROUTINE_DESC_19"] = "必买",
|
||||||
["FREE_DESC"] = "免费",
|
["FREE_DESC"] = "免费",
|
||||||
|
["ACT_GOGOGO_DESC_1"] = "限时冲刺",
|
||||||
|
["ACT_GOGOGO_DESC_2"] = "{0}冲刺",
|
||||||
|
["ACT_GOGOGO_DESC_3"] = "冲刺商店",
|
||||||
|
["ACT_GOGOGO_DESC_4"] = "冲刺星星兑换",
|
||||||
|
["ACT_GOGOGO_DESC_5"] = "每日限购:{0}/{1}",
|
||||||
|
["ACT_GOGOGO_DESC_6"] = "每周限购:{0}/{1}",
|
||||||
|
["ACT_GOGOGO_DESC_7"] = "永久限购:{0}/{1}",
|
||||||
|
["ACT_GOGOGO_DESC_8"] = "已售罄",
|
||||||
|
["ACT_GOGOGO_DESC_9"] = "当前轮次",
|
||||||
|
["ACT_GOGOGO_DESC_10"] = "冲刺礼包",
|
||||||
|
["ACT_GOGOGO_DESC_11"] = "冲刺任务",
|
||||||
|
["ACT_GOGOGO_DESC_12"] = "完成本轮获得",
|
||||||
|
["ACT_GOGOGO_DESC_13"] = "已完成",
|
||||||
|
["ACT_GOGOGO_DESC_14"] = "前往",
|
||||||
|
["ACT_GOGOGO_DESC_15"] = "活动剩余时间",
|
||||||
|
["ACT_GOGOGO_DESC_16"] = "消耗{0},获取奖励",
|
||||||
|
["ACT_GOGOGO_DESC_17"] = "1. 完成任务,可获得奖励。\n2. 所有任务全部完成,视为完成一轮,可领取轮次奖励。\n3. 轮次奖励有领取上限,达到上限后任务不再计数。",
|
||||||
|
["ACT_GOGOGO_DESC_18"] = "消耗金钥匙,获得奖励",
|
||||||
|
["ACT_GOGOGO_DESC_19"] = "召唤英雄,获得奖励",
|
||||||
|
["ACT_GOGOGO_DESC_20"] = "冲刺签到",
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return localization_global
|
return localization_global
|
||||||
@ -38,6 +38,7 @@ function Game:initBase()
|
|||||||
BF.exports.Logger = require "app/common/logger"
|
BF.exports.Logger = require "app/common/logger"
|
||||||
BF.exports.LocalData = require "app/common/local_data"
|
BF.exports.LocalData = require "app/common/local_data"
|
||||||
BF.exports.BIReport = require "app/common/bi_report"
|
BF.exports.BIReport = require "app/common/bi_report"
|
||||||
|
BF.exports.BIReportV2 = require "app/common/bi_report_v2"
|
||||||
BF.exports.SchedulerManager = require "app/common/scheduler_manager"
|
BF.exports.SchedulerManager = require "app/common/scheduler_manager"
|
||||||
BF.exports.ResourceManager = require "app/common/resource_manager"
|
BF.exports.ResourceManager = require "app/common/resource_manager"
|
||||||
BF.exports.AudioManager = require "app/common/audio_manager"
|
BF.exports.AudioManager = require "app/common/audio_manager"
|
||||||
|
|||||||
@ -29,6 +29,8 @@ local CONST_PATHS = {
|
|||||||
TournArenaConst = "app/module/activity/tourn_arena/tourn_arena_const",
|
TournArenaConst = "app/module/activity/tourn_arena/tourn_arena_const",
|
||||||
BountyConst = "app/module/bounty/bounty_const",
|
BountyConst = "app/module/bounty/bounty_const",
|
||||||
SignConst = "app/module/sign/sign_const",
|
SignConst = "app/module/sign/sign_const",
|
||||||
|
|
||||||
|
ActSprintConst = "app/module/activity/act_sprint/act_sprint_const",
|
||||||
}
|
}
|
||||||
|
|
||||||
if EDITOR_MODE then
|
if EDITOR_MODE then
|
||||||
|
|||||||
8
lua/app/module/activity/act_sprint.meta
Normal file
8
lua/app/module/activity/act_sprint.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a61562936c7ce4303bcc632ee31b9e35
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
221
lua/app/module/activity/act_sprint/act_sprint_const.lua
Normal file
221
lua/app/module/activity/act_sprint/act_sprint_const.lua
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
local ActSprintConst = {}
|
||||||
|
|
||||||
|
ActSprintConst.ACT_ID = {
|
||||||
|
-- SUMMON = 11301,
|
||||||
|
-- CORE_SOUL_BOX = 11401,
|
||||||
|
-- SUMMON_V2 = 11501,
|
||||||
|
-- CORE_SOUL_BOX_V2 = 11601,
|
||||||
|
-- 新版新手
|
||||||
|
SUMMON_ALL = 11701,
|
||||||
|
-- CORE_SOUL_BOX_ALL = 11801,
|
||||||
|
-- -- Loop
|
||||||
|
-- SUMMON_LOOP = 11901,
|
||||||
|
-- CORE_SOUL_BOX_LOOP = 12001,
|
||||||
|
-- TREE_LOOP = 12101,
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.ACT_ID_NOT_SHOP = {
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_V2] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2] = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.ACT_ID_MAP = {
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_V2] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2] = true,
|
||||||
|
|
||||||
|
[ActSprintConst.ACT_ID.SUMMON_ALL] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_LOOP] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP] = true,
|
||||||
|
-- [ActSprintConst.ACT_ID.TREE_LOOP] = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.ACT_LIST_BANNER = {
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_2.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_5.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_V2] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_2.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_5.png",
|
||||||
|
|
||||||
|
[ActSprintConst.ACT_ID.SUMMON_ALL] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_2.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_5.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_LOOP] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_2.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_5.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.TREE_LOOP] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_7.png",
|
||||||
|
}
|
||||||
|
ActSprintConst.ACT_LIST_NAME = {
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON] = I18N.GlobalConst.ACT_GOGOGO_DESC_1,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX] = I18N.GlobalConst.ACT_GOGOGO_DESC_1,
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_V2] = I18N.GlobalConst.ACT_GOGOGO_DESC_1,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2] = I18N.GlobalConst.ACT_GOGOGO_DESC_1,
|
||||||
|
|
||||||
|
[ActSprintConst.ACT_ID.SUMMON_ALL] = I18N.GlobalConst.ACT_GOGOGO_DESC_1,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL] = I18N.GlobalConst.ACT_GOGOGO_DESC_1,
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_LOOP] = I18N.GlobalConst.ACT_GOGOGO_DESC_1,
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP] = I18N.GlobalConst.ACT_GOGOGO_DESC_1,
|
||||||
|
-- [ActSprintConst.ACT_ID.TREE_LOOP] = I18N.GlobalConst.ACT_GOGOGO_DESC_1,
|
||||||
|
}
|
||||||
|
ActSprintConst.ACT_MAIN_BANNER = {
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_1.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_4.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_V2] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_1.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_4.png",
|
||||||
|
|
||||||
|
[ActSprintConst.ACT_ID.SUMMON_ALL] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_1.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_4.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_LOOP] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_1.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_4.png",
|
||||||
|
-- [ActSprintConst.ACT_ID.TREE_LOOP] = "assets/arts/textures/background/act_gogogo/act_gogogo_bg_6.png",
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.ACT_ROUND_LIMIT = {
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON] = GFunc.getConstIntValue("act_gogogo_round_limit_1"),
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX] = GFunc.getConstIntValue("act_gogogo_round_limit_2"),
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_V2] = GFunc.getConstIntValue("act_gogogo_round_limit_3"),
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2] = GFunc.getConstIntValue("act_gogogo_round_limit_4"),
|
||||||
|
|
||||||
|
[ActSprintConst.ACT_ID.SUMMON_ALL] = GFunc.getConstIntValue("act_gogogo_round_limit_5"),
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL] = GFunc.getConstIntValue("act_gogogo_round_limit_6"),
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_LOOP] = GFunc.getConstIntValue("act_gogogo_round_limit_7"),
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP] = GFunc.getConstIntValue("act_gogogo_round_limit_8"),
|
||||||
|
-- [ActSprintConst.ACT_ID.TREE_LOOP] = GFunc.getConstIntValue("act_gogogo_round_limit_9"),
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.ACT_ROUND_REWARD = {
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON] = GFunc.getConstCost("act_gogogo_round_reward_1", true),
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX] = GFunc.getConstCost("act_gogogo_round_reward_2", true),
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_V2] = GFunc.getConstCost("act_gogogo_round_reward_3", true),
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2] = GFunc.getConstCost("act_gogogo_round_reward_4", true),
|
||||||
|
|
||||||
|
[ActSprintConst.ACT_ID.SUMMON_ALL] = GFunc.getConstCost("act_gogogo_round_reward_5", true),
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL] = GFunc.getConstCost("act_gogogo_round_reward_6", true),
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_LOOP] = GFunc.getConstCost("act_gogogo_round_reward_7", true),
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP] = GFunc.getConstCost("act_gogogo_round_reward_8", true),
|
||||||
|
-- [ActSprintConst.ACT_ID.TREE_LOOP] = GFunc.getConstCost("act_gogogo_round_reward_9", true),
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.REFRESH_TYPE = {
|
||||||
|
DAY = 1,
|
||||||
|
WEEK = 2,
|
||||||
|
ONCE = 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.MAIN_PAGE_TYPE = {
|
||||||
|
STANDARD = 1,
|
||||||
|
GIFT = 2,
|
||||||
|
TASK = 3,
|
||||||
|
LOGIN = 4,
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.MAIN_PAGE_BTN_ICON_1 = {
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON] = {
|
||||||
|
-- [1] = "act_common_btn_27_1",
|
||||||
|
-- [2] = "act_common_btn_28_1",
|
||||||
|
-- [3] = "act_common_btn_29_1",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX] = {
|
||||||
|
-- [1] = "act_common_btn_27_1",
|
||||||
|
-- [2] = "act_common_btn_28_1",
|
||||||
|
-- [3] = "act_common_btn_29_1",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_V2] = {
|
||||||
|
-- [1] = "act_common_btn_27_1",
|
||||||
|
-- [2] = "act_common_btn_34_1",
|
||||||
|
-- [3] = "act_common_btn_28_1",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2] = {
|
||||||
|
-- [1] = "act_common_btn_27_1",
|
||||||
|
-- [2] = "act_common_btn_34_1",
|
||||||
|
-- [3] = "act_common_btn_28_1",
|
||||||
|
-- },
|
||||||
|
[ActSprintConst.ACT_ID.SUMMON_ALL] = {
|
||||||
|
[1] = "act_common_btn_27_1",
|
||||||
|
[2] = "act_common_btn_34_1",
|
||||||
|
[3] = "act_common_btn_29_1",
|
||||||
|
[4] = "act_common_btn_28_1",
|
||||||
|
},
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL] = {
|
||||||
|
-- [1] = "act_common_btn_27_1",
|
||||||
|
-- [2] = "act_common_btn_34_1",
|
||||||
|
-- [3] = "act_common_btn_29_1",
|
||||||
|
-- [4] = "act_common_btn_28_1",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_LOOP] = {
|
||||||
|
-- [1] = "act_common_btn_27_1",
|
||||||
|
-- [2] = "act_common_btn_34_1",
|
||||||
|
-- [3] = "act_common_btn_28_1",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP] = {
|
||||||
|
-- [1] = "act_common_btn_27_1",
|
||||||
|
-- [2] = "act_common_btn_34_1",
|
||||||
|
-- [3] = "act_common_btn_28_1",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.TREE_LOOP] = {
|
||||||
|
-- [1] = "act_common_btn_27_1",
|
||||||
|
-- [2] = "act_common_btn_34_1",
|
||||||
|
-- [3] = "act_common_btn_28_1",
|
||||||
|
-- },
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.MAIN_PAGE_BTN_ICON_2 = {
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON] = {
|
||||||
|
-- [1] = "act_common_btn_27_2",
|
||||||
|
-- [2] = "act_common_btn_28_2",
|
||||||
|
-- [3] = "act_common_btn_29_2",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX] = {
|
||||||
|
-- [1] = "act_common_btn_27_2",
|
||||||
|
-- [2] = "act_common_btn_28_2",
|
||||||
|
-- [3] = "act_common_btn_29_2",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_V2] = {
|
||||||
|
-- [1] = "act_common_btn_27_2",
|
||||||
|
-- [2] = "act_common_btn_34_2",
|
||||||
|
-- [3] = "act_common_btn_28_2",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2] = {
|
||||||
|
-- [1] = "act_common_btn_27_2",
|
||||||
|
-- [2] = "act_common_btn_34_2",
|
||||||
|
-- [3] = "act_common_btn_28_2",
|
||||||
|
-- },
|
||||||
|
[ActSprintConst.ACT_ID.SUMMON_ALL] = {
|
||||||
|
[1] = "act_common_btn_27_2",
|
||||||
|
[2] = "act_common_btn_34_2",
|
||||||
|
[3] = "act_common_btn_29_2",
|
||||||
|
[4] = "act_common_btn_28_2",
|
||||||
|
},
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL] = {
|
||||||
|
-- [1] = "act_common_btn_27_2",
|
||||||
|
-- [2] = "act_common_btn_34_2",
|
||||||
|
-- [3] = "act_common_btn_29_2",
|
||||||
|
-- [4] = "act_common_btn_28_2",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.SUMMON_LOOP] = {
|
||||||
|
-- [1] = "act_common_btn_27_2",
|
||||||
|
-- [2] = "act_common_btn_34_2",
|
||||||
|
-- [3] = "act_common_btn_28_2",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP] = {
|
||||||
|
-- [1] = "act_common_btn_27_2",
|
||||||
|
-- [2] = "act_common_btn_34_2",
|
||||||
|
-- [3] = "act_common_btn_28_2",
|
||||||
|
-- },
|
||||||
|
-- [ActSprintConst.ACT_ID.TREE_LOOP] = {
|
||||||
|
-- [1] = "act_common_btn_27_2",
|
||||||
|
-- [2] = "act_common_btn_34_2",
|
||||||
|
-- [3] = "act_common_btn_28_2",
|
||||||
|
-- },
|
||||||
|
}
|
||||||
|
|
||||||
|
ActSprintConst.MAIN_PAGE_BTN_DESC = {
|
||||||
|
[ActSprintConst.MAIN_PAGE_TYPE.STANDARD] = "ACT_GOGOGO_DESC_1",
|
||||||
|
[ActSprintConst.MAIN_PAGE_TYPE.GIFT] = "ACT_GOGOGO_DESC_10",
|
||||||
|
[ActSprintConst.MAIN_PAGE_TYPE.TASK] = "ACT_GOGOGO_DESC_11",
|
||||||
|
[ActSprintConst.MAIN_PAGE_TYPE.LOGIN] = "ACT_GOGOGO_DESC_20",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return ActSprintConst
|
||||||
10
lua/app/module/activity/act_sprint/act_sprint_const.lua.meta
Normal file
10
lua/app/module/activity/act_sprint/act_sprint_const.lua.meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ae5e0bf7c865d460ab482202a964e728
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
191
lua/app/module/activity/act_sprint/act_sprint_manager.lua
Normal file
191
lua/app/module/activity/act_sprint/act_sprint_manager.lua
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
local ActSprintManager = class("ActSprintManager", BaseModule)
|
||||||
|
|
||||||
|
local CLIENT_MODE = false
|
||||||
|
|
||||||
|
function ActSprintManager:showActSprintListUI(params)
|
||||||
|
UIManager:showUI("app/ui/activity/act_sprint/act_sprint_list_ui", params)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintManager:showActSprintShopUI(params)
|
||||||
|
UIManager:showUI("app/ui/activity/act_sprint/act_sprint_shop_ui", params)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintManager:showActSprintMainUI(params)
|
||||||
|
local actId = params.actId
|
||||||
|
if actId == GConst.ActSprintConst.ACT_ID.SUMMON_ALL then
|
||||||
|
UIManager:showUI("app/ui/activity/act_sprint_summon_all/act_sprint_main_ui", params)
|
||||||
|
end
|
||||||
|
-- if actId == GConst.ActSprintConst.ACT_ID.SUMMON then
|
||||||
|
-- UIManager:showUI("app/ui/activity/act_sprint_summon/act_sprint_main_ui", params)
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.CORE_SOUL_BOX then
|
||||||
|
-- UIManager:showUI("app/ui/activity/act_sprint_box/act_sprint_main_ui", params)
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.SUMMON_V2 then
|
||||||
|
-- UIManager:showUI("app/ui/activity/act_sprint_summon_v2/act_sprint_main_ui", params)
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2 then
|
||||||
|
-- UIManager:showUI("app/ui/activity/act_sprint_box_v2/act_sprint_main_ui", params)
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.SUMMON_ALL then
|
||||||
|
-- UIManager:showUI("app/ui/activity/act_sprint_summon_all/act_sprint_main_ui", params)
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL then
|
||||||
|
-- UIManager:showUI("app/ui/activity/act_sprint_box_all/act_sprint_main_ui", params)
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.SUMMON_LOOP then
|
||||||
|
-- UIManager:showUI("app/ui/activity/act_sprint_summon_rp/act_sprint_main_ui", params)
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP then
|
||||||
|
-- UIManager:showUI("app/ui/activity/act_sprint_box_rp/act_sprint_main_ui", params)
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.TREE_LOOP then
|
||||||
|
-- UIManager:showUI("app/ui/activity/act_sprint_tree_rp/act_sprint_main_ui", params)
|
||||||
|
-- end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 冲刺活动 商店兑换
|
||||||
|
function ActSprintManager:reqExchange(id, count)
|
||||||
|
if EDITOR_MODE and CLIENT_MODE then
|
||||||
|
self:rspExchange({
|
||||||
|
err_code = GConst.ERROR_STR.SUCCESS,
|
||||||
|
reqData = {
|
||||||
|
id = id,
|
||||||
|
count = count,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return
|
||||||
|
end
|
||||||
|
self:sendMessage(ProtoMsgType.FromMsgEnum.ActivityRushExchangeReq, {id = id, count = count}, self.rspExchange, BIReport.ITEM_GET_TYPE.ACT_SPRINT_EXCHANGE)
|
||||||
|
end
|
||||||
|
function ActSprintManager:rspExchange(result)
|
||||||
|
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
DataManager.ActSprintData:onExchangeSuccess(result.reqData.id, result.reqData.count)
|
||||||
|
if result.rewards then
|
||||||
|
GFunc.showRewardBox(result.rewards)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 冲刺活动 达标奖励
|
||||||
|
function ActSprintManager:reqStandardReward(id)
|
||||||
|
if EDITOR_MODE and CLIENT_MODE then
|
||||||
|
self:rspStandardReward({
|
||||||
|
err_code = GConst.ERROR_STR.SUCCESS,
|
||||||
|
reqData = {
|
||||||
|
activity_id = id,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return
|
||||||
|
end
|
||||||
|
self:sendMessage(ProtoMsgType.FromMsgEnum.ActivityScoreTaskRoundClaimReq, {activity_id = id}, self.rspStandardReward, BIReport.ITEM_GET_TYPE.ACT_SPRINT_STANDARD)
|
||||||
|
end
|
||||||
|
function ActSprintManager:rspStandardReward(result)
|
||||||
|
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local sprintData = DataManager.ActSprintData:getSprintDetailData(result.reqData.activity_id)
|
||||||
|
sprintData:onGetStandardTurnReward(result.reqData.id)
|
||||||
|
if result.rewards then
|
||||||
|
GFunc.showRewardBox(result.rewards)
|
||||||
|
end
|
||||||
|
-- bi
|
||||||
|
local biType = sprintData:getBIType()
|
||||||
|
local taskFinishNum, taskTotalNum = sprintData:getBISprintTaskNumInfo()
|
||||||
|
local sprintTaskRound = sprintData:getStandardTurn()
|
||||||
|
local sprintRewardRound = sprintData:getStandardClaimedTurn()
|
||||||
|
BIReport:postActSprintClaimSprintReward(result.reqData.activity_id, biType, taskFinishNum, taskTotalNum, sprintTaskRound, sprintRewardRound)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 冲刺活动 章节礼包
|
||||||
|
function ActSprintManager:reqGift(id)
|
||||||
|
if EDITOR_MODE and CLIENT_MODE then
|
||||||
|
local giftData = {}
|
||||||
|
giftData.gift_type = PayManager.PURCHARSE_TYPE.ACT_GIFT
|
||||||
|
giftData.id = id
|
||||||
|
giftData.buy_count = DataManager.PaymentData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, id) + 1
|
||||||
|
giftData.latest_buy_at = Time:getServerTime() -- * 1000 -- 服务器都是毫秒
|
||||||
|
DataManager.PaymentData:updateGiftInfo(giftData, {})
|
||||||
|
|
||||||
|
return
|
||||||
|
end
|
||||||
|
PayManager:purchasePackage(id, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 冲刺活动 达标/任务奖励
|
||||||
|
function ActSprintManager:reqTask(actId, id, isStandard)
|
||||||
|
self:sendMessage(ProtoMsgType.FromMsgEnum.ActivityTaskClaimReq, {activity_id = actId, task_id = id}, self.rspTask, BIReport.ITEM_GET_TYPE.ACT_SPRINT_TASK)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintManager:rspTask(result)
|
||||||
|
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if result.rewards then
|
||||||
|
GFunc.showRewardBox(result.rewards)
|
||||||
|
end
|
||||||
|
|
||||||
|
DataManager.ActSprintData:getSprintDetailData(result.reqData.activity_id):onNormalTaskSuccess(result.reqData.task_id)
|
||||||
|
|
||||||
|
-- bi
|
||||||
|
local sprintData = DataManager.ActSprintData:getSprintDetailData(result.reqData.activity_id)
|
||||||
|
local biType = sprintData:getBIType()
|
||||||
|
local taskFinishNum, taskTotalNum = sprintData:getBINormalTaskNumInfo()
|
||||||
|
local sprintTaskRound = sprintData:getStandardTurn()
|
||||||
|
local sprintRewardRound = sprintData:getStandardClaimedTurn()
|
||||||
|
BIReport:postActSprintClaimNormalTask(result.reqData.activity_id, biType, result.reqData.task_id, taskFinishNum, taskTotalNum, sprintTaskRound, sprintRewardRound)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintManager:reqStandardTask(actId, id)
|
||||||
|
self:sendMessage(ProtoMsgType.FromMsgEnum.ActivityScoreTaskClaimReq, {activity_id = actId, task_id = id}, self.rspStandardTask, BIReport.ITEM_GET_TYPE.ACT_SPRINT_TASK)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintManager:rspStandardTask(result)
|
||||||
|
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if result.rewards then
|
||||||
|
GFunc.showRewardBox(result.rewards)
|
||||||
|
end
|
||||||
|
|
||||||
|
local sprintData = DataManager.ActSprintData:getSprintDetailData(result.reqData.activity_id)
|
||||||
|
local canGetRewardStandardTaskList = sprintData:getCanGetRewardStandardTaskList()
|
||||||
|
sprintData:onStandardTaskSuccess(result.reqData.task_id)
|
||||||
|
-- bi
|
||||||
|
local biType = sprintData:getBIType()
|
||||||
|
local taskFinishNum, taskTotalNum = sprintData:getBISprintTaskNumInfo()
|
||||||
|
local sprintTaskRound = sprintData:getStandardTurn()
|
||||||
|
local sprintRewardRound = sprintData:getStandardClaimedTurn()
|
||||||
|
BIReport:postActSprintClaimSprintTask(result.reqData.activity_id, biType, canGetRewardStandardTaskList, taskFinishNum, taskTotalNum, sprintTaskRound, sprintRewardRound)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintManager:reqSprintBountySign(actType, actId, grade)
|
||||||
|
local sprintData = DataManager.ActSprintData:getSprintDetailData(actId)
|
||||||
|
local day = sprintData:getBountyCurrDay()
|
||||||
|
local actId = sprintData:getActId()
|
||||||
|
local args = {
|
||||||
|
act_type = actType,
|
||||||
|
bi_act_type = sprintData:getBIType(),
|
||||||
|
lv = 0,
|
||||||
|
grade = grade,
|
||||||
|
day = day,
|
||||||
|
act_id = actId
|
||||||
|
}
|
||||||
|
self:sendMessage(ProtoMsgType.FromMsgEnum.ActivityRushSignReq, args, self.rspSprintBountySign, BIReport.ITEM_GET_TYPE.ACT_SPRINT_SIGN_BOX)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintManager:rspSprintBountySign(result)
|
||||||
|
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if result.rewards then
|
||||||
|
GFunc.showRewardBox(result.rewards)
|
||||||
|
end
|
||||||
|
|
||||||
|
local sprintData = DataManager.ActSprintData:getSprintDetailData(result.reqData.act_id)
|
||||||
|
sprintData:onBountySign(result.sign)
|
||||||
|
BIReport:postActSprintSignBounty(result.reqData.act_id, result.reqData.bi_act_type, result.reqData.day, result.reqData.grade == 1)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintManager:onBuyBountyPro(giftId)
|
||||||
|
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
return ActSprintManager
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4dca279aa868f43bca55c99a65de6461
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -27,6 +27,7 @@ MainCityConst.RIGHT_SIDE_BARS = {
|
|||||||
"app/ui/main_city/cell/side_bar_sign_cell", -- 签到
|
"app/ui/main_city/cell/side_bar_sign_cell", -- 签到
|
||||||
"app/ui/main_city/cell/side_bar_seven_day_cell", -- 七天乐第一期
|
"app/ui/main_city/cell/side_bar_seven_day_cell", -- 七天乐第一期
|
||||||
"app/ui/main_city/cell/side_bar_seven_day_cell_2", -- 七天乐第二期
|
"app/ui/main_city/cell/side_bar_seven_day_cell_2", -- 七天乐第二期
|
||||||
|
"app/ui/main_city/cell/side_bar_act_sprint_cell", -- 冲刺活动
|
||||||
}
|
}
|
||||||
|
|
||||||
return MainCityConst
|
return MainCityConst
|
||||||
@ -122,4 +122,13 @@ function MaincityManager:checkShowPowerUI()
|
|||||||
end
|
end
|
||||||
--@endregion
|
--@endregion
|
||||||
|
|
||||||
|
--@region 跨天数据
|
||||||
|
function MaincityManager:reqPassDay()
|
||||||
|
self:sendMessage(ProtoMsgType.FromMsgEnum.PassDayReq, {}, self.rspPassDay)
|
||||||
|
end
|
||||||
|
function MaincityManager:rspPassDay(result)
|
||||||
|
DataManager:onCrossDay(result)
|
||||||
|
end
|
||||||
|
--@endregion
|
||||||
|
|
||||||
return MaincityManager
|
return MaincityManager
|
||||||
@ -199,19 +199,19 @@ function ActSevenDayUI:switchComp(page, force)
|
|||||||
end
|
end
|
||||||
self:refreshBottoms()
|
self:refreshBottoms()
|
||||||
|
|
||||||
-- if self:getPeriod() == 1 then -- 第一期
|
if self:getPeriod() == 1 then -- 第一期
|
||||||
-- if self.page == 1 then
|
if self.page == 1 then
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.ACT_SEVENDAY_TASK)
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.ACT_SEVENDAY_TASK)
|
||||||
-- else
|
else
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.ACT_SEVENDAY_GIFT)
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.ACT_SEVENDAY_GIFT)
|
||||||
-- end
|
end
|
||||||
-- else
|
else
|
||||||
-- if self.page == 1 then
|
if self.page == 1 then
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.ACT_SEVENDAY_TASK_2)
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.ACT_SEVENDAY_TASK_2)
|
||||||
-- else
|
else
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.ACT_SEVENDAY_GIFT_2)
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.ACT_SEVENDAY_GIFT_2)
|
||||||
-- end
|
end
|
||||||
-- end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function ActSevenDayUI:refreshDayComp(targetDay)
|
function ActSevenDayUI:refreshDayComp(targetDay)
|
||||||
|
|||||||
8
lua/app/ui/activity/act_sprint.meta
Normal file
8
lua/app/ui/activity/act_sprint.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fbc57e01919bd42e78f48783c435f530
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
144
lua/app/ui/activity/act_sprint/act_sprint_list_ui.lua
Normal file
144
lua/app/ui/activity/act_sprint/act_sprint_list_ui.lua
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
local ActSprintListUI = class("ActSprintListUI", BaseUI)
|
||||||
|
local ACTIVITY_CELL = "app/ui/activity/act_sprint/cell/activity_cell"
|
||||||
|
|
||||||
|
function ActSprintListUI:isFullScreen()
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
function ActSprintListUI:onPressBackspace()
|
||||||
|
self:closeUI()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintListUI:ctor(params)
|
||||||
|
self.params = params or {}
|
||||||
|
self.autoPop = self.params.autoPop
|
||||||
|
self.showToday = self.params.showToday
|
||||||
|
self.activityList = DataManager.ActSprintData:getActSprintIdList()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintListUI:getPrefabPath()
|
||||||
|
return "assets/prefabs/ui/activity/act_sprint/act_sprint_list_ui.prefab"
|
||||||
|
end
|
||||||
|
|
||||||
|
-- function ActSprintListUI:currencyParams()
|
||||||
|
-- local params = {}
|
||||||
|
-- params.showType = GConst.CURRENCY_TYPE.HORIZONTAL
|
||||||
|
-- params.itemIds = {}
|
||||||
|
-- -- 填充活动对应的兑换道具 约定同时开的不会超过4个
|
||||||
|
-- local itemMap = {}
|
||||||
|
-- local exchangeIdList = DataManager.ActSprintData:getExchangeIdList()
|
||||||
|
-- for index, exchangeId in ipairs(exchangeIdList) do
|
||||||
|
-- local exchangeCfg = DataManager.ActSprintData:getExchangeConfig(exchangeId)
|
||||||
|
-- if exchangeCfg.cost then
|
||||||
|
-- itemMap[exchangeCfg.cost.id] = true
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- for itemId, _ in pairs(itemMap) do
|
||||||
|
-- table.insert(params.itemIds, itemId)
|
||||||
|
-- end
|
||||||
|
-- return params, true
|
||||||
|
-- end
|
||||||
|
|
||||||
|
function ActSprintListUI:onLoadRootComplete()
|
||||||
|
if self.autoPop and self.showToday then -- 今天内不在提示
|
||||||
|
local time = LocalData:getMessageBoxShowTodayTime(self.showToday)
|
||||||
|
local todayTime = Time:getBeginningOfServerToday()
|
||||||
|
if time > 0 and time == todayTime then
|
||||||
|
self:closeUI()
|
||||||
|
return
|
||||||
|
else
|
||||||
|
LocalData:setMessageBoxShowTodayTime(self.showToday, todayTime)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
self:_display()
|
||||||
|
self:_addListeners()
|
||||||
|
self:_bind()
|
||||||
|
|
||||||
|
self:scheduleGlobal(function()
|
||||||
|
self:updateTime()
|
||||||
|
end, 1)
|
||||||
|
self:updateTime()
|
||||||
|
self:updateRp()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintListUI:_display()
|
||||||
|
local uiMap = self.root:genAllChildren()
|
||||||
|
|
||||||
|
self.mask = uiMap["act_sprint_list_ui.mask"]
|
||||||
|
self.closeBtn = uiMap["act_sprint_list_ui.bg.close_btn"]
|
||||||
|
self.titleTx = uiMap["act_sprint_list_ui.bg.title_tx"]
|
||||||
|
self.scrollrect = uiMap["act_sprint_list_ui.bg.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||||
|
self.shopBtn = uiMap["act_sprint_list_ui.bg.shop_btn"]
|
||||||
|
self.shopTx = uiMap["act_sprint_list_ui.bg.shop_btn.tx"]
|
||||||
|
|
||||||
|
self.titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_1))
|
||||||
|
self.shopTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_3))
|
||||||
|
|
||||||
|
-- 屏蔽兑换
|
||||||
|
self.shopBtn:setActive(DataManager.ActSprintData:isShopOpen())
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintListUI:_addListeners()
|
||||||
|
-- self.mask:addClickListener(function()
|
||||||
|
-- self:closeUI()
|
||||||
|
-- end)
|
||||||
|
self.closeBtn:addClickListener(function()
|
||||||
|
self:closeUI()
|
||||||
|
end)
|
||||||
|
|
||||||
|
self.shopBtn:addClickListener(function()
|
||||||
|
ModuleManager.ActSprintManager:showActSprintShopUI()
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- self:addEventListener(EventManager.CUSTOM_EVENT.CLOSE_ACT_SPRINT_LIST_UI, function()
|
||||||
|
-- self:closeUI()
|
||||||
|
-- end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintListUI:_bind()
|
||||||
|
self:bind(DataManager.ActSprintData, "isDirty", function()
|
||||||
|
self:updateScrollrect()
|
||||||
|
-- self:updateCurrencyBar()
|
||||||
|
self:updateRp()
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintListUI:updateTime()
|
||||||
|
self:updateScrollrect()
|
||||||
|
|
||||||
|
if not DataManager.ActSprintData:getIsOpen() then
|
||||||
|
self:closeUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintListUI:updateScrollrect()
|
||||||
|
self.activityList = DataManager.ActSprintData:getActSprintIdList()
|
||||||
|
|
||||||
|
if not self.initScrollrect then
|
||||||
|
self.initScrollrect = true
|
||||||
|
self.scrollrect:addInitCallback(function()
|
||||||
|
return ACTIVITY_CELL
|
||||||
|
end)
|
||||||
|
self.scrollrect:addRefreshCallback(function(index, cell)
|
||||||
|
cell:refresh(self.activityList[index], function() self:closeUI() end)
|
||||||
|
end)
|
||||||
|
self.scrollrect:clearCells()
|
||||||
|
self.scrollrect:refillCells(#self.activityList)
|
||||||
|
else
|
||||||
|
if self.scrollrect:getTotalCount() == #self.activityList then
|
||||||
|
self.scrollrect:updateAllCell()
|
||||||
|
else
|
||||||
|
self.scrollrect:refillCells(#self.activityList)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintListUI:updateRp()
|
||||||
|
if DataManager.ActSprintData:hasExchangeRp() then
|
||||||
|
self.shopBtn:addRedPoint(40, 30, 0.6)
|
||||||
|
else
|
||||||
|
self.shopBtn:removeRedPoint()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return ActSprintListUI
|
||||||
10
lua/app/ui/activity/act_sprint/act_sprint_list_ui.lua.meta
Executable file
10
lua/app/ui/activity/act_sprint/act_sprint_list_ui.lua.meta
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0eeb0d272a2003f4ca0197c08f9be9b6
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
107
lua/app/ui/activity/act_sprint/act_sprint_shop_ui.lua
Executable file
107
lua/app/ui/activity/act_sprint/act_sprint_shop_ui.lua
Executable file
@ -0,0 +1,107 @@
|
|||||||
|
local ActSprintShopUI = class("ActSprintShopUI", BaseUI)
|
||||||
|
local CELL = "app/ui/activity/act_sprint/cell/shop_cell"
|
||||||
|
|
||||||
|
function ActSprintShopUI:isFullScreen()
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintShopUI:onPressBackspace()
|
||||||
|
self:onClickClose()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintShopUI:ctor(params)
|
||||||
|
self.params = params or {}
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintShopUI:getPrefabPath()
|
||||||
|
return "assets/prefabs/ui/activity/act_sprint/act_sprint_shop_ui.prefab"
|
||||||
|
end
|
||||||
|
|
||||||
|
-- function ActSprintShopUI:currencyParams()
|
||||||
|
-- local params = {}
|
||||||
|
-- params.showType = GConst.CURRENCY_TYPE.HORIZONTAL
|
||||||
|
-- params.itemIds = {}
|
||||||
|
-- -- 填充活动对应的兑换道具 约定同时开的不会超过4个
|
||||||
|
-- local itemMap = {}
|
||||||
|
-- local exchangeIdList = DataManager.ActSprintData:getExchangeIdList()
|
||||||
|
-- for index, exchangeId in ipairs(exchangeIdList) do
|
||||||
|
-- local exchangeCfg = DataManager.ActSprintData:getExchangeConfig(exchangeId)
|
||||||
|
-- if exchangeCfg.cost then
|
||||||
|
-- itemMap[exchangeCfg.cost.id] = true
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- for itemId, _ in pairs(itemMap) do
|
||||||
|
-- table.insert(params.itemIds, itemId)
|
||||||
|
-- end
|
||||||
|
-- return params, true
|
||||||
|
-- end
|
||||||
|
|
||||||
|
function ActSprintShopUI:onLoadRootComplete()
|
||||||
|
self:_display()
|
||||||
|
self:_addListeners()
|
||||||
|
self:_bind()
|
||||||
|
|
||||||
|
self:scheduleGlobal(function()
|
||||||
|
self:updateTime()
|
||||||
|
end, 1)
|
||||||
|
self:updateTime()
|
||||||
|
self:updateScrollrect()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintShopUI:_display()
|
||||||
|
local uiMap = self.root:genAllChildren()
|
||||||
|
|
||||||
|
self.mask = uiMap["act_sprint_shop_ui.mask"]
|
||||||
|
self.titleTx = uiMap["act_sprint_shop_ui.bg.tx_title"]
|
||||||
|
self.scrollrect = uiMap["act_sprint_shop_ui.bg.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||||
|
self.closeBtn = uiMap["act_sprint_shop_ui.bg.btn_close"]
|
||||||
|
|
||||||
|
self.titleTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_3))
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintShopUI:_addListeners()
|
||||||
|
self.closeBtn:addClickListener(function()
|
||||||
|
self:closeUI()
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintShopUI:_bind()
|
||||||
|
self:bind(DataManager.ActSprintData, "isDirty", function()
|
||||||
|
self:updateScrollrect()
|
||||||
|
-- self:updateCurrencyBar()
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintShopUI:updateTime()
|
||||||
|
if not DataManager.ActSprintData:getIsOpen() then
|
||||||
|
self:closeUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintShopUI:updateData()
|
||||||
|
self.shopList = DataManager.ActSprintData:getExchangeIdList()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintShopUI:updateScrollrect()
|
||||||
|
self:updateData()
|
||||||
|
|
||||||
|
if not self.initScrollrect then
|
||||||
|
self.initScrollrect = true
|
||||||
|
self.scrollrect:addInitCallback(function()
|
||||||
|
return CELL
|
||||||
|
end)
|
||||||
|
self.scrollrect:addRefreshCallback(function(index, cell)
|
||||||
|
cell:refresh(self.shopList[index])
|
||||||
|
end)
|
||||||
|
self.scrollrect:clearCells()
|
||||||
|
self.scrollrect:refillCells(#self.shopList)
|
||||||
|
else
|
||||||
|
if self.scrollrect:getTotalCount() == #self.shopList then
|
||||||
|
self.scrollrect:updateAllCell()
|
||||||
|
else
|
||||||
|
self.scrollrect:refillCells(#self.shopList)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return ActSprintShopUI
|
||||||
10
lua/app/ui/activity/act_sprint/act_sprint_shop_ui.lua.meta
Executable file
10
lua/app/ui/activity/act_sprint/act_sprint_shop_ui.lua.meta
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cf78d6182353eff459b79602220b34be
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
8
lua/app/ui/activity/act_sprint/cell.meta
Executable file
8
lua/app/ui/activity/act_sprint/cell.meta
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e7defc4efb1e278419e76982a2e046ae
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
42
lua/app/ui/activity/act_sprint/cell/activity_cell.lua
Normal file
42
lua/app/ui/activity/act_sprint/cell/activity_cell.lua
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
local ActivityCell = class("ActivityCell", BaseCell)
|
||||||
|
local REWARD_CELL_COUNT = 3
|
||||||
|
|
||||||
|
function ActivityCell:refresh(actId, callback)
|
||||||
|
local actCfg = ConfigManager:getConfig("activity")[actId]
|
||||||
|
local showReward = actCfg.show_reward
|
||||||
|
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
local banner = uiMap["activity_cell.banner"]
|
||||||
|
local timeTx = uiMap["activity_cell.banner.time_tx"]
|
||||||
|
local titleTx = uiMap["activity_cell.banner.title_tx"]
|
||||||
|
if not self.rewardList then
|
||||||
|
self.rewardList = {}
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
table.insert(self.rewardList, CellManager:addCellComp(uiMap["activity_cell.banner.reward_cell_" .. i], GConst.TYPEOF_LUA_CLASS.REWARD_CELL))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local redPoint = uiMap["activity_cell.banner.red_point"]
|
||||||
|
|
||||||
|
-- 刷新
|
||||||
|
banner:setTexture(GConst.ActSprintConst.ACT_LIST_BANNER[actId])
|
||||||
|
timeTx:setText(Time:formatNumTimeStr(DataManager.ActSprintData:getRemainTime(actId)))
|
||||||
|
titleTx:setText(I18N:getGlobalText(GConst.ActSprintConst.ACT_LIST_NAME[actId]))
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
if showReward and i <= #showReward then
|
||||||
|
self.rewardList[i].baseObject:setActive(true)
|
||||||
|
self.rewardList[i]:refreshByConfig(showReward[i])
|
||||||
|
else
|
||||||
|
self.rewardList[i].baseObject:setActive(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
self:addClickListener(function()
|
||||||
|
ModuleManager.ActSprintManager:showActSprintMainUI({actId = actId})
|
||||||
|
-- EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CLOSE_ACT_SPRINT_LIST_UI)
|
||||||
|
if callback then
|
||||||
|
callback()
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
redPoint:setVisible(DataManager.ActSprintData:hasRedPoint(true))
|
||||||
|
end
|
||||||
|
|
||||||
|
return ActivityCell
|
||||||
10
lua/app/ui/activity/act_sprint/cell/activity_cell.lua.meta
Executable file
10
lua/app/ui/activity/act_sprint/cell/activity_cell.lua.meta
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 482f8536e3388cf4195cb7a3e247f57a
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
78
lua/app/ui/activity/act_sprint/cell/shop_cell.lua
Executable file
78
lua/app/ui/activity/act_sprint/cell/shop_cell.lua
Executable file
@ -0,0 +1,78 @@
|
|||||||
|
local ShopCell = class("ShopCell", BaseCell)
|
||||||
|
|
||||||
|
local FREE_BG = "act_common_bg_30"
|
||||||
|
local COST_BG = "act_common_bg_31"
|
||||||
|
|
||||||
|
function ShopCell:refresh(id)
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
local bg = uiMap["shop_cell.bg"]
|
||||||
|
local nameTx = uiMap["shop_cell.bg.name_tx"]
|
||||||
|
if not self.rewardCell then
|
||||||
|
self.rewardCell = CellManager:addCellComp(uiMap["shop_cell.bg.reward_cell"], GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
|
||||||
|
end
|
||||||
|
local limitTx = uiMap["shop_cell.bg.limit_tx"]
|
||||||
|
local mask = uiMap["shop_cell.bg.mask"]
|
||||||
|
local costImg = uiMap["shop_cell.bg.cost_img"]
|
||||||
|
local costTx = uiMap["shop_cell.bg.cost_tx"]
|
||||||
|
local sellOutTx = uiMap["shop_cell.bg.sell_out_tx"]
|
||||||
|
|
||||||
|
sellOutTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_8))
|
||||||
|
|
||||||
|
local reward = DataManager.ActSprintData:getExchangeReward(id)
|
||||||
|
local cost = DataManager.ActSprintData:getExchangeCost(id)
|
||||||
|
local refreshType = DataManager.ActSprintData:getExchangeRefreshType(id)
|
||||||
|
local limit = DataManager.ActSprintData:getExchangeLimit(id)
|
||||||
|
local useTimes = DataManager.ActSprintData:getExchangeCount(id)
|
||||||
|
|
||||||
|
local isFree = cost == nil
|
||||||
|
local refreshTypeStr
|
||||||
|
if refreshType == GConst.ActSprintConst.REFRESH_TYPE.DAY then
|
||||||
|
refreshTypeStr = I18N.GlobalConst.ACT_GOGOGO_DESC_5
|
||||||
|
elseif refreshType == GConst.ActSprintConst.REFRESH_TYPE.WEEK then
|
||||||
|
refreshTypeStr = I18N.GlobalConst.ACT_GOGOGO_DESC_6
|
||||||
|
elseif refreshType == GConst.ActSprintConst.REFRESH_TYPE.ONCE then
|
||||||
|
refreshTypeStr = I18N.GlobalConst.ACT_GOGOGO_DESC_7
|
||||||
|
end
|
||||||
|
local canBuy = useTimes < limit
|
||||||
|
|
||||||
|
bg:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, isFree and FREE_BG or COST_BG)
|
||||||
|
nameTx:setText()
|
||||||
|
self.rewardCell:refreshByConfig(reward)
|
||||||
|
limitTx:setText(I18N:getGlobalText(refreshTypeStr, limit - useTimes, limit))
|
||||||
|
|
||||||
|
if canBuy then
|
||||||
|
if cost then
|
||||||
|
costImg:setVisible(true)
|
||||||
|
costImg:setSprite(GFunc.getIconRes(cost.id))
|
||||||
|
costTx:setVisible(true)
|
||||||
|
costTx:setText(cost.num)
|
||||||
|
GFunc.centerImgAndTx(costImg, costTx, 5)
|
||||||
|
else
|
||||||
|
costImg:setVisible(false)
|
||||||
|
costTx:setVisible(true)
|
||||||
|
costTx:setText(I18N:getGlobalText(I18N.GlobalConst.FREE_DESC))
|
||||||
|
costTx:setSizeDeltaX(160)
|
||||||
|
costTx:setAnchoredPositionX(0)
|
||||||
|
end
|
||||||
|
mask:setVisible(false)
|
||||||
|
else
|
||||||
|
costImg:setVisible(false)
|
||||||
|
costTx:setVisible(false)
|
||||||
|
|
||||||
|
mask:setVisible(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
self:addClickListener(function()
|
||||||
|
if canBuy then
|
||||||
|
if cost then
|
||||||
|
if GFunc.checkCost(cost.id, cost.num, true) then
|
||||||
|
ModuleManager.ActSprintManager:reqExchange(id, 1)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
ModuleManager.ActSprintManager:reqExchange(id, 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
return ShopCell
|
||||||
10
lua/app/ui/activity/act_sprint/cell/shop_cell.lua.meta
Executable file
10
lua/app/ui/activity/act_sprint/cell/shop_cell.lua.meta
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6d162d47c479a0449b4b38ab580f4d2e
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
8
lua/app/ui/activity/act_sprint_summon_all.meta
Normal file
8
lua/app/ui/activity/act_sprint_summon_all.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6f50b2cfdce5a46d89c1e0211a04f51b
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
236
lua/app/ui/activity/act_sprint_summon_all/act_sprint_main_ui.lua
Normal file
236
lua/app/ui/activity/act_sprint_summon_all/act_sprint_main_ui.lua
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
local ActSprintMainUI = class("ActSprintMainUI", BaseUI)
|
||||||
|
|
||||||
|
local BTN_WIDTH = 82
|
||||||
|
local BTN_RIGHT = 20
|
||||||
|
local BTN_SPACING = 26
|
||||||
|
|
||||||
|
function ActSprintMainUI:showCommonBG()
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:onPressBackspace()
|
||||||
|
self:closeUI()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:getPrefabPath()
|
||||||
|
return "assets/prefabs/ui/activity/act_sprint/act_sprint_main_ui_1_all.prefab"
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:onClose()
|
||||||
|
if self.subComps then
|
||||||
|
for _, comp in pairs(self.subComps) do
|
||||||
|
if comp.onClose then
|
||||||
|
comp:onClose()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local callback = self.callback
|
||||||
|
self.callback = nil
|
||||||
|
if callback then
|
||||||
|
callback()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:currencyParams()
|
||||||
|
self.params = {}
|
||||||
|
self.params.showType = GConst.CURRENCY_TYPE.HORIZONTAL
|
||||||
|
if self.curPage == 3 then
|
||||||
|
self.params.itemIds = {
|
||||||
|
GConst.ItemConst.ITEM_ID_GEM,
|
||||||
|
}
|
||||||
|
else
|
||||||
|
self.params.itemIds = {}
|
||||||
|
end
|
||||||
|
return self.params, true
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:ctor(params)
|
||||||
|
self.params = params or {}
|
||||||
|
self.actId = params.actId
|
||||||
|
self.curPage = params.page or self:getRpPage()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:onLoadRootComplete()
|
||||||
|
if not self.actId then
|
||||||
|
self:closeUI()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local uiMap = self.root:genAllChildren()
|
||||||
|
self.btnClose = uiMap["act_sprint_main_ui.bottom.btn_close"]
|
||||||
|
self.btnNode = uiMap["act_sprint_main_ui.bottom.btns"]
|
||||||
|
self.btnContent = uiMap["act_sprint_main_ui.bottom.btns.viewport.content"]
|
||||||
|
self.btns = {}
|
||||||
|
self.txBtns = {}
|
||||||
|
for i = 1, 4 do
|
||||||
|
table.insert(self.btns, uiMap["act_sprint_main_ui.bottom.btns.viewport.content.btn_" .. i])
|
||||||
|
table.insert(self.txBtns, uiMap["act_sprint_main_ui.bottom.btns.viewport.content.btn_" .. i .. ".tx_desc"])
|
||||||
|
end
|
||||||
|
self.compsRoot = uiMap["act_sprint_main_ui.comps"]
|
||||||
|
for i, btn in ipairs(self.btns) do
|
||||||
|
btn:addClickListener(function()
|
||||||
|
self:onChangePage(i)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
self.txBtns[1]:setText(I18N:getGlobalText(I18N.GlobalConst[GConst.ActSprintConst.MAIN_PAGE_BTN_DESC[GConst.ActSprintConst.MAIN_PAGE_TYPE.STANDARD]]))
|
||||||
|
self.txBtns[2]:setText(I18N:getGlobalText(I18N.GlobalConst[GConst.ActSprintConst.MAIN_PAGE_BTN_DESC[GConst.ActSprintConst.MAIN_PAGE_TYPE.LOGIN]]))
|
||||||
|
self.txBtns[3]:setText(I18N:getGlobalText(I18N.GlobalConst[GConst.ActSprintConst.MAIN_PAGE_BTN_DESC[GConst.ActSprintConst.MAIN_PAGE_TYPE.GIFT]]))
|
||||||
|
self.txBtns[4]:setText(I18N:getGlobalText(I18N.GlobalConst[GConst.ActSprintConst.MAIN_PAGE_BTN_DESC[GConst.ActSprintConst.MAIN_PAGE_TYPE.TASK]]))
|
||||||
|
|
||||||
|
self:initComps()
|
||||||
|
self:scheduleGlobal(function()
|
||||||
|
self:updateTime()
|
||||||
|
end, 1)
|
||||||
|
self:updateTime()
|
||||||
|
|
||||||
|
self.btnClose:addClickListener(function()
|
||||||
|
self:closeUI()
|
||||||
|
end)
|
||||||
|
self:bind(DataManager.ActSprintSummonDataAll, "isDirty", function()
|
||||||
|
self:refreshRedPoint()
|
||||||
|
self:onRefresh()
|
||||||
|
end)
|
||||||
|
self:bind(DataManager.PaymentData, "isDirty", function()
|
||||||
|
self:refreshRedPoint()
|
||||||
|
self:onRefresh()
|
||||||
|
end)
|
||||||
|
self:addEventListener(EventManager.CUSTOM_EVENT.CHANGE_MAIN_CITY_PAGE, function()
|
||||||
|
self:closeUI()
|
||||||
|
end)
|
||||||
|
|
||||||
|
self:refreshRedPoint()
|
||||||
|
self:onRefresh()
|
||||||
|
|
||||||
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.ACT_SPRINT_NEW_SUMMON)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:initComps()
|
||||||
|
if self.subComps then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local uiMap = self.root:genAllChildren()
|
||||||
|
self.subComps = {}
|
||||||
|
|
||||||
|
-- 预制体挂载
|
||||||
|
local obj = uiMap["act_sprint_main_ui.standard_comp"]
|
||||||
|
obj:initPrefabHelper()
|
||||||
|
obj:genAllChildren()
|
||||||
|
local comp = obj:addLuaComponent("app/ui/activity/act_sprint_summon_all/comp/standard_comp")
|
||||||
|
self.subComps[1] = comp
|
||||||
|
|
||||||
|
local obj2 = uiMap["act_sprint_main_ui.login_comp"]
|
||||||
|
obj2:initPrefabHelper()
|
||||||
|
obj2:genAllChildren()
|
||||||
|
self.subComps[2] = obj2:addLuaComponent("app/ui/activity/act_sprint_summon_all/comp/login_comp")
|
||||||
|
|
||||||
|
local obj3 = uiMap["act_sprint_main_ui.gift_comp"]
|
||||||
|
obj3:initPrefabHelper()
|
||||||
|
obj3:genAllChildren()
|
||||||
|
self.subComps[3] = obj3:addLuaComponent("app/ui/activity/act_sprint_summon_all/comp/gift_comp")
|
||||||
|
|
||||||
|
local obj4 = uiMap["act_sprint_main_ui.task_comp"]
|
||||||
|
obj4:initPrefabHelper()
|
||||||
|
obj4:genAllChildren()
|
||||||
|
self.subComps[4] = obj4:addLuaComponent("app/ui/activity/act_sprint_summon_all/comp/task_comp")
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:updateTime()
|
||||||
|
if self.subComps then
|
||||||
|
for _, comp in pairs(self.subComps) do
|
||||||
|
if comp.updateTime then
|
||||||
|
comp:updateTime(self.actId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if not DataManager.ActSprintSummonDataAll:getIsOpen() then
|
||||||
|
self:closeUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:onChangePage(page)
|
||||||
|
if self.curPage == page then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
for i, comp in pairs(self.subComps) do
|
||||||
|
if page ~= i and self.curPage == i and comp.onClose then
|
||||||
|
comp:onClose()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
self.curPage = page
|
||||||
|
self:onRefresh()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:onRefresh()
|
||||||
|
local openCount = 0
|
||||||
|
for i, btn in ipairs(self.btns) do
|
||||||
|
if self:isOpen(i) then
|
||||||
|
btn:setActive(true)
|
||||||
|
openCount = openCount + 1
|
||||||
|
if self.curPage == i then
|
||||||
|
btn:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, GConst.ActSprintConst.MAIN_PAGE_BTN_ICON_1[self.actId][i])
|
||||||
|
else
|
||||||
|
btn:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, GConst.ActSprintConst.MAIN_PAGE_BTN_ICON_2[self.actId][i])
|
||||||
|
end
|
||||||
|
else
|
||||||
|
btn:setActive(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local width = BTN_RIGHT + BTN_WIDTH * openCount + BTN_SPACING * (openCount - 1) + 20
|
||||||
|
self.btnContent:setSizeDeltaX(width)
|
||||||
|
self.btnContent:setAnchoredPositionX(math.max(width - self.btnNode:getSizeDeltaX(), 0))
|
||||||
|
|
||||||
|
for i, comp in pairs(self.subComps) do
|
||||||
|
if self.curPage == i then
|
||||||
|
comp:getBaseObject():setActive(true)
|
||||||
|
comp:refresh(self.actId)
|
||||||
|
else
|
||||||
|
comp:getBaseObject():setActive(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
self:updateCurrencyBar()
|
||||||
|
-- 红点
|
||||||
|
self:refreshRedPoint()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:refreshRedPoint()
|
||||||
|
for i, btn in ipairs(self.btns) do
|
||||||
|
if self:hasRedPoint(i) then
|
||||||
|
btn:addRedPoint(30, 30, 0.9)
|
||||||
|
else
|
||||||
|
btn:removeRedPoint()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:isOpen(type)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:hasRedPoint(page)
|
||||||
|
if page == 1 then
|
||||||
|
return DataManager.ActSprintSummonDataAll:hasStandardRp()
|
||||||
|
elseif page == 2 then
|
||||||
|
return DataManager.ActSprintSummonDataAll:hasBountyRp()
|
||||||
|
elseif page == 3 then
|
||||||
|
return DataManager.ActSprintSummonDataAll:hasGiftRp()
|
||||||
|
elseif page == 4 then
|
||||||
|
return DataManager.ActSprintSummonDataAll:hasTaskRp()
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintMainUI:getRpPage()
|
||||||
|
for i = 1, 4 do
|
||||||
|
if self:hasRedPoint(i) then
|
||||||
|
return i
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
return ActSprintMainUI
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ce95387387faadd4b8e34476e0a4a7df
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
8
lua/app/ui/activity/act_sprint_summon_all/cell.meta
Normal file
8
lua/app/ui/activity/act_sprint_summon_all/cell.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3badef5720aa26742a9d6e505bd0b80e
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
119
lua/app/ui/activity/act_sprint_summon_all/cell/gift_cell.lua
Normal file
119
lua/app/ui/activity/act_sprint_summon_all/cell/gift_cell.lua
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
local GiftCell = class("GiftCell", BaseCell)
|
||||||
|
local REWARD_CELL_COUNT = 3
|
||||||
|
|
||||||
|
local BG_NAME_1 = "act_common_bg_27" -- 售罄
|
||||||
|
local BG_NAME_2 = "act_common_bg_28" -- 正常
|
||||||
|
|
||||||
|
local BTN_NAME_1 = "common_btn_grey_5"
|
||||||
|
local BTN_NAME_2 = "common_btn_yellow_5"
|
||||||
|
|
||||||
|
function GiftCell:refresh(actGiftId)
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
local bg = uiMap["gift_cell.bg"]
|
||||||
|
local descTx = uiMap["gift_cell.bg.desc_tx"]
|
||||||
|
if not self.rewardList then
|
||||||
|
self.rewardList = {}
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
table.insert(self.rewardList, CellManager:addCellComp(uiMap["gift_cell.bg.reward_cell_" .. i], GConst.TYPEOF_LUA_CLASS.REWARD_CELL))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local offBg = uiMap["gift_cell.bg.off_bg"]
|
||||||
|
local offTx = uiMap["gift_cell.bg.off_bg.desc_tx"]
|
||||||
|
local limitTx = uiMap["gift_cell.bg.limit_tx"]
|
||||||
|
local funcBtn = uiMap["gift_cell.bg.func_btn"]
|
||||||
|
local funcTx = uiMap["gift_cell.bg.func_btn.desc_tx"]
|
||||||
|
local funcAdIcon = uiMap["gift_cell.bg.func_btn.ad"]
|
||||||
|
local funcAdTx = uiMap["gift_cell.bg.func_btn.ad_tx"]
|
||||||
|
local func2AdTx = uiMap["gift_cell.bg.func_btn.ad_2_tx"]
|
||||||
|
|
||||||
|
local isFree = DataManager.ActSprintSummonDataAll:getActGiftIsFree(actGiftId)
|
||||||
|
local isAd = DataManager.ActSprintSummonDataAll:getActGiftIsAd(actGiftId)
|
||||||
|
local costItem = DataManager.ActSprintSummonDataAll:getActGiftCostItem(actGiftId)
|
||||||
|
local rechargeId = DataManager.ActSprintSummonDataAll:getActGiftRechargeId(actGiftId)
|
||||||
|
local buyCount = DataManager.ActSprintSummonDataAll:getActGiftBuyCount(actGiftId)
|
||||||
|
local limitCount = DataManager.ActSprintSummonDataAll:getActGiftLimit(actGiftId)
|
||||||
|
local value = DataManager.ActSprintSummonDataAll:getActGiftValue(actGiftId) -- 超值标识
|
||||||
|
local rewards = DataManager.ActSprintSummonDataAll:getActGiftReward(actGiftId)
|
||||||
|
local soldOut = buyCount >= limitCount
|
||||||
|
|
||||||
|
bg:setSprite(GConst.ATLAS_PATH.UI_ACT_COMMON, (isFree or isAd) and BG_NAME_1 or BG_NAME_2)
|
||||||
|
funcBtn:setSprite(GConst.ATLAS_PATH.COMMON, soldOut and BTN_NAME_1 or BTN_NAME_2)
|
||||||
|
if soldOut then
|
||||||
|
funcTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_8))
|
||||||
|
funcAdIcon:setVisible(false)
|
||||||
|
funcAdTx:setVisible(false)
|
||||||
|
func2AdTx:setVisible(false)
|
||||||
|
else
|
||||||
|
if rechargeId then
|
||||||
|
funcTx:setText(GFunc.getFormatPrice(rechargeId))
|
||||||
|
funcAdIcon:setVisible(false)
|
||||||
|
funcAdTx:setVisible(false)
|
||||||
|
func2AdTx:setVisible(false)
|
||||||
|
else
|
||||||
|
if isFree then
|
||||||
|
funcTx:setText(I18N:getGlobalText(I18N.GlobalConst.FREE_DESC))
|
||||||
|
funcAdIcon:setVisible(false)
|
||||||
|
funcAdTx:setVisible(false)
|
||||||
|
func2AdTx:setVisible(false)
|
||||||
|
elseif isAd then
|
||||||
|
funcTx:setText()
|
||||||
|
funcAdIcon:setVisible(true)
|
||||||
|
funcAdTx:setVisible(true)
|
||||||
|
func2AdTx:setVisible(false)
|
||||||
|
GFunc.setAdsSprite(funcAdIcon)
|
||||||
|
funcAdTx:setText(I18N:getGlobalText(I18N.GlobalConst.FREE_DESC))
|
||||||
|
elseif costItem then
|
||||||
|
funcTx:setText()
|
||||||
|
funcAdIcon:setVisible(true)
|
||||||
|
funcAdIcon:setSprite(GFunc.getIconRes(costItem.id))
|
||||||
|
if GFunc.checkCost(costItem.id, costItem.num, false) then
|
||||||
|
funcAdTx:setVisible(true)
|
||||||
|
func2AdTx:setVisible(false)
|
||||||
|
funcAdTx:setText(costItem.num)
|
||||||
|
else
|
||||||
|
funcAdTx:setVisible(true)
|
||||||
|
func2AdTx:setVisible(false)
|
||||||
|
funcAdTx:setText("<color=#FF6C73>" .. costItem.num .. "</color>")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
descTx:setText(DataManager.ActSprintSummonDataAll:getActGiftI18NName(actGiftId))
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
local reward = rewards and rewards[i]
|
||||||
|
if reward then
|
||||||
|
self.rewardList[i].baseObject:setActive(true)
|
||||||
|
self.rewardList[i]:refreshByConfig(reward)
|
||||||
|
else
|
||||||
|
self.rewardList[i].baseObject:setActive(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local limitStr = I18N:getGlobalText(I18N.GlobalConst.GIFT_ROUTINE_DESC_8) .. "(" .. (limitCount - buyCount) .. "/" .. limitCount .. ")"
|
||||||
|
limitTx:setText(soldOut and "<color=#2C6A65>" .. limitStr .. "</color>" or "<color=#6A482D>" .. limitStr .. "</color>")
|
||||||
|
if value then
|
||||||
|
offBg:setVisible(true)
|
||||||
|
offTx:setText(value .. "%")
|
||||||
|
else
|
||||||
|
offBg:setVisible(false)
|
||||||
|
end
|
||||||
|
|
||||||
|
funcBtn:addClickListener(function()
|
||||||
|
if not soldOut then
|
||||||
|
if isAd then
|
||||||
|
SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.AD_ACT_SPRINT, function()
|
||||||
|
ModuleManager.ActSprintManager:reqGift(actGiftId)
|
||||||
|
end)
|
||||||
|
else
|
||||||
|
if costItem then
|
||||||
|
if GFunc.checkCost(costItem.id, costItem.num, true) then
|
||||||
|
ModuleManager.ActSprintManager:reqGift(actGiftId)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
ModuleManager.ActSprintManager:reqGift(actGiftId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
return GiftCell
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d5597e85c63eaf342b933c03bbf3cf7c
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -0,0 +1,93 @@
|
|||||||
|
local SummonActCell = class("SummonActCell", BaseCell)
|
||||||
|
|
||||||
|
function SummonActCell:init()
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
self.dayIcon = uiMap["bounty_cell.day_icon"]
|
||||||
|
self.dayTx = uiMap["bounty_cell.day_icon.day_tx"]
|
||||||
|
self.dayTxGrey = uiMap["bounty_cell.day_icon.day_tx_grey"]
|
||||||
|
self.upSlider = uiMap["bounty_cell.up_slider"]
|
||||||
|
self.upIcon = uiMap["bounty_cell.up_slider.icon"]
|
||||||
|
self.downSlider = uiMap["bounty_cell.down_slider"]
|
||||||
|
self.downIcon = uiMap["bounty_cell.down_slider.icon"]
|
||||||
|
self.bg = uiMap["bounty_cell.bg"]
|
||||||
|
self.freeRewardCell = uiMap["bounty_cell.reward_free.reward_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
|
||||||
|
self.proRewardCells = {}
|
||||||
|
for i = 1, 2 do
|
||||||
|
self.proRewardCells[i] = uiMap["bounty_cell.reward_pro.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function SummonActCell:refresh(day, maxDay, info)
|
||||||
|
local curDay = DataManager.ActSprintSummonDataAll:getBountyCurrDay()
|
||||||
|
local freeGot = DataManager.ActSprintSummonDataAll:getHasGotBountyReward(0, day)
|
||||||
|
local proGot = DataManager.ActSprintSummonDataAll:getHasGotBountyReward(1, day)
|
||||||
|
local freeCanGet = DataManager.ActSprintSummonDataAll:canClaimBountyReward(0, day)
|
||||||
|
local proCanGet = DataManager.ActSprintSummonDataAll:canClaimBountyReward(1, day)
|
||||||
|
local rewardFree = info.reward[1]
|
||||||
|
local rewardPro1 = info.reward_pro[1]
|
||||||
|
local rewardPro2 = info.reward_pro[2]
|
||||||
|
local isUnlockPro = DataManager.ActSprintSummonDataAll:isUnlockBountyPro()
|
||||||
|
|
||||||
|
local dayStr = tostring(day)
|
||||||
|
self.dayTx:setText(dayStr)
|
||||||
|
self.dayTxGrey:setText(dayStr)
|
||||||
|
|
||||||
|
-- 刷新slider部分
|
||||||
|
self.upSlider:setVisible(day ~= 1)
|
||||||
|
self.downSlider:setVisible(day ~= maxDay)
|
||||||
|
self.upIcon:setVisible(day <= curDay)
|
||||||
|
self.downIcon:setVisible(day < curDay)
|
||||||
|
|
||||||
|
-- 奖励
|
||||||
|
self.freeRewardCell:refreshByConfig(rewardFree, freeGot, freeGot)
|
||||||
|
if freeCanGet then
|
||||||
|
self.freeRewardCell:showFrameAnimation()
|
||||||
|
self.freeRewardCell:addClickListener(function()
|
||||||
|
self:onClickClaimRewards()
|
||||||
|
end)
|
||||||
|
self.dayTx:setVisible(true)
|
||||||
|
self.dayTxGrey:setVisible(false)
|
||||||
|
GFunc.setGrey(self.bg:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE), false)
|
||||||
|
GFunc.setGrey(self.dayIcon:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE), false)
|
||||||
|
else
|
||||||
|
self.freeRewardCell:hideFrameAnimation()
|
||||||
|
-- self.freeRewardCell:setClickShowTips()
|
||||||
|
self.dayTx:setVisible(freeGot)
|
||||||
|
self.dayTxGrey:setVisible(not freeGot)
|
||||||
|
GFunc.setGrey(self.bg:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE), not freeGot)
|
||||||
|
GFunc.setGrey(self.dayIcon:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE), not freeGot)
|
||||||
|
end
|
||||||
|
self.proRewardCells[1]:refreshByConfig(rewardPro1, proGot, proGot)
|
||||||
|
if rewardPro2 then
|
||||||
|
self.proRewardCells[2]:setActive(true)
|
||||||
|
self.proRewardCells[2]:refreshByConfig(rewardPro2, proGot, proGot)
|
||||||
|
else
|
||||||
|
self.proRewardCells[2]:setActive(false)
|
||||||
|
end
|
||||||
|
self.proRewardCells[1]:showLock(not isUnlockPro)
|
||||||
|
self.proRewardCells[2]:showLock(not isUnlockPro)
|
||||||
|
|
||||||
|
if proCanGet and isUnlockPro and not proGot then
|
||||||
|
self.proRewardCells[1]:showFrameAnimation()
|
||||||
|
self.proRewardCells[2]:showFrameAnimation()
|
||||||
|
self.proRewardCells[1]:addClickListener(function()
|
||||||
|
self:onClickClaimRewards()
|
||||||
|
end)
|
||||||
|
self.proRewardCells[2]:addClickListener(function()
|
||||||
|
self:onClickClaimRewards()
|
||||||
|
end)
|
||||||
|
else
|
||||||
|
self.proRewardCells[1]:hideFrameAnimation()
|
||||||
|
self.proRewardCells[2]:hideFrameAnimation()
|
||||||
|
-- self.proRewardCells[1]:setClickShowTips()
|
||||||
|
-- self.proRewardCells[2]:setClickShowTips()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function SummonActCell:onClickClaimRewards()
|
||||||
|
local actId = DataManager.ActSprintSummonDataAll:getActId()
|
||||||
|
local actType = DataManager.ActSprintSummonDataAll:getActType(actId)
|
||||||
|
local grade = DataManager.ActSprintSummonDataAll:isUnlockBountyPro() and 1 or 0
|
||||||
|
ModuleManager.ActSprintManager:reqSprintBountySign(actType, actId, grade)
|
||||||
|
end
|
||||||
|
|
||||||
|
return SummonActCell
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a8b0bda5edab9ab44a9d8cd117347310
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
local StandardCell = class("StandardCell", BaseCell)
|
||||||
|
local REWARD_CELL_COUNT = 3
|
||||||
|
|
||||||
|
function StandardCell:refresh(actTaskId)
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
local bg = uiMap["standard_cell.bg"]
|
||||||
|
local descTx = uiMap["standard_cell.bg.desc_tx"]
|
||||||
|
if not self.slider then
|
||||||
|
self.slider = uiMap["standard_cell.bg.slider_bg.slider"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
||||||
|
end
|
||||||
|
local sliderTx = uiMap["standard_cell.bg.slider_bg.tx"]
|
||||||
|
if not self.rewardList then
|
||||||
|
self.rewardList = {}
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
table.insert(self.rewardList, CellManager:addCellComp(uiMap["standard_cell.bg.reward_cell_" .. i], GConst.TYPEOF_LUA_CLASS.REWARD_CELL))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local rewardLayout = uiMap["standard_cell.bg.rewards"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_HORIZONTAL_OR_VERTICAL_LAYOUT)
|
||||||
|
|
||||||
|
local num = DataManager.ActSprintSummonDataAll:getActTaskNum(actTaskId)
|
||||||
|
local type = DataManager.ActSprintSummonDataAll:getActTaskType(actTaskId)
|
||||||
|
local limit = DataManager.ActSprintSummonDataAll:getActTaskNumber1(actTaskId)
|
||||||
|
local rewards = DataManager.ActSprintSummonDataAll:getActTaskReward(actTaskId)
|
||||||
|
local hasGot = DataManager.ActSprintSummonDataAll:getHasGotTaskReward(actTaskId)
|
||||||
|
local canGet = num >= limit and not hasGot
|
||||||
|
-- 修订
|
||||||
|
if num > limit then
|
||||||
|
num = limit
|
||||||
|
end
|
||||||
|
if hasGot then
|
||||||
|
num = limit
|
||||||
|
end
|
||||||
|
|
||||||
|
descTx:setText(GFunc.getTaskDesc(type, limit))
|
||||||
|
self.slider.value = num / limit
|
||||||
|
sliderTx:setText(num .. "/" .. limit)
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
local reward = rewards and rewards[i]
|
||||||
|
if reward then
|
||||||
|
self.rewardList[i].baseObject:setActive(true)
|
||||||
|
self.rewardList[i]:refreshByConfig(reward, hasGot, hasGot)
|
||||||
|
if canGet then
|
||||||
|
self.rewardList[i]:showFrameAnimation()
|
||||||
|
self.rewardList[i]:addClickListener(function()
|
||||||
|
ModuleManager.ActSprintManager:reqStandardTask(DataManager.ActSprintSummonDataAll:getActId(), 0)
|
||||||
|
end)
|
||||||
|
else
|
||||||
|
self.rewardList[i]:hideFrameAnimation()
|
||||||
|
end
|
||||||
|
else
|
||||||
|
self.rewardList[i].baseObject:setActive(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
rewardLayout:RefreshLayout()
|
||||||
|
end
|
||||||
|
|
||||||
|
return StandardCell
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5a3367bd1aee89d4f8df29c64f7e9685
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
77
lua/app/ui/activity/act_sprint_summon_all/cell/task_cell.lua
Normal file
77
lua/app/ui/activity/act_sprint_summon_all/cell/task_cell.lua
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
local TaskCell = class("TaskCell", BaseCell)
|
||||||
|
local REWARD_CELL_COUNT = 1
|
||||||
|
|
||||||
|
function TaskCell:refresh(actTaskId)
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
local bg = uiMap["task_cell.bg"]
|
||||||
|
local descTx = uiMap["task_cell.bg.desc_tx"]
|
||||||
|
if not self.rewardList then
|
||||||
|
self.rewardList = {}
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
table.insert(self.rewardList, CellManager:addCellComp(uiMap["task_cell.bg.reward_cell_" .. i], GConst.TYPEOF_LUA_CLASS.REWARD_CELL))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if not self.slider then
|
||||||
|
self.slider = uiMap["task_cell.bg.slider_bg.slider"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
|
||||||
|
end
|
||||||
|
local sliderTx = uiMap["task_cell.bg.slider_bg.tx"]
|
||||||
|
|
||||||
|
local gotFlag = uiMap["task_cell.bg.got_flag"]
|
||||||
|
local gotTx = uiMap["task_cell.bg.got_flag.desc_tx"]
|
||||||
|
local funcBtn = uiMap["task_cell.bg.func_btn"]
|
||||||
|
local funcTx = uiMap["task_cell.bg.func_btn.desc_tx"]
|
||||||
|
|
||||||
|
local num = DataManager.ActSprintSummonDataAll:getActTaskNum(actTaskId)
|
||||||
|
local taskType = DataManager.ActSprintSummonDataAll:getActTaskType(actTaskId)
|
||||||
|
local limit = DataManager.ActSprintSummonDataAll:getActTaskNumber1(actTaskId)
|
||||||
|
local rewards = DataManager.ActSprintSummonDataAll:getActTaskReward(actTaskId)
|
||||||
|
local hasGot = DataManager.ActSprintSummonDataAll:getHasGotTaskReward(actTaskId)
|
||||||
|
-- 修订
|
||||||
|
if num > limit then
|
||||||
|
num = limit
|
||||||
|
end
|
||||||
|
|
||||||
|
descTx:setText(GFunc.getTaskDesc(taskType, limit))
|
||||||
|
self.slider.value = num / limit
|
||||||
|
sliderTx:setText(num .. "/" .. limit)
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
local reward = rewards and rewards[i]
|
||||||
|
if reward then
|
||||||
|
self.rewardList[i].baseObject:setActive(true)
|
||||||
|
self.rewardList[i]:refreshByConfig(reward)
|
||||||
|
else
|
||||||
|
self.rewardList[i].baseObject:setActive(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if hasGot then
|
||||||
|
gotFlag:setVisible(true)
|
||||||
|
gotTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_13))
|
||||||
|
funcBtn:setActive(false)
|
||||||
|
else
|
||||||
|
gotFlag:setVisible(false)
|
||||||
|
funcBtn:setActive(true)
|
||||||
|
if num >= limit then
|
||||||
|
funcBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_yellow_5")
|
||||||
|
funcTx:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_CLAIM))
|
||||||
|
else
|
||||||
|
funcBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_blue_1")
|
||||||
|
funcTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_14))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
funcBtn:addClickListener(function()
|
||||||
|
if not hasGot then
|
||||||
|
if num >= limit then
|
||||||
|
-- 领取
|
||||||
|
local actId = DataManager.ActSprintSummonDataAll:getActTaskActivityId(actTaskId)
|
||||||
|
ModuleManager.ActSprintManager:reqTask(actId, actTaskId)
|
||||||
|
else
|
||||||
|
-- 跳转
|
||||||
|
ModuleManager.TaskManager:goToTask(taskType)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
return TaskCell
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 48fc395edac664a4da2ccdaf9696b5a0
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
8
lua/app/ui/activity/act_sprint_summon_all/comp.meta
Normal file
8
lua/app/ui/activity/act_sprint_summon_all/comp.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b984e5e58db26214e9e8c0bcfb43f0c8
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
61
lua/app/ui/activity/act_sprint_summon_all/comp/gift_comp.lua
Normal file
61
lua/app/ui/activity/act_sprint_summon_all/comp/gift_comp.lua
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
local GiftComp = class("GiftComp", LuaComponent)
|
||||||
|
local CELL = "app/ui/activity/act_sprint_summon_all/cell/gift_cell"
|
||||||
|
|
||||||
|
function GiftComp:init()
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
self.banner = uiMap["gift_comp.bg.banner"]
|
||||||
|
self.txTitle = uiMap["gift_comp.top.title_tx"]
|
||||||
|
self.txTime = uiMap["gift_comp.top.time_bg.time_tx"]
|
||||||
|
self.scrollrect = uiMap["gift_comp.scrollrect"]
|
||||||
|
end
|
||||||
|
|
||||||
|
function GiftComp:refresh(actId)
|
||||||
|
self.txTitle:setText(I18N:getGlobalText(GConst.ActSprintConst.ACT_LIST_NAME[actId]))
|
||||||
|
self.banner:setTexture(GConst.ActSprintConst.ACT_MAIN_BANNER[actId])
|
||||||
|
local cfgList = DataManager.ActSprintSummonDataAll:getActGiftList(actId)
|
||||||
|
self.giftList = table.clearOrCreate(self.giftList)
|
||||||
|
for _, id in ipairs(cfgList) do
|
||||||
|
table.insert(self.giftList, id)
|
||||||
|
end
|
||||||
|
-- 排序
|
||||||
|
table.sort(self.giftList, function(a, b)
|
||||||
|
-- 免费 > 可购买 > 已售罄 > id
|
||||||
|
local isFreeA = DataManager.ActSprintSummonDataAll:getActGiftIsFree(a) or DataManager.ActSprintSummonDataAll:getActGiftIsAd(a)
|
||||||
|
local isFreeB = DataManager.ActSprintSummonDataAll:getActGiftIsFree(b) or DataManager.ActSprintSummonDataAll:getActGiftIsAd(b)
|
||||||
|
if isFreeA == isFreeB then
|
||||||
|
local canBuyA = DataManager.ActSprintSummonDataAll:getActGiftRemainCount(a) > 0
|
||||||
|
local canBuyB = DataManager.ActSprintSummonDataAll:getActGiftRemainCount(b) > 0
|
||||||
|
if canBuyA == canBuyB then
|
||||||
|
return a < b
|
||||||
|
else
|
||||||
|
return canBuyA
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return isFreeA
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
if self.scrollRect == nil then
|
||||||
|
self.scrollRect = self.scrollrect:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||||
|
self.scrollRect:addInitCallback(function()
|
||||||
|
return CELL
|
||||||
|
end)
|
||||||
|
self.scrollRect:addRefreshCallback(function(index, cell)
|
||||||
|
cell:refresh(self.giftList[index])
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
if self.scrollRect:getTotalCount() == nil or self.scrollRect:getTotalCount() <= 0 then
|
||||||
|
self.scrollRect:refillCells(#self.giftList)
|
||||||
|
elseif self.scrollRect:getTotalCount() ~= #self.giftList then
|
||||||
|
self.scrollRect:clearCells()
|
||||||
|
self.scrollRect:refillCells(#self.giftList)
|
||||||
|
else
|
||||||
|
self.scrollRect:updateAllCell()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function GiftComp:updateTime()
|
||||||
|
self.txTime:setText(Time:formatNumTimeStr(DataManager.ActSprintSummonDataAll:getRemainTime()))
|
||||||
|
end
|
||||||
|
|
||||||
|
return GiftComp
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 179f9ae95bad42a408979f724a68060b
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -0,0 +1,81 @@
|
|||||||
|
local SummonActLogin = class("SummonActLogin", LuaComponent)
|
||||||
|
|
||||||
|
local CELL = "app/ui/activity/act_sprint_summon_all/cell/login_cell"
|
||||||
|
|
||||||
|
function SummonActLogin:onClose()
|
||||||
|
end
|
||||||
|
|
||||||
|
function SummonActLogin:init()
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
self.txTitle = uiMap["login_comp.top.title_tx"]
|
||||||
|
self.txTime = uiMap["login_comp.top.time_bg.time_tx"]
|
||||||
|
self.banner = uiMap["login_comp.top.banner"]
|
||||||
|
self.scrollrectPrefab = uiMap["login_comp.scrollrect"]
|
||||||
|
self.scrollrect = self.scrollrectPrefab:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||||
|
|
||||||
|
self.getBtn = uiMap["login_comp.get_btn"]
|
||||||
|
self.getBtn:addClickListener(function()
|
||||||
|
local actId = DataManager.ActSprintSummonDataAll:getActId()
|
||||||
|
local actType = DataManager.ActSprintSummonDataAll:getActType(actId)
|
||||||
|
local grade = DataManager.ActSprintSummonDataAll:isUnlockBountyPro() and 1 or 0
|
||||||
|
ModuleManager.ActSprintManager:reqSprintBountySign(actType, actId, grade)
|
||||||
|
end)
|
||||||
|
self.getBtnTx = uiMap["login_comp.get_btn.text"]
|
||||||
|
self.getBtnTx:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_CLAIMALL))
|
||||||
|
self.payBtn = uiMap["login_comp.pay_btn"]
|
||||||
|
self.payBtn:addClickListener(function()
|
||||||
|
if DataManager.ActSprintSummonDataAll:isUnlockBountyPro() then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local giftId = DataManager.ActSprintSummonDataAll:getBountyProGiftId()
|
||||||
|
ModuleManager.ActSprintManager:onBuyBountyPro(giftId)
|
||||||
|
end)
|
||||||
|
self.payBtnTx = uiMap["login_comp.pay_btn.text"]
|
||||||
|
|
||||||
|
uiMap["login_comp.scrollrect.title.tx_scro_title_1"]:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_HERO_SUIT_DESC_4))
|
||||||
|
uiMap["login_comp.scrollrect.title.tx_scro_title_2"]:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_HERO_SUIT_DESC_5))
|
||||||
|
uiMap["login_comp.scrollrect.title.tx_scro_title_3"]:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_HERO_SUIT_DESC_6))
|
||||||
|
end
|
||||||
|
--endregion
|
||||||
|
|
||||||
|
--region基础初始化方法
|
||||||
|
function SummonActLogin:updateTime()
|
||||||
|
self.txTime:setText(Time:formatNumTimeStr(DataManager.ActSprintSummonDataAll:getRemainTime()))
|
||||||
|
end
|
||||||
|
|
||||||
|
function SummonActLogin:refresh()
|
||||||
|
local actId = DataManager.ActSprintSummonDataAll:getActId()
|
||||||
|
self.txTitle:setText(I18N:getGlobalText(GConst.ActSprintConst.ACT_LIST_NAME[actId]))
|
||||||
|
self.banner:setTexture(GConst.ActSprintConst.ACT_MAIN_BANNER[actId])
|
||||||
|
self.getBtn:setActive(DataManager.ActSprintSummonDataAll:isHaveUnclaimedBountyReward())
|
||||||
|
self.payBtn:setActive(not DataManager.ActSprintSummonDataAll:isUnlockBountyPro())
|
||||||
|
local rechargeId = DataManager.ActSprintSummonDataAll:getBountyProRechargeId()
|
||||||
|
self.payBtnTx:setText(GFunc.getFormatPrice(rechargeId))
|
||||||
|
self:refreshScrollRect()
|
||||||
|
end
|
||||||
|
|
||||||
|
function SummonActLogin:refreshScrollRect()
|
||||||
|
self.cfgList = DataManager.ActSprintSummonDataAll:getBountyCfgList()
|
||||||
|
if not self.isInitScrollrect then
|
||||||
|
self.isInitScrollrect = true
|
||||||
|
self.scrollrect:addInitCallback(function()
|
||||||
|
return CELL
|
||||||
|
end)
|
||||||
|
self.scrollrect:addRefreshCallback(function(index, cell)
|
||||||
|
cell:refresh(index, #self.cfgList, self.cfgList[index])
|
||||||
|
end)
|
||||||
|
self.scrollrect:clearCells()
|
||||||
|
self.scrollrect:refillCells(#self.cfgList)
|
||||||
|
else
|
||||||
|
if self.scrollrect:getTotalCount() == #self.cfgList then
|
||||||
|
self.scrollrect:updateAllCell()
|
||||||
|
else
|
||||||
|
self.scrollrect:refillCells(#self.cfgList)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- local minIndex = self.dataManager:getMinUnclaimedRewardIndex()
|
||||||
|
-- self.scrollrect:moveToIndex(minIndex)
|
||||||
|
end
|
||||||
|
--endregion
|
||||||
|
|
||||||
|
return SummonActLogin
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8c51d0d3dc469e64a9480443efbe5eb4
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
101
lua/app/ui/activity/act_sprint_summon_all/comp/standard_comp.lua
Normal file
101
lua/app/ui/activity/act_sprint_summon_all/comp/standard_comp.lua
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
local StandardComp = class("StandardComp", LuaComponent)
|
||||||
|
local REWARD_CELL_COUNT = 3
|
||||||
|
local CELL = "app/ui/activity/act_sprint_summon_all/cell/standard_cell"
|
||||||
|
|
||||||
|
function StandardComp:init()
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
self.banner = uiMap["standard_comp.bg.banner"]
|
||||||
|
self.txTitle = uiMap["standard_comp.top.title_tx"]
|
||||||
|
self.txTitle2 = uiMap["standard_comp.top.title_2_tx"]
|
||||||
|
self.txDesc = uiMap["standard_comp.top.turn_bg.desc_tx"]
|
||||||
|
self.txTime = uiMap["standard_comp.top.time_bg.time_tx"]
|
||||||
|
self.goBtn = uiMap["standard_comp.top.go_bg"]
|
||||||
|
self.goTx = uiMap["standard_comp.top.go_bg.desc_tx"]
|
||||||
|
self.getBtn = uiMap["standard_comp.top.turn_reward_bg.get_btn"]
|
||||||
|
self.getTx = uiMap["standard_comp.top.turn_reward_bg.get_btn.tx"]
|
||||||
|
self.helpBtn = uiMap["standard_comp.top.title_tx.btn_help"]
|
||||||
|
if not self.rewardList then
|
||||||
|
self.rewardList = {}
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
table.insert(self.rewardList, CellManager:addCellComp(uiMap["standard_comp.top.reward_cell_" .. i], GConst.TYPEOF_LUA_CLASS.REWARD_CELL))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
self.rewardDescTx = uiMap["standard_comp.top.turn_reward_bg.desc_tx"]
|
||||||
|
self.scrollrect = uiMap["standard_comp.scrollrect"]
|
||||||
|
end
|
||||||
|
|
||||||
|
function StandardComp:refresh(actId)
|
||||||
|
local turn = DataManager.ActSprintSummonDataAll:getStandardTurn(actId)
|
||||||
|
local maxTurn = DataManager.ActSprintSummonDataAll:getStandardMaxTurn(actId)
|
||||||
|
local canGetTurnReward = DataManager.ActSprintSummonDataAll:getCanGetTurnReward(actId)
|
||||||
|
local gotAllTurnReward = DataManager.ActSprintSummonDataAll:getGotAllTurnReward(actId)
|
||||||
|
|
||||||
|
-- 轮次奖励
|
||||||
|
local rewards = DataManager.ActSprintSummonDataAll:getStandardRewards(actId)
|
||||||
|
for i = 1, REWARD_CELL_COUNT do
|
||||||
|
local reward = rewards and rewards[i]
|
||||||
|
if reward then
|
||||||
|
self.rewardList[i].baseObject:setActive(true)
|
||||||
|
if gotAllTurnReward then
|
||||||
|
self.rewardList[i]:refreshByConfig(reward, true, true)
|
||||||
|
self.rewardList[i]:hideFrameAnimation()
|
||||||
|
else
|
||||||
|
self.rewardList[i]:refreshByConfig(reward)
|
||||||
|
if canGetTurnReward then
|
||||||
|
self.rewardList[i]:showFrameAnimation()
|
||||||
|
self.rewardList[i]:addClickListener(function()
|
||||||
|
ModuleManager.ActSprintManager:reqStandardReward(actId)
|
||||||
|
end)
|
||||||
|
else
|
||||||
|
self.rewardList[i]:hideFrameAnimation()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
self.rewardList[i].baseObject:setActive(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
self.rewardDescTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_12))
|
||||||
|
self.banner:setTexture(GConst.ActSprintConst.ACT_MAIN_BANNER[actId])
|
||||||
|
self.txTitle:setText(I18N:getGlobalText(GConst.ActSprintConst.ACT_LIST_NAME[actId]))
|
||||||
|
self.txTitle2:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_19))
|
||||||
|
self.txDesc:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_9) .. "(" .. (turn >= maxTurn and maxTurn or (turn + 1)) .. "/" .. maxTurn .. ")")
|
||||||
|
self.txTime:setText(Time:formatNumTimeStr(DataManager.ActSprintSummonDataAll:getRemainTime()))
|
||||||
|
self.goTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_14))
|
||||||
|
self.goBtn:addClickListener(function()
|
||||||
|
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.CHANGE_MAIN_CITY_PAGE, {page = GConst.MainCityConst.BOTTOM_PAGE.MAIN})
|
||||||
|
ModuleManager.SummonManager:showSummonMainUI()
|
||||||
|
end)
|
||||||
|
self.getBtn:setActive(false)
|
||||||
|
self.helpBtn:addClickListener(function()
|
||||||
|
local params = {}
|
||||||
|
params.desc = I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_17)
|
||||||
|
ModuleManager.TipsManager:showHelpTips(params)
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- 滑动窗
|
||||||
|
self.standardList = DataManager.ActSprintSummonDataAll:getActStandardList(actId)
|
||||||
|
if self.scrollRect == nil then
|
||||||
|
self.scrollRect = self.scrollrect:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||||
|
self.scrollRect:addInitCallback(function()
|
||||||
|
return CELL
|
||||||
|
end)
|
||||||
|
self.scrollRect:addRefreshCallback(function(index, cell)
|
||||||
|
cell:refresh(self.standardList[index])
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
if self.scrollRect:getTotalCount() == nil or self.scrollRect:getTotalCount() <= 0 then
|
||||||
|
self.scrollRect:refillCells(#self.standardList)
|
||||||
|
elseif self.scrollRect:getTotalCount() ~= #self.standardList then
|
||||||
|
self.scrollRect:clearCells()
|
||||||
|
self.scrollRect:refillCells(#self.standardList)
|
||||||
|
else
|
||||||
|
self.scrollRect:updateAllCell()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function StandardComp:updateTime()
|
||||||
|
self.txTime:setText(Time:formatNumTimeStr(DataManager.ActSprintSummonDataAll:getRemainTime()))
|
||||||
|
end
|
||||||
|
|
||||||
|
return StandardComp
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: dfb4b457808240949843517d59105702
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
41
lua/app/ui/activity/act_sprint_summon_all/comp/task_comp.lua
Normal file
41
lua/app/ui/activity/act_sprint_summon_all/comp/task_comp.lua
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
local TaskComp = class("TaskComp", LuaComponent)
|
||||||
|
local CELL = "app/ui/activity/act_sprint_summon_all/cell/task_cell"
|
||||||
|
|
||||||
|
function TaskComp:init()
|
||||||
|
local uiMap = self:getUIMap()
|
||||||
|
self.banner = uiMap["task_comp.bg.banner"]
|
||||||
|
self.txTitle = uiMap["task_comp.top.title_tx"]
|
||||||
|
self.txTime = uiMap["task_comp.top.time_bg.time_tx"]
|
||||||
|
self.scrollrect = uiMap["task_comp.scrollrect"]
|
||||||
|
end
|
||||||
|
|
||||||
|
function TaskComp:refresh(actId)
|
||||||
|
self.txTitle:setText(I18N:getGlobalText(GConst.ActSprintConst.ACT_LIST_NAME[actId]))
|
||||||
|
self.banner:setTexture(GConst.ActSprintConst.ACT_MAIN_BANNER[actId])
|
||||||
|
self.taskList = DataManager.ActSprintSummonDataAll:getActTaskList(actId)
|
||||||
|
if self.scrollRect == nil then
|
||||||
|
self.scrollRect = self.scrollrect:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
||||||
|
self.scrollRect:addInitCallback(function()
|
||||||
|
return CELL
|
||||||
|
end)
|
||||||
|
self.scrollRect:addRefreshCallback(function(index, cell)
|
||||||
|
cell:refresh(self.taskList[index])
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
if self.scrollRect:getTotalCount() == nil or self.scrollRect:getTotalCount() <= 0 then
|
||||||
|
self.scrollRect:refillCells(#self.taskList)
|
||||||
|
elseif self.scrollRect:getTotalCount() ~= #self.taskList then
|
||||||
|
self.scrollRect:clearCells()
|
||||||
|
self.scrollRect:refillCells(#self.taskList)
|
||||||
|
else
|
||||||
|
self.scrollRect:updateAllCell()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function TaskComp:updateTime(actId)
|
||||||
|
self:refresh(actId)
|
||||||
|
|
||||||
|
self.txTime:setText(Time:formatNumTimeStr(DataManager.ActSprintSummonDataAll:getRemainTime()))
|
||||||
|
end
|
||||||
|
|
||||||
|
return TaskComp
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c132ed2b81e467745ac7ee7bd2e8b83f
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -129,7 +129,7 @@ function CommonBoxUI:onRefresh()
|
|||||||
self:onClickReward(index)
|
self:onClickReward(index)
|
||||||
end)
|
end)
|
||||||
else
|
else
|
||||||
cell:setClickShowTips()
|
-- cell:setClickShowTips()
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -157,7 +157,7 @@ function BountyCollectionComp:refresh()
|
|||||||
|
|
||||||
-- self.scrollRect:moveToIndex(DataManager.BountyCollectionData:getMoveIdx())
|
-- self.scrollRect:moveToIndex(DataManager.BountyCollectionData:getMoveIdx())
|
||||||
|
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.BOUNTY_COLLECTION)
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.BOUNTY_COLLECTION)
|
||||||
end
|
end
|
||||||
|
|
||||||
return BountyCollectionComp
|
return BountyCollectionComp
|
||||||
@ -139,7 +139,7 @@ function FundChapterComp:refresh(isAuto)
|
|||||||
end
|
end
|
||||||
self.scrollRect:moveToIndex(self.minIndex)
|
self.scrollRect:moveToIndex(self.minIndex)
|
||||||
if self.curStage then
|
if self.curStage then
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.FUND_LEVEL .. self.curStage)
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.FUND_LEVEL .. self.curStage)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -144,7 +144,7 @@ function FundLevelComp:refresh(isAuto)
|
|||||||
self.scrollRect:moveToIndex(self.minIndex)
|
self.scrollRect:moveToIndex(self.minIndex)
|
||||||
|
|
||||||
if self.curStage then
|
if self.curStage then
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.FUND_CHAPTER .. self.curStage)
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.FUND_CHAPTER .. self.curStage)
|
||||||
end
|
end
|
||||||
local count = 0
|
local count = 0
|
||||||
for i,id in ipairs(self.cfgList) do
|
for i,id in ipairs(self.cfgList) do
|
||||||
|
|||||||
@ -116,7 +116,6 @@ function FundMainUI:initComps()
|
|||||||
if GConst.ShopConst.FUND_COMP_NAME[id] then
|
if GConst.ShopConst.FUND_COMP_NAME[id] then
|
||||||
-- 预制体挂载
|
-- 预制体挂载
|
||||||
local obj = uiMap[GConst.ShopConst.FUND_COMP_NAME[id]]
|
local obj = uiMap[GConst.ShopConst.FUND_COMP_NAME[id]]
|
||||||
-- self:initGlobalHelp(obj)
|
|
||||||
obj:initPrefabHelper()
|
obj:initPrefabHelper()
|
||||||
obj:genAllChildren()
|
obj:genAllChildren()
|
||||||
local comp = obj:addLuaComponent(GConst.ShopConst.FUND_COMP[id])
|
local comp = obj:addLuaComponent(GConst.ShopConst.FUND_COMP[id])
|
||||||
|
|||||||
@ -118,7 +118,7 @@ function TowerBountyComp:refresh(isAuto)
|
|||||||
-- self.scrollRect:moveToIndex(self.minIndex)
|
-- self.scrollRect:moveToIndex(self.minIndex)
|
||||||
|
|
||||||
-- if self.curStage then
|
-- if self.curStage then
|
||||||
-- -- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.TOWER_BOUNTY .. self.curStage)
|
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.TOWER_BOUNTY .. self.curStage)
|
||||||
-- end
|
-- end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -259,7 +259,7 @@ function HeroComp:refreshScrollRect()
|
|||||||
spineObject:playAnimation("idle", true)
|
spineObject:playAnimation("idle", true)
|
||||||
spineObject:setLocalScale(0.7, 0.7, 0.7)
|
spineObject:setLocalScale(0.7, 0.7, 0.7)
|
||||||
self.heroSpineList[i] = spineObject
|
self.heroSpineList[i] = spineObject
|
||||||
self.heroSpineList[i]:setLocalPosition(0, -60, 0)
|
self.heroSpineList[i]:setLocalPosition(0, -53, 0)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|||||||
53
lua/app/ui/main_city/cell/side_bar_act_sprint_cell.lua
Executable file
53
lua/app/ui/main_city/cell/side_bar_act_sprint_cell.lua
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
local SideBarActSprintCell = class("SideBarActSprintCell", SideBarBaseCell)
|
||||||
|
function SideBarActSprintCell:getModuleKey()
|
||||||
|
return ModuleManager.MODULE_KEY.ACTIVITY
|
||||||
|
end
|
||||||
|
|
||||||
|
function SideBarActSprintCell:getIsOpen()
|
||||||
|
return DataManager.ActSprintData:getIsOpen()
|
||||||
|
end
|
||||||
|
|
||||||
|
function SideBarActSprintCell:getHasPurchase()
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
function SideBarActSprintCell:getSpineName()
|
||||||
|
return "ui_main_btn_shop"
|
||||||
|
end
|
||||||
|
|
||||||
|
function SideBarActSprintCell:onClick()
|
||||||
|
ModuleManager.ActSprintManager:showActSprintListUI()
|
||||||
|
end
|
||||||
|
|
||||||
|
function SideBarActSprintCell:getIsShowRedPoint()
|
||||||
|
return DataManager.ActSprintData:hasRedPoint()
|
||||||
|
end
|
||||||
|
|
||||||
|
function SideBarActSprintCell:getCellName()
|
||||||
|
return I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_1)
|
||||||
|
end
|
||||||
|
function SideBarActSprintCell:updateTime()
|
||||||
|
if self:getIsOpen() then
|
||||||
|
self:_refreshTime()
|
||||||
|
else
|
||||||
|
self.isInitSpine = false
|
||||||
|
self:closeBtn()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function SideBarActSprintCell:_refreshTime()
|
||||||
|
local remainTime = DataManager.ActSprintData:getRemainTime()
|
||||||
|
if remainTime then
|
||||||
|
self.timeBg:setActive(true)
|
||||||
|
self.timeBg:setAnchoredPositionY(-70)
|
||||||
|
self.txName:setAnchoredPositionY(5)
|
||||||
|
if remainTime < 0 then
|
||||||
|
remainTime = 0
|
||||||
|
end
|
||||||
|
self.txTime:setText(Time:formatNumTimeStr(remainTime))
|
||||||
|
else
|
||||||
|
self.timeBg:setActive(false)
|
||||||
|
self.txName:setAnchoredPositionY(5)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return SideBarActSprintCell
|
||||||
10
lua/app/ui/main_city/cell/side_bar_act_sprint_cell.lua.meta
Normal file
10
lua/app/ui/main_city/cell/side_bar_act_sprint_cell.lua.meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 1bf53e190d9ab4e9d8c574e484fd3c40
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -106,9 +106,9 @@ function FirstRechargeUI:onLoadRootComplete()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function FirstRechargeUI:postChangePage()
|
function FirstRechargeUI:postChangePage()
|
||||||
-- if self.curGear then
|
if self.curGear then
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME["FIRST_RECHARGE_PAGE_" .. self.curGear])
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME["FIRST_RECHARGE_PAGE_" .. self.curGear])
|
||||||
-- end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function FirstRechargeUI:onRefresh()
|
function FirstRechargeUI:onRefresh()
|
||||||
|
|||||||
@ -67,7 +67,7 @@ function SignMonthComp:refresh()
|
|||||||
self:refreshScrollRect()
|
self:refreshScrollRect()
|
||||||
self:refreshBtn()
|
self:refreshBtn()
|
||||||
|
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.SIGN_MONTH)
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.SIGN_MONTH)
|
||||||
end
|
end
|
||||||
|
|
||||||
function SignMonthComp:refreshTop()
|
function SignMonthComp:refreshTop()
|
||||||
|
|||||||
@ -38,7 +38,7 @@ function SignWeekComp:refresh()
|
|||||||
-- 尝试请求一次未领取奖励
|
-- 尝试请求一次未领取奖励
|
||||||
ModuleManager.SignManager:reqSignAutoRewardsClaimed()
|
ModuleManager.SignManager:reqSignAutoRewardsClaimed()
|
||||||
|
|
||||||
-- BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.SING_WEEK)
|
BIReportV2:postOperation(BIReportV2.OPERATION_UI_NAME.SING_WEEK)
|
||||||
end
|
end
|
||||||
|
|
||||||
function SignWeekComp:refreshTop()
|
function SignWeekComp:refreshTop()
|
||||||
|
|||||||
178
lua/app/userdata/activity/act_base_data.lua
Normal file
178
lua/app/userdata/activity/act_base_data.lua
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
local ActBaseData = class("ActBaseData", BaseData)
|
||||||
|
|
||||||
|
-- 必须重写 --------------------------------------------------------------------------------------------------------------
|
||||||
|
function ActBaseData:setActivityInfo()
|
||||||
|
Logger.logFatal("不能被调用,必须重写")
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getActNameStr()
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 通用逻辑 --------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function ActBaseData:initActInfo(data)
|
||||||
|
if self.actId ~= data.actId then
|
||||||
|
self:tryResetGift(true)
|
||||||
|
self:tryResetProBought()
|
||||||
|
self:clear()
|
||||||
|
end
|
||||||
|
|
||||||
|
self.actId = data.actId
|
||||||
|
self.startTime = data.startTime
|
||||||
|
self.endTime = data.endTime
|
||||||
|
self.extraTime = data.extraTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getActId()
|
||||||
|
return self.actId
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:setActId(id)
|
||||||
|
self.actId = id
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:clearActId()
|
||||||
|
self:setActId(nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getStartTime()
|
||||||
|
return self.startTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getEndTime()
|
||||||
|
return self.endTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getExtraTime()
|
||||||
|
return self.extraTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getRemainTime()
|
||||||
|
if not self:getStartTime() then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
local nowTime = Time:getServerTime()
|
||||||
|
if self:getExtraTime() < nowTime then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
return self:getExtraTime() - nowTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getNormalRemainTime()
|
||||||
|
local nowTime = Time:getServerTime()
|
||||||
|
if self:getEndTime() < nowTime then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
return self:getEndTime() - nowTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getTotalRemainTime()
|
||||||
|
local remainTime = self:getNormalRemainTime()
|
||||||
|
if remainTime <= 0 then
|
||||||
|
remainTime = self:getRemainTime()
|
||||||
|
end
|
||||||
|
|
||||||
|
return remainTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getIsLastDay()
|
||||||
|
if not self:getStartTime() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local nowTime = Time:getServerTime()
|
||||||
|
if self:getExtraTime() > nowTime and nowTime >= self:getEndTime() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getActivityDay()
|
||||||
|
local time = Time:getDayBeginTimeStamp(self:getStartTime())
|
||||||
|
return (Time:getServerTime() - time) // GConst.SECONDS_PRE_DAY + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getTimeOpen()
|
||||||
|
if not self:getStartTime() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local nowTime = Time:getServerTime()
|
||||||
|
if self:getStartTime() <= nowTime and nowTime <= self:getExtraTime() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getIsOpen()
|
||||||
|
if GFunc.isShenhe() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
if not ModuleManager:getIsOpen(DataManager.ActivityData:getActOpenKey(), true) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local actId = self:getActId()
|
||||||
|
if not actId or actId <= 0 then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
return self:getTimeOpen()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:setLoginRp()
|
||||||
|
self.loginRp = true
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:getLoginRp()
|
||||||
|
if DataManager.PaymentData:getIsSkipAd() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return not self.loginRp
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 重置礼包购买次数
|
||||||
|
-- force true重置所有礼包 false只重置免费礼包
|
||||||
|
function ActBaseData:tryResetGift(force)
|
||||||
|
local actId = self:getActId()
|
||||||
|
if not actId or actId <= 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("重置活动礼包数据 act_id = " .. tostring(actId))
|
||||||
|
end
|
||||||
|
|
||||||
|
DataManager.ActGiftData:tryResetGift(actId, force)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActBaseData:tryResetProBought()
|
||||||
|
local actId = self:getActId()
|
||||||
|
if not actId or actId <= 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("重置活动战令数据 act_id = " .. tostring(actId))
|
||||||
|
Logger.logHighlight("重置轮次数据 act_id = " .. tostring(actId))
|
||||||
|
end
|
||||||
|
|
||||||
|
DataManager.ActBountyData:tryResetProBought(actId)
|
||||||
|
DataManager.ActRoundTaskData:tryResetProBought(actId)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- 今日已买次数
|
||||||
|
function ActBaseData:getTodayExchangeCount(id)
|
||||||
|
return DataManager.ActivityData:getExchangeCount(id)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
return ActBaseData
|
||||||
10
lua/app/userdata/activity/act_base_data.lua.meta
Normal file
10
lua/app/userdata/activity/act_base_data.lua.meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 60b360bcd258f4aa3a729d34af55922f
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
8
lua/app/userdata/activity/act_sprint.meta
Normal file
8
lua/app/userdata/activity/act_sprint.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7aac4f4004ba94c10baab7a46d0ba28e
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
376
lua/app/userdata/activity/act_sprint/act_sprint_data.lua
Normal file
376
lua/app/userdata/activity/act_sprint/act_sprint_data.lua
Normal file
@ -0,0 +1,376 @@
|
|||||||
|
local ActBaseData = require "app/userdata/activity/act_base_data"
|
||||||
|
local ActSprintData = class("ActSprintData", ActBaseData)
|
||||||
|
|
||||||
|
function ActSprintData:ctor()
|
||||||
|
self:clear()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:clear()
|
||||||
|
DataManager:unregisterCrossDayFunc("ActSprintData")
|
||||||
|
ModuleManager.TaskManager:unRegisterAllModuleTask("ActSprintData")
|
||||||
|
self.isInit = false
|
||||||
|
|
||||||
|
self.exchanged = {} -- 兑换道具
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:setDirty()
|
||||||
|
self.data.isDirty = not self.data.isDirty
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:init(data)
|
||||||
|
data = data or {}
|
||||||
|
self.exchanged = data.exchanged or {}
|
||||||
|
|
||||||
|
if not self.isInit then
|
||||||
|
self.isInit = true
|
||||||
|
-- 跨天
|
||||||
|
DataManager:registerCrossDayFunc("ActSprintData", function()
|
||||||
|
local isCrossWeek = Time:getDayofWeek() == 1
|
||||||
|
-- 重置兑换
|
||||||
|
for id, _ in pairs(self.exchanged) do
|
||||||
|
if self:getExchangeRefreshType(id) == 1 then
|
||||||
|
self.exchanged[id] = 0
|
||||||
|
elseif self:getExchangeRefreshType(id) == 2 then
|
||||||
|
if isCrossWeek then
|
||||||
|
self.exchanged[id] = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
self:setDirty()
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getSprintDetailData(actId)
|
||||||
|
if actId == GConst.ActSprintConst.ACT_ID.SUMMON_ALL then
|
||||||
|
return DataManager.ActSprintSummonDataAll
|
||||||
|
end
|
||||||
|
-- if actId == GConst.ActSprintConst.ACT_ID.SUMMON then
|
||||||
|
-- return DataManager.ActSprintSummonData
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.CORE_SOUL_BOX then
|
||||||
|
-- return DataManager.ActSprintBoxData
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.SUMMON_V2 then
|
||||||
|
-- return DataManager.ActSprintSummonDataV2
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.CORE_SOUL_BOX_V2 then
|
||||||
|
-- return DataManager.ActSprintBoxDataV2
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.SUMMON_ALL then
|
||||||
|
-- return DataManager.ActSprintSummonDataAll
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.CORE_SOUL_BOX_ALL then
|
||||||
|
-- return DataManager.ActSprintBoxDataAll
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.SUMMON_LOOP then
|
||||||
|
-- return DataManager.ActSprintSummonDataLoop
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.CORE_SOUL_BOX_LOOP then
|
||||||
|
-- return DataManager.ActSprintBoxDataLoop
|
||||||
|
-- elseif actId == GConst.ActSprintConst.ACT_ID.TREE_LOOP then
|
||||||
|
-- return DataManager.ActSprintTreeDataLoop
|
||||||
|
-- end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getIsOpen()
|
||||||
|
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.ACTIVITY, true) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
return self:getTimeOpen()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getActSprintIdList()
|
||||||
|
self.openIdList = table.clearOrCreate(self.openIdList)
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:getIsOpen() then
|
||||||
|
table.insert(self.openIdList, actId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("当前开启的冲刺活动:")
|
||||||
|
Logger.printTable(self.openIdList)
|
||||||
|
end
|
||||||
|
|
||||||
|
return self.openIdList
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 任意活动开启均有效
|
||||||
|
function ActSprintData:getTimeOpen()
|
||||||
|
local isAnyOpen = false
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:getTimeOpen() and data:getIsShow() then
|
||||||
|
isAnyOpen = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return isAnyOpen
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getIsLastDay()
|
||||||
|
local isLastDay = false
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:getIsLastDay() then
|
||||||
|
isLastDay = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return isLastDay
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getTotalRemainTime()
|
||||||
|
local totalRemainTime
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:getTotalRemainTime() then
|
||||||
|
totalRemainTime = data:getTotalRemainTime()
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return totalRemainTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getRemainTime()
|
||||||
|
local maxRemainTime = 0
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:getRemainTime() > maxRemainTime then
|
||||||
|
maxRemainTime = data:getRemainTime()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return maxRemainTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getNormalRemainTime(actId)
|
||||||
|
-- 找目前最长时间的
|
||||||
|
local maxRemainTime = 0
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:getNormalRemainTime() > maxRemainTime then
|
||||||
|
maxRemainTime = data:getNormalRemainTime()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return maxRemainTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:hasRedPoint(ignoreExchange)
|
||||||
|
if not self:getIsOpen() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 兑换商店
|
||||||
|
if not ignoreExchange then
|
||||||
|
if self:hasExchangeRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if self:hasStandardRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
if self:hasGiftRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
if self:hasTaskRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
if self:hasBountyRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getActNameStr()
|
||||||
|
return I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_1)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:hasExchangeRp()
|
||||||
|
if self:isShopOpen() then
|
||||||
|
return self:getHasFreeExchangeItem()
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:hasStandardRp()
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:hasStandardRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:hasGiftRp()
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:hasGiftRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:hasTaskRp()
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:hasTaskRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:hasBountyRp()
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:hasBountyRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
--@endregion
|
||||||
|
|
||||||
|
-- 活动数据相关 **********************************************************************
|
||||||
|
function ActSprintData:getActConfig(id)
|
||||||
|
if id then
|
||||||
|
return ConfigManager:getConfig("activity")[id]
|
||||||
|
else
|
||||||
|
return ConfigManager:getConfig("activity")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getActType(id)
|
||||||
|
return self:getActConfig(id).act_type
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getActGiftList(id)
|
||||||
|
return self:getActConfig(id).act_gift
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getActShowReward(id)
|
||||||
|
return self:getActConfig(id).show_reward
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 兑换道具相关 **********************************************************************
|
||||||
|
|
||||||
|
function ActSprintData:isShopOpen()
|
||||||
|
-- 特定活动才会开放
|
||||||
|
for key, actId in pairs(GConst.ActSprintConst.ACT_ID) do
|
||||||
|
local data = self:getSprintDetailData(actId)
|
||||||
|
if data and data:getIsOpen() then
|
||||||
|
if not GConst.ActSprintConst.ACT_ID_NOT_SHOP[actId] then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeCount(id)
|
||||||
|
return self.exchanged[id] or 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:setExchangeCount(id, count)
|
||||||
|
self.exchanged[id] = count
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:onExchangeSuccess(id, count)
|
||||||
|
self.exchanged[id] = (self.exchanged[id] or 0) + count
|
||||||
|
self:setDirty()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeConfig(id)
|
||||||
|
if id then
|
||||||
|
return ConfigManager:getConfig("act_exchange")[id]
|
||||||
|
else
|
||||||
|
return ConfigManager:getConfig("act_exchange")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeIdList()
|
||||||
|
local cfg = self:getExchangeConfig()
|
||||||
|
self.exchangeIdList = table.clearOrCreate(self.exchangeIdList)
|
||||||
|
for id, info in pairs(cfg) do
|
||||||
|
-- 策划说不配的是兑换活动 相信策划 不会改的
|
||||||
|
if info.activity == nil and self:getExchangeShow(id) then
|
||||||
|
table.insert(self.exchangeIdList, id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- 排序
|
||||||
|
table.sort(self.exchangeIdList, function(a, b)
|
||||||
|
local isFreeA = self:getExchangeCost(a) == nil
|
||||||
|
local isFreeB = self:getExchangeCost(b) == nil
|
||||||
|
if isFreeA == isFreeB then
|
||||||
|
local canBuyA = DataManager.ActSprintData:getExchangeRemainCount(a) > 0
|
||||||
|
local canBuyB = DataManager.ActSprintData:getExchangeRemainCount(b) > 0
|
||||||
|
if canBuyA and canBuyB then
|
||||||
|
return a < b
|
||||||
|
elseif not canBuyA and not canBuyB then
|
||||||
|
return a < b
|
||||||
|
else
|
||||||
|
return canBuyA
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return isFreeA
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
return self.exchangeIdList
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeReward(id)
|
||||||
|
return self:getExchangeConfig(id).reward
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeCost(id)
|
||||||
|
return self:getExchangeConfig(id).cost
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeRefreshType(id)
|
||||||
|
return self:getExchangeConfig(id).refresh_type
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeLimit(id)
|
||||||
|
return self:getExchangeConfig(id).limit
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeFuncOpen(id)
|
||||||
|
return self:getExchangeConfig(id).func_open
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeForceId(id)
|
||||||
|
return self:getExchangeConfig(id).force_id
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeShow(id)
|
||||||
|
-- local funcOpen = self:getExchangeFuncOpen(id)
|
||||||
|
-- local forceId = self:getExchangeForceId(id)
|
||||||
|
-- if funcOpen and not ModuleManager:getIsOpen(funcOpen, true) then
|
||||||
|
-- return false
|
||||||
|
-- end
|
||||||
|
-- if forceId and not DataManager.ForceData:getIsOwnForce(forceId) then
|
||||||
|
-- return false
|
||||||
|
-- end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getExchangeRemainCount(id)
|
||||||
|
return self:getExchangeLimit(id) - self:getExchangeCount(id)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintData:getHasFreeExchangeItem()
|
||||||
|
local cfgList = self:getExchangeIdList()
|
||||||
|
for _, id in ipairs(cfgList) do
|
||||||
|
if self:getExchangeCost(id) == nil and self:getExchangeRemainCount(id) > 0 then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
return ActSprintData
|
||||||
10
lua/app/userdata/activity/act_sprint/act_sprint_data.lua.meta
Executable file
10
lua/app/userdata/activity/act_sprint/act_sprint_data.lua.meta
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2207d5305b819a94d8ebe208df6a39da
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -0,0 +1,904 @@
|
|||||||
|
local ActBaseData = require "app/userdata/activity/act_base_data"
|
||||||
|
local ActSprintSummonData = class("ActSprintSummonData", ActBaseData)
|
||||||
|
|
||||||
|
function ActSprintSummonData:ctor()
|
||||||
|
self:clear()
|
||||||
|
|
||||||
|
self.actId = 11701
|
||||||
|
self.startTime = Time:getServerTime()
|
||||||
|
self.endTime = Time:getServerTime() + 864000
|
||||||
|
self.extraTime = Time:getServerTime() + 864000
|
||||||
|
self:initBountyCfg()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:clear()
|
||||||
|
DataManager:unregisterCrossDayFunc("ActSprintSummonDataAll")
|
||||||
|
ModuleManager.TaskManager:unRegisterAllModuleTask("ActSprintSummonDataAll")
|
||||||
|
self.isInit = false
|
||||||
|
|
||||||
|
-- 达标任务数据
|
||||||
|
self.standardScore = 0
|
||||||
|
self.standardTotalScore = 0
|
||||||
|
self.standardTurn = 0
|
||||||
|
self.standardClaimed = 0
|
||||||
|
self.standardClaimedTaskMap = {}
|
||||||
|
-- 普通任务进度
|
||||||
|
self.taskProgressMap = {}
|
||||||
|
self.taskClaimedMap = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:setDirty()
|
||||||
|
self.data.isDirty = not self.data.isDirty
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:clearActInfo(actId)
|
||||||
|
if self.actId ~= actId then
|
||||||
|
-- 重置礼包
|
||||||
|
self:tryResetGift(actId, true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 初始化任务数据
|
||||||
|
function ActSprintSummonData:initTaskData(standardData, normalData)
|
||||||
|
standardData = standardData and standardData.task_data or {}
|
||||||
|
normalData = normalData and normalData.task_data or {}
|
||||||
|
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("任务模块")
|
||||||
|
Logger.printTable(standardData)
|
||||||
|
Logger.printTable(normalData)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 达标任务
|
||||||
|
for _, info in ipairs(standardData) do
|
||||||
|
if info.activity_id == self.actId then
|
||||||
|
-- 约定只有1个
|
||||||
|
local score = info.score
|
||||||
|
local totalScore = info.total_score
|
||||||
|
local round = info.round
|
||||||
|
local roundClaimed = info.round_claimed
|
||||||
|
local claimedTaskList = info.claimed
|
||||||
|
|
||||||
|
self.standardScore = score
|
||||||
|
self.standardTotalScore = totalScore
|
||||||
|
self.standardTurn = round
|
||||||
|
self.standardClaimed = roundClaimed
|
||||||
|
self.standardClaimedTaskMap = table.clearOrCreate(self.standardClaimedTaskMap)
|
||||||
|
for _, taskId in ipairs(claimedTaskList) do
|
||||||
|
self.standardClaimedTaskMap[taskId] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 常规任务
|
||||||
|
for _, info in ipairs(normalData) do
|
||||||
|
if info.activity_id == self.actId then
|
||||||
|
local taskId = info.data.id
|
||||||
|
local progress = info.data.progress
|
||||||
|
local stageClaimed = info.data.stage_claimed
|
||||||
|
|
||||||
|
self.taskProgressMap[taskId] = progress
|
||||||
|
self.taskClaimedMap[taskId] = stageClaimed > 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:setActivityInfo(data, isCrossDayClientRefresh)
|
||||||
|
if self.actId ~= data.actId then
|
||||||
|
self:clear()
|
||||||
|
end
|
||||||
|
self.actId = data.actId
|
||||||
|
self.startTime = data.startTime
|
||||||
|
self.endTime = data.endTime
|
||||||
|
self.extraTime = data.extraTime
|
||||||
|
|
||||||
|
if data.data ~= GConst.EMPTY_STRING then
|
||||||
|
local info = NetManager:decodeActivityData("ActivityRushSign", data.data)
|
||||||
|
if info and not isCrossDayClientRefresh then
|
||||||
|
self:initActivityData(info)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
self:initBountyCfg()
|
||||||
|
|
||||||
|
if not self.isInit then
|
||||||
|
self.isInit = true
|
||||||
|
-- 跨天
|
||||||
|
DataManager:registerCrossDayFunc("ActSprintSummonDataAll", function()
|
||||||
|
-- 当天开启 重置任务
|
||||||
|
if self:getStartTime() == Time:getBeginningOfServerToday() then
|
||||||
|
-- 达标任务数据
|
||||||
|
self.standardScore = 0
|
||||||
|
self.standardTotalScore = 0
|
||||||
|
self.standardTurn = 0
|
||||||
|
self.standardClaimed = 0
|
||||||
|
self.standardClaimedTaskMap = {}
|
||||||
|
-- 普通任务进度
|
||||||
|
self.taskProgressMap = {}
|
||||||
|
self.taskClaimedMap = {}
|
||||||
|
end
|
||||||
|
local isCrossWeek = Time:getDayofWeek() == 1
|
||||||
|
-- 重置礼包
|
||||||
|
for _, actGiftId in ipairs(self:getActGiftList(self.actId)) do
|
||||||
|
local cfgInfo = self:getActGiftConfig(actGiftId)
|
||||||
|
if cfgInfo and cfgInfo.limit_type == 1 then
|
||||||
|
DataManager.PaymentData:resetGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, actGiftId)
|
||||||
|
end
|
||||||
|
if cfgInfo and cfgInfo.limit_type == 2 and isCrossWeek then
|
||||||
|
DataManager.PaymentData:resetGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, actGiftId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if self.bountyCurrDay then
|
||||||
|
self.bountyCurrDay = self.bountyCurrDay + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
self:setDirty()
|
||||||
|
end)
|
||||||
|
-- 注册任务监听
|
||||||
|
for id, info in pairs(self:getActTaskConfig()) do
|
||||||
|
if info.activity == self.actId and info.display ~= nil then
|
||||||
|
ModuleManager.TaskManager:registerTask("ActSprintSummonDataAll", info.type, function(count)
|
||||||
|
self:addTaskProgress(info.type, count)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:initActivityData(data)
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("初始化冲刺战令数据")
|
||||||
|
Logger.printTable(data)
|
||||||
|
end
|
||||||
|
self.bountyCurrDay = data.day
|
||||||
|
self.bountyInfo = data.sign or GConst.EMPTY_TABLE
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:onBountySign(sign)
|
||||||
|
if sign then
|
||||||
|
self.bountyInfo = sign
|
||||||
|
self:setDirty()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:initBountyCfg()
|
||||||
|
if self.bountyCfg == nil then
|
||||||
|
self.bountyCfg = {}
|
||||||
|
for id, info in pairs(ConfigManager:getConfig("act_bounty")) do
|
||||||
|
if info.activity == self:getActId() then
|
||||||
|
info.id = id
|
||||||
|
self.bountyCfg[id] = info
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if not self.bountyCfgList then
|
||||||
|
self.bountyCfgList = {}
|
||||||
|
for k,v in pairs(self.bountyCfg) do
|
||||||
|
table.insert(self.bountyCfgList, v)
|
||||||
|
end
|
||||||
|
table.sort(self.bountyCfgList, function(a, b) return a.id < b.id end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function ActSprintSummonData:getBountyCfg(id)
|
||||||
|
if id then
|
||||||
|
return self.bountyCfg[id]
|
||||||
|
else
|
||||||
|
return self.bountyCfg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getBountyCfgList(id)
|
||||||
|
if id then
|
||||||
|
return self.bountyCfgList[id]
|
||||||
|
else
|
||||||
|
return self.bountyCfgList
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getBountyCurrDay()
|
||||||
|
return self.bountyCurrDay or 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getHasGotBountyReward(grade, day)
|
||||||
|
if self.bountyInfo == nil then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local claimedMap = self.bountyInfo.claimed
|
||||||
|
if claimedMap == nil then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local bountyCfg = self.bountyCfgList[day]
|
||||||
|
if bountyCfg == nil then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local claimed = claimedMap[bountyCfg.id]
|
||||||
|
if claimed == nil then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local list = claimed.grade
|
||||||
|
if list == nil then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
for k, v in ipairs(list) do
|
||||||
|
if v == grade then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:isUnlockBountyPro()
|
||||||
|
if self.bountyCfgList == nil then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local giftId = self.bountyCfgList[1].reward_pro_pay
|
||||||
|
if giftId == nil then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local boughtTime = DataManager.PaymentData:getGiftBoughtTime(PayManager.PURCHARSE_TYPE.ACT_GIFT, giftId)
|
||||||
|
if self:getStartTime() <= boughtTime and boughtTime <= self:getEndTime() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getBountyProGiftId()
|
||||||
|
if self.bountyCfgList == nil then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
local giftId = self.bountyCfgList[1].reward_pro_pay
|
||||||
|
return giftId
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getBountyProRechargeId()
|
||||||
|
if self.bountyCfgList == nil then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
local giftId = self.bountyCfgList[1].reward_pro_pay
|
||||||
|
local cfg = ConfigManager:getConfig("act_gift")[giftId]
|
||||||
|
return cfg and cfg.recharge_id or 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:isHaveUnclaimedBountyReward()
|
||||||
|
if self.bountyCfgList == nil then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local maxDay = #self.bountyCfgList
|
||||||
|
local currDay = self:getBountyCurrDay()
|
||||||
|
if currDay > maxDay then
|
||||||
|
currDay = maxDay
|
||||||
|
end
|
||||||
|
for i = 1, currDay do
|
||||||
|
if self:canClaimBountyReward(0, i) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
if self:canClaimBountyReward(1, i) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:canClaimBountyReward(grade, day)
|
||||||
|
local currDay = self:getBountyCurrDay()
|
||||||
|
if currDay < day then -- 没到时间
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
if self:getHasGotBountyReward(grade, day) then -- 已经领过了
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
if grade == 0 then -- 免费
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
if self:isUnlockBountyPro() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:hasBountyRp()
|
||||||
|
if self:isHaveUnclaimedBountyReward() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
--@region 活动时间
|
||||||
|
function ActSprintSummonData:syncedData()
|
||||||
|
return self.syncData
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getIsOpen()
|
||||||
|
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.ACTIVITY, true) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
return self:getTimeOpen()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getIsShow()
|
||||||
|
local funcOpen = self:getActFuncOpen(self:getActId())
|
||||||
|
if funcOpen then
|
||||||
|
local isFuncOpen = ModuleManager:getIsOpen(funcOpen, true)
|
||||||
|
return isFuncOpen
|
||||||
|
end
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActId()
|
||||||
|
return self.actId
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:clearActId()
|
||||||
|
self.actId = nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 任意活动开启均有效
|
||||||
|
function ActSprintSummonData:getTimeOpen()
|
||||||
|
if not self.startTime then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local nowTime = Time:getServerTime()
|
||||||
|
if self.startTime <= nowTime and nowTime <= self.extraTime then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getIsLastDay()
|
||||||
|
if not self:getStartTime() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local nowTime = Time:getServerTime()
|
||||||
|
if self:getExtraTime() > nowTime and nowTime >= self:getEndTime() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getTotalRemainTime()
|
||||||
|
local remainTime = self:getNormalRemainTime()
|
||||||
|
if remainTime <= 0 then
|
||||||
|
remainTime = self:getRemainTime()
|
||||||
|
end
|
||||||
|
|
||||||
|
return remainTime
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 获取活动时间
|
||||||
|
function ActSprintSummonData:getStartTime()
|
||||||
|
return self.startTime or 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getEndTime()
|
||||||
|
return self.endTime or 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getExtraTime()
|
||||||
|
return self.extraTime or 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getRemainTime()
|
||||||
|
if not self.startTime then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
local nowTime = Time:getServerTime()
|
||||||
|
if self.extraTime < nowTime then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
return self.extraTime - nowTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getNormalRemainTime()
|
||||||
|
local nowTime = Time:getServerTime()
|
||||||
|
if self:getEndTime() < nowTime then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
return self:getEndTime() - nowTime
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:hasRedPoint()
|
||||||
|
if not self:syncedData() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
if not self:getIsOpen() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
if self:hasStandardRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
if self:hasGiftRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
if self:hasTaskRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
if self:hasBountyRp() then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActNameStr()
|
||||||
|
return I18N:getGlobalText(I18N.GlobalConst.ACT_GOGOGO_DESC_1)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:hasStandardRp(actId)
|
||||||
|
actId = actId or self:getActId()
|
||||||
|
return self:getCanGetTurnReward(actId) or self:getCanAnyStandardTaskCanGetReward(actId)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:hasGiftRp(actId)
|
||||||
|
actId = actId or self:getActId()
|
||||||
|
return self:getHasFreeGiftCanBuy(actId)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:hasTaskRp(actId)
|
||||||
|
actId = actId or self:getActId()
|
||||||
|
return self:getCanAnyNormalTaskCanGetReward(actId)
|
||||||
|
end
|
||||||
|
|
||||||
|
--@endregion
|
||||||
|
|
||||||
|
-- 活动数据相关 **********************************************************************
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActConfig(id)
|
||||||
|
if id then
|
||||||
|
return ConfigManager:getConfig("activity")[id]
|
||||||
|
else
|
||||||
|
return ConfigManager:getConfig("activity")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActType(id)
|
||||||
|
return self:getActConfig(id).act_type
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftList(id)
|
||||||
|
return self:getActConfig(id).act_gift
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActShowReward(id)
|
||||||
|
return self:getActConfig(id).show_reward
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActFuncOpen(id)
|
||||||
|
return self:getActConfig(id).func_open
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 活动任务相关 **********************************************************************
|
||||||
|
|
||||||
|
function ActSprintSummonData:addTaskProgress(taskType, progress)
|
||||||
|
local standardList = self:getActStandardTaskIdList(self.actId)
|
||||||
|
local normalList = self:getActNormalTaskIdList(self.actId)
|
||||||
|
-- 约定只有1个类型
|
||||||
|
if standardList and standardList[1] then
|
||||||
|
if self:getActTaskType(standardList[1]) == taskType then
|
||||||
|
self.standardScore = (self.standardScore or 0) + progress
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for _, taskId in ipairs(normalList) do
|
||||||
|
if self:getActTaskType(taskId) == taskType then
|
||||||
|
if table.containValue(GConst.TaskConst.TASK_TARGRT_TYPE, taskType) then
|
||||||
|
-- 特别处理升星
|
||||||
|
if taskType == GConst.TaskConst.TASK_TYPE.HERO_LEGEND_STAR_UP_TO then
|
||||||
|
if self:getActTaskNum(taskId) < progress and progress <= self:getActTaskNumber1(taskId) then
|
||||||
|
self:setActTaskNum(taskId, progress)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if self:getActTaskNum(taskId) < progress then
|
||||||
|
self:setActTaskNum(taskId, progress)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
self:addActTaskNum(taskId, progress)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActTaskConfig(id)
|
||||||
|
if id then
|
||||||
|
return ConfigManager:getConfig("act_task")[id]
|
||||||
|
else
|
||||||
|
return ConfigManager:getConfig("act_task")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 达标任务
|
||||||
|
function ActSprintSummonData:getActStandardTaskIdList(actId)
|
||||||
|
actId = actId or self.actId
|
||||||
|
local cfg = self:getActTaskConfig()
|
||||||
|
local actTaskList = {}
|
||||||
|
for taskId, info in pairs(cfg) do
|
||||||
|
if info.activity == actId and info.display == 1 then
|
||||||
|
table.insert(actTaskList, taskId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return actTaskList
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 普通任务
|
||||||
|
function ActSprintSummonData:getActNormalTaskIdList(actId)
|
||||||
|
actId = actId or self.actId
|
||||||
|
local cfg = self:getActTaskConfig()
|
||||||
|
local actTaskList = {}
|
||||||
|
for taskId, info in pairs(cfg) do
|
||||||
|
if info.activity == actId and info.display == 2 then
|
||||||
|
table.insert(actTaskList, taskId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return actTaskList
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActTaskActivityId(actTaskId)
|
||||||
|
return self:getActTaskConfig(actTaskId).activity
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActTaskDisplay(actTaskId)
|
||||||
|
return self:getActTaskConfig(actTaskId).display
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActTaskType(actTaskId)
|
||||||
|
return self:getActTaskConfig(actTaskId).type
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActTaskNumber1(actTaskId)
|
||||||
|
return self:getActTaskConfig(actTaskId).number_1
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActTaskReward(actTaskId)
|
||||||
|
return self:getActTaskConfig(actTaskId).reward
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActTaskI18NName(actTaskId)
|
||||||
|
return ConfigManager:getConfig("act_task")[actTaskId].desc
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 达标任务列表
|
||||||
|
function ActSprintSummonData:getActStandardList(id)
|
||||||
|
id = id or self.actId
|
||||||
|
local list = {}
|
||||||
|
local cfg = self:getActTaskConfig()
|
||||||
|
for taskId, info in pairs(cfg) do
|
||||||
|
if info.activity == id and info.display == 1 then
|
||||||
|
table.insert(list, taskId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
table.sort(list, function(a, b)
|
||||||
|
-- 已完成(可领奖) > 进行中 > 已完成(已领奖) > id
|
||||||
|
local canGetA = self:getCanGetTaskReward(a)
|
||||||
|
local canGetB = self:getCanGetTaskReward(b)
|
||||||
|
if canGetA == canGetB then
|
||||||
|
local gotA = self:getHasGotTaskReward(a)
|
||||||
|
local gotB = self:getHasGotTaskReward(b)
|
||||||
|
if gotA == gotB then
|
||||||
|
return a < b
|
||||||
|
else
|
||||||
|
return gotB
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return canGetA
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
return list
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 普通任务列表
|
||||||
|
function ActSprintSummonData:getActTaskList(id)
|
||||||
|
id = id or self.actId
|
||||||
|
local list = {}
|
||||||
|
local cfg = self:getActTaskConfig()
|
||||||
|
for taskId, info in pairs(cfg) do
|
||||||
|
if info.activity == id and info.display == 2 then
|
||||||
|
table.insert(list, taskId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
table.sort(list, function(a, b)
|
||||||
|
-- 已完成(可领奖) > 进行中 > 已完成(已领奖) > id
|
||||||
|
local canGetA = self:getCanGetTaskReward(a)
|
||||||
|
local canGetB = self:getCanGetTaskReward(b)
|
||||||
|
if canGetA == canGetB then
|
||||||
|
local gotA = self:getHasGotTaskReward(a)
|
||||||
|
local gotB = self:getHasGotTaskReward(b)
|
||||||
|
if gotA == gotB then
|
||||||
|
return a < b
|
||||||
|
else
|
||||||
|
return gotB
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return canGetA
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
return list
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getStandardTurn()
|
||||||
|
return self.standardTurn or 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getStandardClaimedTurn()
|
||||||
|
return self.standardClaimed or 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getStandardMaxTurn(actId)
|
||||||
|
actId = actId or self.actId
|
||||||
|
return GConst.ActSprintConst.ACT_ROUND_LIMIT[actId]
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getStandardRewards(actId)
|
||||||
|
actId = actId or self.actId
|
||||||
|
return GConst.ActSprintConst.ACT_ROUND_REWARD[actId]
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getCanGetTurnReward(actId)
|
||||||
|
actId = actId or self.actId
|
||||||
|
-- 当前任务全部领取 未领取当前波次奖励
|
||||||
|
if (self.standardClaimed < self:getStandardTurn(actId)) then
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getCanAnyStandardTaskCanGetReward(actId)
|
||||||
|
actId = actId or self.actId
|
||||||
|
local taskList = self:getActStandardList(actId)
|
||||||
|
for _, actTaskId in ipairs(taskList) do
|
||||||
|
if self:getCanGetTaskReward(actTaskId) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getAllStandardTaskGotReward(actId)
|
||||||
|
actId = actId or self.actId
|
||||||
|
local taskList = self:getActStandardList(actId)
|
||||||
|
for _, actTaskId in ipairs(taskList) do
|
||||||
|
if not self:getHasGotTaskReward(actTaskId) then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 成功领取轮次奖励
|
||||||
|
function ActSprintSummonData:onGetStandardTurnReward(actId)
|
||||||
|
self.standardClaimed = (self.standardClaimed or 0) + 1
|
||||||
|
self:setDirty()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 是否已经领完了全部的轮次奖励
|
||||||
|
function ActSprintSummonData:getGotAllTurnReward(actId)
|
||||||
|
local claimed = self.standardClaimed or 0
|
||||||
|
local maxTurn = self:getStandardMaxTurn(actId)
|
||||||
|
return claimed >= maxTurn
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActTaskNum(actTaskId)
|
||||||
|
if self:getActTaskDisplay(actTaskId) == 1 then
|
||||||
|
return self.standardScore or 0
|
||||||
|
else
|
||||||
|
return self.taskProgressMap[actTaskId] or 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:addActTaskNum(actTaskId, progress)
|
||||||
|
self.taskProgressMap[actTaskId] = (self.taskProgressMap[actTaskId] or 0) + progress
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:setActTaskNum(actTaskId, progress)
|
||||||
|
self.taskProgressMap[actTaskId] = progress
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getHasGotTaskReward(actTaskId)
|
||||||
|
if self:getActTaskDisplay(actTaskId) == 1 then
|
||||||
|
return self.standardTurn >= self:getStandardMaxTurn(self:getActId()) or self.standardClaimedTaskMap[actTaskId]
|
||||||
|
else
|
||||||
|
return self.taskClaimedMap[actTaskId]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 特定任务是否可领奖
|
||||||
|
function ActSprintSummonData:getCanGetTaskReward(actTaskId)
|
||||||
|
if not self:getHasGotTaskReward(actTaskId) and self:getActTaskNum(actTaskId) >= self:getActTaskNumber1(actTaskId) then
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getCanAnyNormalTaskCanGetReward(actId)
|
||||||
|
local taskList = self:getActNormalTaskIdList(actId)
|
||||||
|
for _, actTaskId in ipairs(taskList) do
|
||||||
|
if self:getCanGetTaskReward(actTaskId) then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 领取任务成功
|
||||||
|
function ActSprintSummonData:onStandardTaskSuccess(actTaskId)
|
||||||
|
if actTaskId and actTaskId > 0 then
|
||||||
|
self.standardClaimedTaskMap[actTaskId] = true
|
||||||
|
else
|
||||||
|
local list = self:getActStandardTaskIdList(self:getActId())
|
||||||
|
for _, id in ipairs(list) do
|
||||||
|
if self:getCanGetTaskReward(id) then
|
||||||
|
self.standardClaimedTaskMap[id] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- 如果所有任务都领取了 增加轮次
|
||||||
|
local list = self:getActStandardTaskIdList(self:getActId())
|
||||||
|
local isAllGot = true
|
||||||
|
for _, id in ipairs(list) do
|
||||||
|
if not self:getHasGotTaskReward(id) then
|
||||||
|
isAllGot = false
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if isAllGot then
|
||||||
|
self.standardTurn = (self.standardTurn or 0) + 1
|
||||||
|
self.standardClaimedTaskMap = {}
|
||||||
|
self.standardScore = self.standardScore - self:getStandardTurnScoreLimit()
|
||||||
|
end
|
||||||
|
|
||||||
|
self:setDirty()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:onNormalTaskSuccess(actTaskId)
|
||||||
|
self.taskClaimedMap[actTaskId] = true
|
||||||
|
self:setDirty()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getStandardTurnScoreLimit()
|
||||||
|
local scoreLimit = 0
|
||||||
|
local list = self:getActStandardTaskIdList(self:getActId())
|
||||||
|
for _, id in ipairs(list) do
|
||||||
|
local cfg = self:getActTaskConfig(id)
|
||||||
|
if cfg then
|
||||||
|
if self:getActTaskNumber1(id) > scoreLimit then
|
||||||
|
scoreLimit = self:getActTaskNumber1(id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return scoreLimit
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 活动礼包相关 **********************************************************************
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftBuyCount(actGiftId)
|
||||||
|
return DataManager.PaymentData:getGiftBoughtNum(PayManager.PURCHARSE_TYPE.ACT_GIFT, actGiftId)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftIsFree(actGiftId)
|
||||||
|
local rechargeId = self:getActGiftRechargeId(actGiftId)
|
||||||
|
local value = self:getActGiftParameterPro(actGiftId)
|
||||||
|
local cost = self:getActGiftCostItem(actGiftId)
|
||||||
|
return not rechargeId and (value and value[1] == 1) and not cost
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftIsAd(actGiftId)
|
||||||
|
local rechargeId = self:getActGiftRechargeId(actGiftId)
|
||||||
|
local value = self:getActGiftParameterPro(actGiftId)
|
||||||
|
local cost = self:getActGiftCostItem(actGiftId)
|
||||||
|
return not rechargeId and not value and not cost
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:onGiftBuySuccess(actGiftId)
|
||||||
|
self:setDirty()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftConfig(id)
|
||||||
|
if id then
|
||||||
|
return ConfigManager:getConfig("act_gift")[id]
|
||||||
|
else
|
||||||
|
return ConfigManager:getConfig("act_gift")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftRechargeId(actGiftId)
|
||||||
|
return self:getActGiftConfig(actGiftId).recharge_id
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftParameterPro(actGiftId)
|
||||||
|
return self:getActGiftConfig(actGiftId).parameter_pro
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftCostItem(actGiftId)
|
||||||
|
return self:getActGiftConfig(actGiftId).item_cost and self:getActGiftConfig(actGiftId).item_cost[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftReward(actGiftId)
|
||||||
|
return self:getActGiftConfig(actGiftId).reward
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftLimitType(actGiftId)
|
||||||
|
return self:getActGiftConfig(actGiftId).limit_type
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftLimit(actGiftId)
|
||||||
|
return self:getActGiftConfig(actGiftId).limit
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 超值标识
|
||||||
|
function ActSprintSummonData:getActGiftValue(actGiftId)
|
||||||
|
return self:getActGiftConfig(actGiftId).value
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 礼包名
|
||||||
|
function ActSprintSummonData:getActGiftI18NName(actGiftId)
|
||||||
|
return I18N:getConfig("act_gift")[actGiftId] and I18N:getConfig("act_gift")[actGiftId].value
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getActGiftRemainCount(actGiftId)
|
||||||
|
return self:getActGiftLimit(actGiftId) - self:getActGiftBuyCount(actGiftId)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getHasFreeGiftCanBuy()
|
||||||
|
local cfgList = self:getActGiftList(self:getActId())
|
||||||
|
if cfgList then
|
||||||
|
for _, giftId in ipairs(cfgList) do
|
||||||
|
if self:getActGiftIsFree(giftId) and self:getActGiftRemainCount(giftId) > 0 then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActSprintSummonData:getBIType()
|
||||||
|
return BIReport.ACT_SPRINT_TYPE.SUMMON
|
||||||
|
end
|
||||||
|
function ActSprintSummonData:getBISprintTaskNumInfo()
|
||||||
|
local num, totalNum = 0, 0
|
||||||
|
local taskList = self:getActStandardTaskIdList()
|
||||||
|
for _, taskId in ipairs(taskList) do
|
||||||
|
if self:getHasGotTaskReward(taskId) then
|
||||||
|
num = num + 1
|
||||||
|
end
|
||||||
|
totalNum = totalNum + 1
|
||||||
|
end
|
||||||
|
return num, totalNum
|
||||||
|
end
|
||||||
|
function ActSprintSummonData:getBINormalTaskNumInfo()
|
||||||
|
local num, totalNum = 0, 0
|
||||||
|
local taskList = self:getActNormalTaskIdList()
|
||||||
|
for _, taskId in ipairs(taskList) do
|
||||||
|
if self:getHasGotTaskReward(taskId) then
|
||||||
|
num = num + 1
|
||||||
|
end
|
||||||
|
totalNum = totalNum + 1
|
||||||
|
end
|
||||||
|
return num, totalNum
|
||||||
|
end
|
||||||
|
function ActSprintSummonData:getCanGetRewardStandardTaskList()
|
||||||
|
local taskIdList = {}
|
||||||
|
local taskList = self:getActStandardTaskIdList()
|
||||||
|
for _, taskId in ipairs(taskList) do
|
||||||
|
if self:getCanGetTaskReward(taskId) then
|
||||||
|
table.insert(taskIdList, taskId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return taskIdList
|
||||||
|
end
|
||||||
|
|
||||||
|
return ActSprintSummonData
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 380a5680b7fa1ad4ca9f27b2b89572bd
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
180
lua/app/userdata/activity/act_time_data.lua
Normal file
180
lua/app/userdata/activity/act_time_data.lua
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
local ActTimeData = class("ActTimeData", BaseData)
|
||||||
|
|
||||||
|
function ActTimeData:ctor()
|
||||||
|
self.isInited = false
|
||||||
|
self.actTimeList = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:setDirty()
|
||||||
|
self.data.isDirty = not self.data.isDirty
|
||||||
|
end
|
||||||
|
function ActTimeData:clear()
|
||||||
|
end
|
||||||
|
|
||||||
|
---- 活动改版后,服务器只会发一个活动类型的当前或下一次的数据,不是想之前一样无脑把activity表转过来
|
||||||
|
function ActTimeData:init(data)
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("活动时间初始化-------------------------------------------------------------")
|
||||||
|
for index, info in ipairs(data) do
|
||||||
|
Logger.logHighlight("活动时间初始化:%s id:%s type:%s time:%s %s %s cur:%s", index, info.id, info.type, info.start_at, info.end_at, info.extra_at, Time:getServerTime())
|
||||||
|
end
|
||||||
|
end
|
||||||
|
data = data or {}
|
||||||
|
self.actTimeList = data
|
||||||
|
self:refreshActTime()
|
||||||
|
self.isInited = true
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:refreshActTime(isCrossDayClientRefresh)
|
||||||
|
local curTime = Time:getServerTime()
|
||||||
|
self.actTypeTimeList = {}
|
||||||
|
for _, info in ipairs(self.actTimeList) do
|
||||||
|
local actId = info.id
|
||||||
|
if ModuleManager.ActivityManager:getActivityInCfg(actId) then
|
||||||
|
local actType = info.type
|
||||||
|
local startTime = info.start_at or 0
|
||||||
|
if startTime < 0 then
|
||||||
|
startTime = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
local endTime = info.end_at
|
||||||
|
if endTime < 0 then
|
||||||
|
endTime = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
local extraTime = info.extra_at
|
||||||
|
if extraTime < endTime then
|
||||||
|
extraTime = endTime
|
||||||
|
end
|
||||||
|
|
||||||
|
local version = info.version or 0
|
||||||
|
|
||||||
|
local actGifts = info.gifts or {}
|
||||||
|
local data = info.data
|
||||||
|
Logger.logHighlight("活动暂未开启:" .. (curTime - extraTime))
|
||||||
|
if startTime <= curTime and curTime < extraTime then -- 在有效期内
|
||||||
|
if self.actTypeTimeList[actType] == nil or self.actTypeTimeList[actType].endTime > endTime then
|
||||||
|
self.actTypeTimeList[actType] = {actId = actId, actType = actType, startTime = startTime, endTime = endTime, extraTime = extraTime, actGifts = actGifts, data = data, version = version}
|
||||||
|
self:initActivityData(actType, self.actTypeTimeList[actType], isCrossDayClientRefresh)
|
||||||
|
else
|
||||||
|
-- 如果start_time更小 替换
|
||||||
|
if self.actTypeTimeList[actType].startTime > startTime then
|
||||||
|
self.actTypeTimeList[actType] = {actId = actId, actType = actType, startTime = startTime, endTime = endTime, extraTime = extraTime, actGifts = actGifts, data = data, version = version}
|
||||||
|
self:initActivityData(actType, self.actTypeTimeList[actType], isCrossDayClientRefresh)
|
||||||
|
-- 如果version更小 替换
|
||||||
|
elseif self.actTypeTimeList[actType].version > version then
|
||||||
|
self.actTypeTimeList[actType] = {actId = actId, actType = actType, startTime = startTime, endTime = endTime, extraTime = extraTime, actGifts = actGifts, data = data, version = version}
|
||||||
|
self:initActivityData(actType, self.actTypeTimeList[actType], isCrossDayClientRefresh)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("活动暂未开启:" .. info.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
self:setDirty()
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:getActTimeList()
|
||||||
|
return self.actTimeList
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:getActTimeInfoByActId(id)
|
||||||
|
for _, info in ipairs(self.actTimeList) do
|
||||||
|
if info.id == id then
|
||||||
|
return info
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:getActStartTime(actId)
|
||||||
|
for _, info in ipairs(self.actTimeList) do
|
||||||
|
if info.id == actId then
|
||||||
|
return info.start_at
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:getActEndTime(actId)
|
||||||
|
for _, info in ipairs(self.actTimeList) do
|
||||||
|
if info.id == actId then
|
||||||
|
local extraTime = info.extra_at
|
||||||
|
if extraTime < info.end_at then
|
||||||
|
extraTime = info.end_at
|
||||||
|
end
|
||||||
|
return extraTime
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:getActExtraTime(actId)
|
||||||
|
for _, info in ipairs(self.actTimeList) do
|
||||||
|
if info.id == actId then
|
||||||
|
local extraTime = info.extra_at
|
||||||
|
if extraTime < info.end_at then
|
||||||
|
extraTime = info.end_at
|
||||||
|
end
|
||||||
|
return extraTime
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:getActIsOpen(actId)
|
||||||
|
local curTime = Time:getServerTime()
|
||||||
|
local actStartTime = self:getActStartTime(actId) or 0
|
||||||
|
local actEndTime = self:getActEndTime(actId) or 0
|
||||||
|
if actStartTime <= curTime and curTime < actEndTime then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:getActTypeTimeList()
|
||||||
|
return self.actTypeTimeList or {}
|
||||||
|
end
|
||||||
|
|
||||||
|
function ActTimeData:initActivityData(actType, info, isCrossDayClientRefresh)
|
||||||
|
if isCrossDayClientRefresh and GConst.ActivityConst.DISABLE_CLIENT_CROSS_DAY_REFRESH[actType] then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local data = DataManager[GConst.ActivityConst.ACTIVITY_TYPE_DATA[actType]]
|
||||||
|
if data then
|
||||||
|
if self.isInited and not data:getIsOpen() then
|
||||||
|
-- 跨天开启的新活动,提前清理礼包数据
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("开启活动 act_id = " .. tostring(info.actId))
|
||||||
|
end
|
||||||
|
if data.clearActInfo then
|
||||||
|
data:clearActInfo(info.actId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.initActInfo then
|
||||||
|
data:initActInfo(info)-- 初始化基类方法
|
||||||
|
end
|
||||||
|
data:setActivityInfo(info)-- 初始化子类方法
|
||||||
|
else
|
||||||
|
-- 冲刺活动 无法用type区分 用id区分
|
||||||
|
local data = DataManager.ActSprintData:getSprintDetailData(info.actId)
|
||||||
|
if data then
|
||||||
|
if self.isInited and not data:getIsOpen() then
|
||||||
|
-- 跨天开启的新活动,提前清理礼包数据
|
||||||
|
if EDITOR_MODE then
|
||||||
|
Logger.logHighlight("开启活动 act_id = " .. tostring(info.actId))
|
||||||
|
end
|
||||||
|
if data.clearActInfo then
|
||||||
|
data:clearActInfo(info.actId)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if data.initActInfo then
|
||||||
|
data:initActInfo(info)-- 初始化基类方法
|
||||||
|
end
|
||||||
|
data:setActivityInfo(info, isCrossDayClientRefresh)-- 初始化子类方法
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return ActTimeData
|
||||||
10
lua/app/userdata/activity/act_time_data.lua.meta
Normal file
10
lua/app/userdata/activity/act_time_data.lua.meta
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fb52ab52086c2440d851d07ced5bf5b1
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user