Update - 1.12.0.120

EN: 1.12.0.120
CN: 1.12.0.120
JP: 1.12.0.124
KR: 1.12.0.124
This commit is contained in:
SL1900
2026-06-30 14:30:00 +09:00
parent 061d344bf2
commit 80af235e05
826 changed files with 625145 additions and 81163 deletions
+38 -7
View File
@@ -67,7 +67,9 @@ RaidCountCtrl._mapNodeConfig = {
txtBtnCancel = {
sComponentName = "TMP_Text",
sLanguageId = "MessageBox_Cancel"
}
},
imgDoubleDrop = {},
txtDoubleDrop = {sComponentName = "TMP_Text"}
}
RaidCountCtrl._mapEventConfig = {
[EventId.UpdateEnergy] = "OnEvent_Energy"
@@ -78,9 +80,11 @@ function RaidCountCtrl:Open(nId, nEnergy, nType, nActId)
self.nSelectCount = 1
self.nType = nType
self.nActId = nActId
self.nRemainDoubleCount = 0
for i = 1, 2 do
self:SetSprite_Coin(self._mapNode.imgEnergy, AllEnum.CoinItemId.Energy)
end
self:RefreshDoubleCount()
self:RefreshData()
self:RefreshCount()
self:RefreshBar()
@@ -89,7 +93,11 @@ end
function RaidCountCtrl:RefreshData()
self.nCurEnergy = PlayerData.Base:GetCurEnergy().nEnergy
local nCount = math.floor(self.nCurEnergy / self.nEnergy)
self.nMaxCount = 1 < nCount and nCount or 1
if self.nRemainDoubleCount > 0 then
self.nMaxCount = self.nRemainDoubleCount
else
self.nMaxCount = 1 < nCount and nCount or 1
end
NovaAPI.SetSliderMaxValue(self._mapNode.Slider, self.nMaxCount)
NovaAPI.SetSliderMinValue(self._mapNode.Slider, 1)
NovaAPI.SetSliderInteractable(self._mapNode.Slider, self.nMaxCount > 1)
@@ -117,6 +125,27 @@ end
function RaidCountCtrl:RefreshBar()
NovaAPI.SetSliderValue(self._mapNode.Slider, self.nSelectCount)
end
function RaidCountCtrl:RefreshDoubleCount()
self._mapNode.imgDoubleDrop.gameObject:SetActive(false)
local actData = PlayerData.Activity:GetActivityDataByType(GameEnum.activityType.Double)
if actData ~= nil and actData:CheckActShow() then
local tbInstanceType = actData:GetInstanceType()
if table.indexof(tbInstanceType, self.nType) > 0 then
self._mapNode.imgDoubleDrop.gameObject:SetActive(true)
local nDoubleCount, nMaxDoubleCount = actData:GetDoubleDropsTimes()
local nCurEnergy = PlayerData.Base:GetCurEnergy().nEnergy
local nCount = math.floor(nCurEnergy / self.nEnergy)
local nRemainDoubleCount = nMaxDoubleCount - nDoubleCount
if 0 < nRemainDoubleCount then
self.nRemainDoubleCount = math.max(math.min(nRemainDoubleCount, nCount), 1)
else
self.nRemainDoubleCount = 0
end
local str = actData:GetDropString()
NovaAPI.SetTMPText(self._mapNode.txtDoubleDrop, str)
end
end
end
function RaidCountCtrl:PlayInAni()
self.gameObject:SetActive(true)
self.ani:Play("t_window_04_t_in")
@@ -215,17 +244,18 @@ function RaidCountCtrl:OnBtnClick_Confirm(btn)
nMaxExp = nFullExp
}
local callback = function(mapData, mapChangeInfo)
EventManager.Hit("RaidSuccess")
EventManager.Hit("RaidShowReward", mapData, mapBefore, mapChangeInfo)
end
if self.nType == 1 then
if self.nType == GameEnum.instanceType.DailyInstance then
PlayerData.DailyInstance:SendDailyInstanceRaidReq(self.nId, self.nSelectCount, callback)
elseif self.nType == 2 then
elseif self.nType == GameEnum.instanceType.RegionBoss then
PlayerData.RogueBoss:Sweep(self.nId, self.nSelectCount, callback)
elseif self.nType == 3 then
elseif self.nType == GameEnum.instanceType.CharGemInstance then
PlayerData.EquipmentInstance:SendEquipmentInstanceRaidReq(self.nId, self.nSelectCount, callback)
elseif self.nType == 4 then
elseif self.nType == GameEnum.instanceType.SkillInstance then
PlayerData.SkillInstance:SendSkillInstanceRaidReq(self.nId, self.nSelectCount, callback)
elseif self.nType == 5 then
elseif self.nType == 0 then
local activityLevelsData = PlayerData.Activity:GetActivityDataById(self.nActId)
activityLevelsData:SendActivityLevelsSweepReq(self.nActId, self.nId, self.nSelectCount, callback)
end
@@ -240,6 +270,7 @@ function RaidCountCtrl:OnEvent_Energy()
if self.nId == nil then
return
end
self:RefreshDoubleCount()
self:RefreshData()
self:RefreshCount()
end
+53 -15
View File
@@ -87,6 +87,7 @@ function RaidRewardCtrl:RefreshData(tbReward, mapChangeInfo)
self.nExp = 0
self.tbReward = {}
local tbAfter = {}
local tbAfterDouble = {}
for k, v in pairs(tbReward) do
self.nExp = self.nExp + v.Exp
if not self.tbReward[k] then
@@ -99,7 +100,8 @@ function RaidRewardCtrl:RefreshData(tbReward, mapChangeInfo)
Id = mapReward.Id,
Tid = mapReward.Tid,
Qty = mapReward.Qty,
Rarity = ConfigTable.GetData_Item(mapReward.Tid).Rarity
Rarity = ConfigTable.GetData_Item(mapReward.Tid).Rarity,
ExtraDrop = 0
})
else
if not tbAfter[mapReward.Tid] then
@@ -111,7 +113,8 @@ function RaidRewardCtrl:RefreshData(tbReward, mapChangeInfo)
Id = mapReward.Id,
Tid = mapReward.Tid,
Qty = mapReward.Qty,
Rarity = ConfigTable.GetData_Item(mapReward.Tid).Rarity
Rarity = ConfigTable.GetData_Item(mapReward.Tid).Rarity,
ExtraDrop = 0
})
end
end
@@ -125,7 +128,8 @@ function RaidRewardCtrl:RefreshData(tbReward, mapChangeInfo)
Id = 0,
Tid = mapReward.Tid,
Qty = mapReward.Qty,
Rarity = ConfigTable.GetData_Item(mapReward.Tid).Rarity
Rarity = ConfigTable.GetData_Item(mapReward.Tid).Rarity,
ExtraDrop = 0
})
end
end
@@ -139,7 +143,23 @@ function RaidRewardCtrl:RefreshData(tbReward, mapChangeInfo)
Id = 0,
Tid = mapReward.Tid,
Qty = mapReward.Qty,
Rarity = ConfigTable.GetData_Item(mapReward.Tid).Rarity
Rarity = ConfigTable.GetData_Item(mapReward.Tid).Rarity,
ExtraDrop = 0
})
end
end
if v.DoubleItems ~= nil then
for _, mapReward in pairs(v.DoubleItems) do
if not tbAfterDouble[mapReward.Tid] then
tbAfterDouble[mapReward.Tid] = 0
end
tbAfterDouble[mapReward.Tid] = tbAfterDouble[mapReward.Tid] + mapReward.Qty
table.insert(self.tbReward[k], {
Id = 0,
Tid = mapReward.Tid,
Qty = mapReward.Qty,
Rarity = ConfigTable.GetData_Item(mapReward.Tid).Rarity,
ExtraDrop = AllEnum.RewardType.Double
})
end
end
@@ -152,24 +172,40 @@ function RaidRewardCtrl:RefreshData(tbReward, mapChangeInfo)
Id = 0,
Tid = k,
Qty = v,
Rarity = ConfigTable.GetData_Item(k).Rarity
Rarity = ConfigTable.GetData_Item(k).Rarity,
ExtraDrop = 0
})
end
for k, v in pairs(tbAfterDouble) do
table.insert(self.tbResult, {
Id = 0,
Tid = k,
Qty = v,
Rarity = ConfigTable.GetData_Item(k).Rarity,
ExtraDrop = AllEnum.RewardType.Double
})
end
for k, _ in pairs(self.tbReward) do
table.sort(self.tbReward[k], function(a, b)
if a.ExtraDrop == b.ExtraDrop then
if a.Rarity ~= b.Rarity then
return a.Rarity < b.Rarity
else
return a.Tid < b.Tid
end
end
return a.ExtraDrop < b.ExtraDrop
end)
end
table.sort(self.tbResult, function(a, b)
if a.ExtraDrop == b.ExtraDrop then
if a.Rarity ~= b.Rarity then
return a.Rarity < b.Rarity
else
return a.Tid < b.Tid
end
end)
end
table.sort(self.tbResult, function(a, b)
if a.Rarity ~= b.Rarity then
return a.Rarity < b.Rarity
else
return a.Tid < b.Tid
end
return a.ExtraDrop < b.ExtraDrop
end)
end
function RaidRewardCtrl:RefreshInfo()
@@ -238,7 +274,7 @@ function RaidRewardCtrl:OnGridRefresh(goGrid, gridIndex)
for i = 1, nAll do
if mapData[i] then
self.tbGridObj[nInstanceID][i].gameObject:SetActive(true)
self.tbGridObj[nInstanceID][i]:SetItem(mapData[i].Tid, nil, mapData[i].Qty, nil, nil, nil, nil, true)
self.tbGridObj[nInstanceID][i]:SetItem(mapData[i].Tid, nil, mapData[i].Qty, nil, nil, nil, nil, true, nil, nil, mapData[i].ExtraDrop == 1, mapData[i].ExtraDrop == AllEnum.RewardType.Double)
else
self.tbGridObj[nInstanceID][i].gameObject:SetActive(false)
end
@@ -248,7 +284,7 @@ function RaidRewardCtrl:RefreshResult()
for i = 1, 7 do
self._mapNode.goAllItem[i].gameObject:SetActive(false)
if self.tbResult[i] then
self._mapNode.goAllItem[i]:SetItem(self.tbResult[i].Tid, nil, self.tbResult[i].Qty, nil, nil, nil, nil, true)
self._mapNode.goAllItem[i]:SetItem(self.tbResult[i].Tid, nil, self.tbResult[i].Qty, nil, nil, nil, nil, true, nil, nil, self.tbResult[i].ExtraDrop == 1, self.tbResult[i].ExtraDrop == AllEnum.RewardType.Double)
end
end
self._mapNode.btnReview.gameObject:SetActive(7 < #self.tbResult)
@@ -438,7 +474,9 @@ function RaidRewardCtrl:OnBtnClick_Review(btn)
for _, v in pairs(self.tbResult) do
table.insert(tbList, {
nId = v.Tid,
nCount = v.Qty
nCount = v.Qty,
bExtraDrop = v.ExtraDrop == 1,
bDoubleDrop = v.ExtraDrop == AllEnum.RewardType.Double
})
end
local msg = {