ybx_Gdn 10 месяцев назад
Родитель
Сommit
8e3f593711

Разница между файлами не показана из-за своего большого размера
+ 75 - 21
Assets/Content/Fonts/VAGRoundedStdRegularSDF.asset


+ 1 - 1
Assets/Lua/Config/WjBattleBuffCfg.lua

@@ -3,7 +3,7 @@ local WjBattleBuffCfg = {
 ['id']=1,
 ['Type']=1,
 ['BuffEffect']={{7,2},{8,2},{9,2},{10,2},{11,2}},
-['Cost']={{2,100000},{2,20000},{2,30000},{2,40000},{2,50000}},
+['Cost']={{2,10000},{2,20000},{2,30000},{2,40000},{2,50000}},
 ['Max']=5,
 },
 [2]={

+ 42 - 5
Assets/Lua/Logic/ClimbingTower/ClimbingTowerDataMgr.lua

@@ -2,6 +2,7 @@ local ClimbingTowerDataMgr = class("ClimbingTowerDataMgr",require("DataBase"))
 local ClimbingTowerLevelData = require("ClimbingTower/ClimbingTowerLevelData")
 local ClimbingTowerRankData = require("ClimbingTower/ClimbingTowerRankData")
 
+local TowerRankDataMgr = require("ClimbingTower/TowerRankDataMgr")
 function ClimbingTowerDataMgr:ctor()
     self.curChallengeLevel = 1          --当前需要挑战的关卡
     self.lastPassedTime = 0
@@ -19,6 +20,7 @@ function ClimbingTowerDataMgr:ctor()
     self.wjLevel = 1
     self.wjBossInfo = nil
     self.wjRewordCfg = nil
+    self.WjRankMgr = TowerRankDataMgr:new()
 end
 
 function ClimbingTowerDataMgr:Clear()
@@ -358,7 +360,7 @@ function ClimbingTowerDataMgr:ReqTowerRankBriefData(uids)
 end
 
 function ClimbingTowerDataMgr:OnGetRankBriefInfoAck(data)
-    -- LogError("OnGetRankBriefInfoAck:" .. Inspect(data))
+     LogError("OnGetRankBriefInfoAck:" .. Inspect(data))
     if data.type == Enum.FriendTogglePageType.ClimbingTower then
         if data.brief_info ~= nil then
             for i = 1,#data.brief_info do
@@ -372,6 +374,7 @@ function ClimbingTowerDataMgr:OnGetRankBriefInfoAck(data)
         end
         ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_Refresh_ClimbingTower_RankDetailData)
     end
+    self.WjRankMgr:OnGetRankBriefInfoAck(data)
 end
 
 function ClimbingTowerDataMgr:RemoveTempRankerId(uid)
@@ -510,7 +513,7 @@ function ClimbingTowerDataMgr:EnterBattle_WJ(towerLevel, factorList)
     local bgmName = "bgm_08"
     local wjinfo = self:GetCurWJTowerInfo()
     local NpcList = wjinfo.npcList
-    local maxFight = 120
+    local maxFight = 90
 
     --local levelInfo = self:FindLevelData(towerLevel)
 
@@ -538,11 +541,13 @@ function ClimbingTowerDataMgr:EnterBattle_WJ(towerLevel, factorList)
             end
         end
     end
