|
|
@@ -46,7 +46,7 @@ function ClimbingTowerDataMgr:RegisterNetEvents()
|
|
|
ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_CLIMBING_TOWER_WJ_END_ACK,self.OnWjEndAck,self)
|
|
|
ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_CLIMBING_TOWER_WJ_RANK_ACK,self.OnWjRankAck,self)
|
|
|
ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_CLIMBING_TOWER_WJ_BOSS_NTF,self.OnWjBossNtf,self)
|
|
|
-
|
|
|
+ ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_CLIMBING_TOWER_WJ_BUFF_ACK,self.OnWjBuffAck,self)
|
|
|
|
|
|
ManagerContainer.LuaEventMgr:RegisterEvent(UIEventNames.EID_SC_GET_OTHER_PLAYER_BRIEF_INFO_ACK,self,self.OnGetRankBriefInfoAck)
|
|
|
end
|
|
|
@@ -63,6 +63,7 @@ function ClimbingTowerDataMgr:UnRegisterNetEvents()
|
|
|
ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_CLIMBING_TOWER_WJ_END_ACK)
|
|
|
ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_CLIMBING_TOWER_WJ_RANK_ACK)
|
|
|
ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_CLIMBING_TOWER_WJ_BOSS_NTF)
|
|
|
+ ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_CLIMBING_TOWER_WJ_BUFF_ACK)
|
|
|
|
|
|
ManagerContainer.LuaEventMgr:UnregisterEvent(UIEventNames.EID_SC_GET_OTHER_PLAYER_BRIEF_INFO_ACK,self,self.OnGetRankBriefInfoAck);
|
|
|
end
|
|
|
@@ -188,9 +189,11 @@ function ClimbingTowerDataMgr:SendClimbingTowerInfoReq(changeTower)
|
|
|
end
|
|
|
|
|
|
function ClimbingTowerDataMgr:InitClimbingTowerInfo(data)
|
|
|
+ LogError(Inspect(data))
|
|
|
self.curChallengeLevel = data.now_tower_level + 1
|
|
|
self.lastPassedTime = data.now_tower_time
|
|
|
self.dayRewardTime = data.tower_level_day_reward_time
|
|
|
+ self:OnWjBossNtf(data)
|
|
|
end
|
|
|
|
|
|
function ClimbingTowerDataMgr:OnClimbingTowerDayRewardAck(data)
|
|
|
@@ -604,8 +607,13 @@ end
|
|
|
|
|
|
function ClimbingTowerDataMgr:GetCurWJTowerInfo()
|
|
|
local info = {}
|
|
|
- local npclv = math.floor(self.wjLevel*6.7 + 0.5)
|
|
|
- info.npcList = self:CreateNpcList({{70001, 1}, {70006, 4}, {70001, 3}, {70001, 2}}, npclv)
|
|
|
+ local cfg = self:GetWjRewordCfgByLv(self.wjLevel)
|
|
|
+ local npclv = math.floor(self.wjLevel*cfg.difficulty + 0.5)
|
|
|
+ local boss = self.wjBossInfo
|
|
|
+ if boss == nil or #boss == 0 then
|
|
|
+ boss ={{70001, 1}, {70006, 4}, {70001, 3}, {70001, 2}}
|
|
|
+ end
|
|
|
+ info.npcList = self:CreateNpcList(boss, npclv)
|
|
|
info.lv = self.wjLevel
|
|
|
return info
|
|
|
end
|
|
|
@@ -617,7 +625,7 @@ function ClimbingTowerDataMgr:GetWjTowerUnlockLv()
|
|
|
return 1001
|
|
|
end
|
|
|
function ClimbingTowerDataMgr:GetWjIsUnlock()
|
|
|
- return true
|
|
|
+ return self.curChallengeLevel >= self:GetWjTowerUnlockLv()
|
|
|
end
|
|
|
|
|
|
function ClimbingTowerDataMgr:GetModelockInfo(mode)
|
|
|
@@ -647,7 +655,7 @@ function ClimbingTowerDataMgr:GetWjRewordCfgByLv(lv)
|
|
|
if self.wjRewordCfg and cfgmgr:LevelISWjRewordCfg(self.wjRewordCfg,lv) then
|
|
|
cfg = self.wjRewordCfg
|
|
|
else
|
|
|
- cfg = cfgmgr:GetWjRewordByLv(lv)
|
|
|
+ cfg = cfgmgr:GetWjRewordByLv(lv,self.curDay)
|
|
|
end
|
|
|
|
|
|
return cfg
|
|
|
@@ -708,7 +716,9 @@ function ClimbingTowerDataMgr:SendWjBeginReq()
|
|
|
end
|
|
|
function ClimbingTowerDataMgr:OnWjBeginAck(data)
|
|
|
LogError("OnWjBeginAck ----- " ..Inspect(data))
|
|
|
- self:EnterBattle_WJ(data.tower_level,{})
|
|
|
+ if data.error ~= nil then
|
|
|
+ self:EnterBattle_WJ(data.tower_level,{})
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
|
|
|
@@ -717,7 +727,15 @@ function ClimbingTowerDataMgr:SendWjEndReq(loadingTime,towerLevel,timeStamp)
|
|
|
end
|
|
|
function ClimbingTowerDataMgr:OnWjEndAck(data)
|
|
|
LogError("OnWjEndAck ----- " ..Inspect(data))
|
|
|
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIClimbingTowerBattleWin,{Enum.UIPageName.UIClimbingTower,nil})
|
|
|
+ if data.error == 0 then
|
|
|
+ local rewards = {}
|
|
|
+ self:KeyValueToWinRewardArray(rewards,data.ex_reward_list,1)
|
|
|
+ self:KeyValueToWinRewardArray(rewards,data.reward_list,0)
|
|
|
+ ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIClimbingTowerBattleWin,{Enum.UIPageName.UIClimbingTower,rewards})
|
|
|
+ else
|
|
|
+ ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIClimbingTowerBattleFailed,Enum.UIPageName.UIClimbingTower)
|
|
|
+ end
|
|
|
+
|
|
|
end
|
|
|
|
|
|
function ClimbingTowerDataMgr:SendWjRankReq()
|
|
|
@@ -730,8 +748,18 @@ end
|
|
|
function ClimbingTowerDataMgr:OnWjBossNtf(data)
|
|
|
LogError("OnWjBossNtf ----- " ..Inspect(data))
|
|
|
self.wjBossInfo = {}
|
|
|
- self.wjLevel = data.wj_level
|
|
|
- local boss = data.boos
|
|
|
+ if data.wj_level ~= nil then
|
|
|
+ self.wjLevel = data.wj_level
|
|
|
+ else
|
|
|
+ self.wjLevel = data.now_tower_wj_level
|
|
|
+ end
|
|
|
+ local boss
|
|
|
+ if data.boos ~= nil then
|
|
|
+ boss = data.boos
|
|
|
+ else
|
|
|
+ boss = data.boss
|
|
|
+ end
|
|
|
+
|
|
|
for i = 1, #boss, 1 do
|
|
|
local bossinfo = {boss[i] ,i}
|
|
|
table.insert(self.wjBossInfo,bossinfo)
|
|
|
@@ -742,6 +770,26 @@ function ClimbingTowerDataMgr:OnWjBossNtf(data)
|
|
|
end
|
|
|
self.curDay = data.duration
|
|
|
self.GetRewardLv = data.reward_level
|
|
|
+ ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.WJ_ON_BOSS_CHANGE);
|
|
|
+ self:RefBattleInfo()
|
|
|
+ ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.WJ_ON_BATTLE_CHANGE);
|
|
|
+end
|
|
|
+
|
|
|
+function ClimbingTowerDataMgr:SendWjBuffReq(buffs)
|
|
|
+ LogError(Inspect(buffs))
|
|
|
+ ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_CLIMBING_TOWER_WJ_BUFF_REQ,buffs)
|
|
|
+end
|
|
|
+function ClimbingTowerDataMgr:OnWjBuffAck(data)
|
|
|
+ LogError("OnWjBuffAck ----- " ..Inspect(data))
|
|
|
+ -- for i = 1, 3, 1 do
|
|
|
+ -- local curb = data['buff'..i]
|
|
|
+ -- if curb ~= 0 then
|
|
|
+ -- self.wjBattleBuffInfo['buff'..i] = self.wjBattleBuffInfo['buff'..i] + 1
|
|
|
+ -- end
|
|
|
+ -- --self.wjBattleBuffInfo['buff'..i] = data['buff'..i]
|
|
|
+ -- end
|
|
|
+ -- self:RefBattleInfo()
|
|
|
+ -- ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.WJ_ON_BATTLE_CHANGE);
|
|
|
end
|
|
|
-- =================================无尽协议===================================
|
|
|
|
|
|
@@ -800,4 +848,28 @@ function ClimbingTowerDataMgr:GetCurAllBattleBuffInfo()
|
|
|
end
|
|
|
return self.AllBattleInfos
|
|
|
end
|
|
|
+
|
|
|
+
|
|
|
+function ClimbingTowerDataMgr:KeyValueToArray(data)
|
|
|
+ local arr = {}
|
|
|
+ if data ~= nil then
|
|
|
+ for i =1, #data do
|
|
|
+ local itemData = data[i];
|
|
|
+ arr[#arr+1] = {itemData.key, itemData.value}
|
|
|
+ end
|
|
|
+ end
|
|
|
+ return arr
|
|
|
+end
|
|
|
+function ClimbingTowerDataMgr:KeyValueToWinRewardArray(arr,data,type)
|
|
|
+ if arr == nil then
|
|
|
+ arr = {}
|
|
|
+ end
|
|
|
+ if data ~= nil then
|
|
|
+ for i =1, #data do
|
|
|
+ local itemData = data[i];
|
|
|
+ arr[#arr+1] = {itemData.key, itemData.value,type}
|
|
|
+ end
|
|
|
+ end
|
|
|
+ return arr
|
|
|
+end
|
|
|
return ClimbingTowerDataMgr
|