+    local actorsBuff = self:CreateActorBuffCfg()
     local ourActors = System.Array.CreateInstance(Enum.TypeInfo.ActorData, #teams)
     for i = 1, #teams do
         local actor = ManagerContainer.LuaActorDataMgr:GetActorsById(teams[i].uid, teams[i].id)
         -- 增加对应压制mark
         ManagerContainer.DataMgr.UserData:SetActorPveMark(teams[i].uid, actor)
+        ManagerContainer.LuaBattleMgr:AddBuffToActor_New(actor,true,actorsBuff)
         ourActors[i - 1] = actor
         curOurActors[#curOurActors + 1] = actor
     end
@@ -583,6 +588,12 @@ function ClimbingTowerDataMgr:CreateBossBuffcfg(value)
     return {buffEffect = {{6,value}}}        
 end
 
+function ClimbingTowerDataMgr:CreateActorBuffCfg()
+    local value = self.AllBattleInfos.value
+    local buffs = {{7,value},{8,value},{9,value},{10,value},{11,value}}
+    return {buffEffect = buffs}       
+end
+
 function ClimbingTowerDataMgr:CreateNpcList(npclist, lv)
     local ClimbingTowerNpcData = require("ClimbingTower/ClimbingTowerNpcData")
     local npcs = {}
@@ -716,7 +727,7 @@ function ClimbingTowerDataMgr:SendWjBeginReq()
 end
 function ClimbingTowerDataMgr:OnWjBeginAck(data)
     LogError("OnWjBeginAck ----- " ..Inspect(data))
-    if data.error ~= nil then
+    if data.error ~= nil and data.tower_level > 0 then
         self:EnterBattle_WJ(data.tower_level,{})
     end
 end
@@ -728,6 +739,9 @@ end
 function ClimbingTowerDataMgr:OnWjEndAck(data)
     LogError("OnWjEndAck ----- " ..Inspect(data))
     if data.error == 0 then
+        if data.pass_time ~= nil then
+            self.WjRankMgr.lastPassedTime = data.pass_time
+        end
         local rewards = {}
         self:KeyValueToWinRewardArray(rewards,data.ex_reward_list,1)
         self:KeyValueToWinRewardArray(rewards,data.reward_list,0)
@@ -735,7 +749,7 @@ function ClimbingTowerDataMgr:OnWjEndAck(data)
     else
         ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIClimbingTowerBattleFailed,Enum.UIPageName.UIClimbingTower)
     end
-    
+      
 end
 
 function ClimbingTowerDataMgr:SendWjRankReq()
@@ -743,15 +757,25 @@ function ClimbingTowerDataMgr:SendWjRankReq()
 end
 function ClimbingTowerDataMgr:OnWjRankAck(data)
     LogError("OnWjRankAck ----- " ..Inspect(data))
+    self.WjRankMgr.CallBack = function()
+        ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_Refresh_ClimbingTower_RankDetailData)
+    end
+    self.WjRankMgr:OnTowerRankAck(data)
+    ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_Refresh_ClimbingTower_RankData)
 end
 
 function ClimbingTowerDataMgr:OnWjBossNtf(data)
     LogError("OnWjBossNtf ----- " ..Inspect(data))
     self.wjBossInfo = {}
     if data.wj_level ~= nil then
-        self.wjLevel = data.wj_level
+        if data.wj_level < 0 then
+            self.wjLevel = 1000
+        else
+            self.wjLevel = data.wj_level    
+        end
     else
         self.wjLevel = data.now_tower_wj_level
+        self.WjRankMgr.lastPassedTime = data.now_tower_wj_time
     end
     local boss
     if data.boos ~= nil then
@@ -860,6 +884,7 @@ function ClimbingTowerDataMgr:KeyValueToArray(data)
     end
     return arr
 end
+
 function ClimbingTowerDataMgr:KeyValueToWinRewardArray(arr,data,type)
     if arr == nil then
         arr = {}
@@ -872,4 +897,16 @@ function ClimbingTowerDataMgr:KeyValueToWinRewardArray(arr,data,type)
     end
     return arr
 end
+
+function ClimbingTowerDataMgr:IsWJMode()
+    return self.towerMode  == 2 
+end
+
+function ClimbingTowerDataMgr:GetWjRankData()
+    return self.WjRankMgr.ranks
+end
+
+function ClimbingTowerDataMgr:GetSelfRankData()
+    return self.WjRankMgr.selfRank
+end
 return ClimbingTowerDataMgr

+ 3 - 0
Assets/Lua/Logic/ClimbingTower/ClimbingTowerRankData.lua

@@ -19,6 +19,9 @@ function ClimbingTowerRankData:SetRankData(brief_info)
     self.leveLNum = brief_info.tower_level
     self.passedTime = brief_info.tower_time
     self.passedTimeStr = DateTimeUtil.convertTime2Str(self.passedTime,"yyyy/MM/dd")
+    self.wjLevel = brief_info.tower_wj_level
+    self.wjpassedTime = brief_info.tower_wj_time
+    self.wjpassedTimeStr = DateTimeUtil.convertTime2Str(self.wjpassedTime,"yyyy/MM/dd")
 end
 
 return ClimbingTowerRankData

+ 7 - 7
Assets/Lua/Logic/ClimbingTower/TowerRankDataMgr.lua

@@ -5,11 +5,10 @@ function TowerRankDataMgr:ctor()
    
     self.ranks = nil
     self.rankPlayerIds = nil
-    
+    self.lastPassedTime = 0
     self.selfRank = 10000
 
-    self.type = Enum.FriendTogglePageType.ClimbingTower
-
+    self.type =  Enum.FriendTogglePageType.WjTowerRank-- Enum.FriendTogglePageType.ClimbingTower
     self.CallBack = nil
 end
 
@@ -49,7 +48,7 @@ function TowerRankDataMgr:GetRankUidList(cnt)
 end
 
 function TowerRankDataMgr:OnTowerRankAck(data)
-    -- LogError("OnTowerRankAck:" .. Inspect(data))
+    --LogError("OnTowerRankAck:" .. Inspect(data))
     if data.error == 0 then
         self.ranks = {}
         self.rankPlayerIds = {}
@@ -61,6 +60,7 @@ function TowerRankDataMgr:OnTowerRankAck(data)
         self.selfRank = data.self_rank
 
         local uid_list = self:GetRankUidList(10)
+       
         self:ReqTowerRankBriefData(uid_list)
     else
         self.ranks = nil
@@ -69,15 +69,15 @@ end
 
 function TowerRankDataMgr:ReqTowerRankBriefData(uids)
     if uids == nil or #uids == 0 then
+        LogError('444444444')
         return
     end
     ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_GET_OTHER_PLAYER_BRIEF_INFO_REQ, {type=self.type, player_list=uids})
 end
 
-
 function TowerRankDataMgr:OnGetRankBriefInfoAck(data)
-    -- LogError("OnGetRankBriefInfoAck:" .. Inspect(data))
-    if data.type ~= self.type then
+     LogError("aaa OnGetRankBriefInfoAck:" .. Inspect(data))
+    if data.type ~= self.type then  --WjTowerRank
         return
     end
     if data.brief_info ~= nil then

+ 1 - 1
Assets/Lua/Logic/Friend/FriendDataMgr.lua

@@ -636,7 +636,7 @@ function FriendDataMgr:OnGetFriendBriefInfoAck(data)
         ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.GUILD_GET_OTHER_PLAYER_BRIEF_INFO_ACK, data)
         return
     end
-    if data.type == Enum.FriendTogglePageType.ClimbingTower then
+    if data.type == Enum.FriendTogglePageType.ClimbingTower or data.type == Enum.FriendTogglePageType.WjTowerRank then
         ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_SC_GET_OTHER_PLAYER_BRIEF_INFO_ACK,data)
         return
     end

+ 1 - 1
Assets/Lua/Managers/LuaBattleMgr.lua

@@ -944,7 +944,7 @@ function LuaBattleMgr:AddBuffToActor(actor,isboss)
         --LogError("======AddBuffToActor========"..Inspect(actor))
     end
 
-    if actor.HasPet then
+    if not isboss and actor.HasPet then
         local petDropBuffs = self:GetDropBuffs(buffCfgs)
         if petDropBuffs ~= nil then
             local dropBuffParamList = System.Array.CreateInstance(Enum.TypeInfo.BuffParam, #petDropBuffs)

+ 5 - 3
Assets/Lua/Pb/user.txt

@@ -1,5 +1,5 @@
 
-õë
+¿ì
 
 user.protoserverproto"¸
 AccountRole
@@ -658,7 +658,7 @@ brief_info (2".serverproto.CommonPlayerBriefInfoR	briefInfo
 
head_frame_id (RheadFrameId
 gender (Rgender
 	vip_level (RvipLevel
-head_id	 (RheadId"â
+head_id	 (RheadId"¬
 CommonPlayerBriefInfo
 uid (Ruid
 	nick_name (	RnickName
@@ -683,7 +683,9 @@ mapLevelId(
 	vip_level (RvipLevel
 select_zone (R
 selectZone
-head_id (RheadId%
+head_id (RheadId$
+tower_wj_level (RtowerWjLevel"
+
tower_wj_time (RtowerWjTime%
 total_recharge (R
totalRecharge,
 last_recharge_time (RlastRechargeTime
 rmb  (Rrmb

+ 21 - 0
Assets/Lua/UI/UIClimbingTower/UIClimbingTowerRankCtr.lua

@@ -43,6 +43,10 @@ function UIClimbingTowerRankCtr:GetCurTowerType()
 end	
 
 function UIClimbingTowerRankCtr:SendTowerRankInfoReq()
+	if TowerDataMgr:IsWJMode() then
+		TowerDataMgr:SendWjRankReq()
+		return
+	end
 	if self.type == Enum.UnlimitTowerType.ClimbingTower then
 		TowerDataMgr:SendClimbingTowerRankReq()
 	elseif self.type == Enum.UnlimitTowerType.PeakTower then
@@ -51,10 +55,16 @@ function UIClimbingTowerRankCtr:SendTowerRankInfoReq()
 end 
 
 function UIClimbingTowerRankCtr:GetSelfPassedTime()
+	if TowerDataMgr:IsWJMode() then
+		return TowerDataMgr.WjRankMgr.lastPassedTime
+	end
 	return TowerDataMgr.lastPassedTime
 end
 
 function UIClimbingTowerRankCtr:GetRankData()
+	if TowerDataMgr:IsWJMode() then
+		return TowerDataMgr:GetWjRankData()
+	end
 	if self.type == Enum.UnlimitTowerType.ClimbingTower then
 		return TowerDataMgr:GetRankList()
 	elseif self.type == Enum.UnlimitTowerType.PeakTower then
@@ -63,14 +73,25 @@ function UIClimbingTowerRankCtr:GetRankData()
 end
 
 function UIClimbingTowerRankCtr:GetSelfRank()
+	if TowerDataMgr:IsWJMode() then
+		return TowerDataMgr.WjRankMgr.selfRank
+	end
 	return TowerDataMgr.selfRank
 end
 
 function UIClimbingTowerRankCtr:GetCurLevelNum()
+	if TowerDataMgr:IsWJMode() then
+		return TowerDataMgr:GetCurWjLevel()
+	end
 	return TowerDataMgr:GetCurChallengeLevel()
 end
 
 function UIClimbingTowerRankCtr:ReqestRankBriefData()
+	if TowerDataMgr:IsWJMode() then
+		local uid_list =TowerDataMgr.WjRankMgr:GetRankUidList(10)
+		TowerDataMgr.WjRankMgr:ReqTowerRankBriefData(uid_list)
+		return
+	end
 	if self.type == Enum.UnlimitTowerType.ClimbingTower then
 		local uid_list = TowerDataMgr:GetRankUidList(10)
 		TowerDataMgr:ReqTowerRankBriefData(uid_list)

+ 42 - 27
Assets/Lua/UI/UIClimbingTower/UIClimbingTowerRankView.lua

@@ -1,5 +1,5 @@
 local UIClimbingTowerRankView = require("UIClimbingTower/UIClimbingTowerRankView_Generate")
-
+local TowerDataMgr =ManagerContainer.DataMgr.TowerDataMgr
 function UIClimbingTowerRankView:OnAwake(data)
 	self.controller = require("UIClimbingTower/UIClimbingTowerRankCtr"):new()
 	self.controller:Init(self)
@@ -61,20 +61,19 @@ function UIClimbingTowerRankView:OnDispose()
 end
 
 function UIClimbingTowerRankView:RefreshSelfRank()
-	local type = self.controller:GetCurTowerType()
-
-	self.selfRank.levelNumTips:SetActive(type == Enum.UnlimitTowerType.ClimbingTower)
-	self.selfRank.levelNum:SetActive(type == Enum.UnlimitTowerType.ClimbingTower)
-	self.selfRank.passedTimeTips:SetActive(type == Enum.UnlimitTowerType.ClimbingTower)
-	self.selfRank.passedTime:SetActive(type == Enum.UnlimitTowerType.ClimbingTower)
-
-	self.selfRank.blockNumTitle:SetActive(type == Enum.UnlimitTowerType.PeakTower)
-	self.selfRank.blockNum:SetActive(type == Enum.UnlimitTowerType.PeakTower)
-	self.selfRank.serverName:SetActive(type == Enum.UnlimitTowerType.PeakTower)
-
-	if type == Enum.UnlimitTowerType.ClimbingTower then
+	local iscc = self:IsCC()
+	
+	self.selfRank.levelNumTips:SetActive(iscc)
+	self.selfRank.levelNum:SetActive(iscc)
+	self.selfRank.passedTimeTips:SetActive(iscc)
+	self.selfRank.passedTime:SetActive(iscc)
+
+	self.selfRank.blockNumTitle:SetActive(not iscc)
+	self.selfRank.blockNum:SetActive(not iscc)
+	self.selfRank.serverName:SetActive(not iscc)
+	if iscc then
 		self:RefreshClimbingTowerSelfRank()
-	elseif type == Enum.UnlimitTowerType.PeakTower then
+	else
 		self:RefreshPeakTowerSelfRank()
 	end
 
@@ -200,21 +199,28 @@ function UIClimbingTowerRankView:OnRefreshRankData()
 	self.emptyNode:SetActive(rankList == nil or #rankList == 0)
 end
 
-function UIClimbingTowerRankView:OnUpdateRankData(rankItemLua,idx,rankData)
+function UIClimbingTowerRankView:IsCC()
 	local type = self.controller:GetCurTowerType()
+	local isWj = TowerDataMgr:IsWJMode() 
+	return type == Enum.UnlimitTowerType.ClimbingTower or isWj
+end
 
-	rankItemLua.levelNumTips:SetActive(type == Enum.UnlimitTowerType.ClimbingTower)
-	rankItemLua.levelNum:SetActive(type == Enum.UnlimitTowerType.ClimbingTower)
-	rankItemLua.passedTimeTips:SetActive(type == Enum.UnlimitTowerType.ClimbingTower)
-	rankItemLua.passedTime:SetActive(type == Enum.UnlimitTowerType.ClimbingTower)
+function UIClimbingTowerRankView:OnUpdateRankData(rankItemLua,idx,rankData)
+	local iscc = self:IsCC()
+	
+	
+	rankItemLua.levelNumTips:SetActive(iscc)
+	rankItemLua.levelNum:SetActive(iscc)
+	rankItemLua.passedTimeTips:SetActive(iscc)
+	rankItemLua.passedTime:SetActive(iscc)
 
-	rankItemLua.blockNumTitle:SetActive(type == Enum.UnlimitTowerType.PeakTower)
-	rankItemLua.blockNum:SetActive(type == Enum.UnlimitTowerType.PeakTower)
-	rankItemLua.serverName:SetActive(type == Enum.UnlimitTowerType.PeakTower)
+	rankItemLua.blockNumTitle:SetActive(not iscc)
+	rankItemLua.blockNum:SetActive(not iscc)
+	rankItemLua.serverName:SetActive(not iscc)
 
-	if type == Enum.UnlimitTowerType.ClimbingTower then
+	if iscc then
 		self:RefreshClimibingTowerRankItem(rankItemLua,idx,rankData)
-	elseif type == Enum.UnlimitTowerType.PeakTower then
+	else
 		self:RefreshPeakTowerRankItem(rankItemLua,idx,rankData)
 	end
 end
@@ -223,7 +229,7 @@ function UIClimbingTowerRankView:RefreshClimibingTowerRankItem(rankItemLua,idx,r
 	if rankItemLua == nil  or rankData == nil then
 		return
 	end
-	
+	local iswj = self:IsWj()
 	if rankData.rank > 3 then
 		rankItemLua.rank.text.text = tostring(rankData.rank)
 		rankItemLua.rank:SetActive(true)
@@ -253,8 +259,14 @@ function UIClimbingTowerRankView:RefreshClimibingTowerRankItem(rankItemLua,idx,r
 		end)
 	end
 ]]--
-	rankItemLua.levelNum.text.text = tostring(rankData.leveLNum)
-	rankItemLua.passedTime.text.text = rankData.passedTimeStr
+	if iswj then
+		rankItemLua.levelNum.text.text = tostring(rankData.wjLevel)
+		rankItemLua.passedTime.text.text = rankData.wjpassedTimeStr
+	else
+		rankItemLua.levelNum.text.text = tostring(rankData.leveLNum)
+		rankItemLua.passedTime.text.text = rankData.passedTimeStr
+	end
+	
 
 	rankItemLua.vipIcon.image.enabled = false
 	rankItemLua.vipIcon.image.sprite = nil
@@ -344,6 +356,9 @@ function UIClimbingTowerRankView:OnClickPlayerHead(btn,param)
 	ManagerContainer.LuaUIMgr:OpenRoleMessagePanel(uid, type == Enum.UnlimitTowerType.PeakTower)
 end
 
+function UIClimbingTowerRankView:IsWj()
+	return TowerDataMgr:IsWJMode() 
+end
 
 return UIClimbingTowerRankView
 

+ 2 - 0
ProtocolGen/proto/user.proto

@@ -858,6 +858,8 @@ message CommonPlayerBriefInfo {
     int32   vip_level           = 15; //vipLevel
     int32   select_zone         = 16; //登录所在的区服
     int32   head_id             = 17; // 称号id
+    int32 tower_wj_level=18;
+    uint64 tower_wj_time =19;
 
     //后续字段不做保存操作
     float      total_recharge        = 30; //累计充值

Некоторые файлы не были показаны из-за большого количества измененных файлов