diff --git a/lua/app/global/global_const.lua b/lua/app/global/global_const.lua
index 0f5d6e69..d706ccab 100644
--- a/lua/app/global/global_const.lua
+++ b/lua/app/global/global_const.lua
@@ -171,6 +171,7 @@ GConst.TYPEOF_LUA_CLASS = {
-- cell
ITEM_CELL = "app/ui/common/cell/item_cell",
HERO_CELL = "app/ui/common/cell/hero_cell",
+ PLAYER_INFO_CELL = "app/ui/common/cell/player_info_cell",
PLAYER_HEAD_CELL = "app/ui/common/cell/player_head_cell",
REWARD_CELL = "app/ui/common/cell/reward_cell",
LARGE_HERO_CELL = "app/ui/common/cell/large_hero_cell",
diff --git a/lua/app/module/arena/arena_manager.lua b/lua/app/module/arena/arena_manager.lua
index 7f23c36a..dcc5fe78 100644
--- a/lua/app/module/arena/arena_manager.lua
+++ b/lua/app/module/arena/arena_manager.lua
@@ -94,6 +94,14 @@ end
function ArenaManager:rspSettlement(result)
if result.err_code == GConst.ERROR_STR.SUCCESS then
+
+ -- 异常数据判断处理
+ local curScore = DataManager.ArenaData:getScore()
+ local minScore = DataManager.ArenaData:getGradingMinScore()
+ if curScore + result.settlement.incr_score < minScore then
+ result.settlement.incr_score = minScore - curScore
+ end
+
DataManager.ArenaData:onBattleResultReceived(result.settlement)
local checkCount = 0
if result.settlement.win then
diff --git a/lua/app/ui/arena/arena_formation_ui.lua b/lua/app/ui/arena/arena_formation_ui.lua
index 25ef12c0..5292280b 100644
--- a/lua/app/ui/arena/arena_formation_ui.lua
+++ b/lua/app/ui/arena/arena_formation_ui.lua
@@ -17,19 +17,19 @@ function ArenaFormationUI:onPressBackspace()
self:closeUI()
end
--- function ArenaFormationUI:getCurrencyParams()
--- if self.currencyParams == nil then
--- self.currencyParams = {
--- itemIds = {
--- GConst.ItemConst.ITEM_ID_GEM,
--- GConst.ItemConst.ITEM_ID_ARENA_TICKET
--- },
--- showType = GConst.CURRENCY_TYPE.HORIZONTAL
--- }
--- end
+function ArenaFormationUI:getCurrencyParams()
+ if self.currencyParams == nil then
+ self.currencyParams = {
+ itemIds = {
+ GConst.ItemConst.ITEM_ID_GEM,
+ GConst.ItemConst.ITEM_ID_ARENA_TICKET
+ },
+ showType = GConst.CURRENCY_TYPE.HORIZONTAL
+ }
+ end
--- return self.currencyParams
--- end
+ return self.currencyParams
+end
function ArenaFormationUI:ctor(params)
self.formationType = params
@@ -61,6 +61,8 @@ function ArenaFormationUI:onLoadRootComplete()
heroUI:genAllChildren()
self.heroComp = heroUI:addLuaComponent("app/ui/hero/hero_comp")
+ CellManager:addCellComp(uiMap["arena_formation_ui.player_info_cell"], GConst.TYPEOF_LUA_CLASS.PLAYER_INFO_CELL):refresh()
+
self:bind(DataManager.HeroData, "isDirty", function()
self:onRefresh()
end)
diff --git a/lua/app/ui/arena/arena_recent_battle_ui.lua b/lua/app/ui/arena/arena_recent_battle_ui.lua
index b3104281..a5a38445 100644
--- a/lua/app/ui/arena/arena_recent_battle_ui.lua
+++ b/lua/app/ui/arena/arena_recent_battle_ui.lua
@@ -98,7 +98,11 @@ function ArenaRecentBattleUI:refreshRecord(obj, info)
end
else
obj:setSprite(GConst.ATLAS_PATH.ARENA,"arena_bg_4")
- uiMap["tx_score"]:setText(""..info.incr_score.."")
+ if info.incr_score == 0 then
+ uiMap["tx_score"]:setText("-"..info.incr_score.."")
+ else
+ uiMap["tx_score"]:setText(""..info.incr_score.."")
+ end
uiMap["img_result"]:setSprite(GConst.ATLAS_PATH.ARENA, "arena_dec_3")
if info.attacker then
uiMap["tx_result"]:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_20))
diff --git a/lua/app/ui/arena/arena_season_reward_ui.lua b/lua/app/ui/arena/arena_season_reward_ui.lua
index 8d02be01..872bca40 100644
--- a/lua/app/ui/arena/arena_season_reward_ui.lua
+++ b/lua/app/ui/arena/arena_season_reward_ui.lua
@@ -63,6 +63,9 @@ function ArenaSeasonRewardUI:onLoadRootComplete()
self:bind(DataManager.ArenaData, "isDirty", function()
self:closeUI()
end)
+ self:addEventListener(EventManager.CUSTOM_EVENT.ARENA_SEASON_END, function()
+ self:closeUI()
+ end)
end
function ArenaSeasonRewardUI:onRefresh()
diff --git a/lua/app/ui/battle/battle_result_ui.lua b/lua/app/ui/battle/battle_result_ui.lua
index 49cba11a..fe829aba 100644
--- a/lua/app/ui/battle/battle_result_ui.lua
+++ b/lua/app/ui/battle/battle_result_ui.lua
@@ -253,6 +253,8 @@ function BattleResultUI:refreshArenaNode()
if self.incrScore > 0 then
self.arenaTxScore:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_27, "+"..self.incrScore))
+ elseif self.incrScore == 0 then
+ self.arenaTxScore:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_27, "-"..self.incrScore))
else
self.arenaTxScore:setText(I18N:getGlobalText(I18N.GlobalConst.ARENA_DESC_27, self.incrScore))
end
diff --git a/lua/app/ui/common/cell/player_info_cell.lua b/lua/app/ui/common/cell/player_info_cell.lua
new file mode 100644
index 00000000..ee44c828
--- /dev/null
+++ b/lua/app/ui/common/cell/player_info_cell.lua
@@ -0,0 +1,23 @@
+local PlayerInfoCell = class("PlayerInfoCell", BaseCell)
+
+function PlayerInfoCell:init()
+ local uiMap = self.baseObject:genAllChildren()
+
+ self.txName = uiMap["player_info_cell.info.tx_name"]
+ self.txLv = uiMap["player_info_cell.info.slider.tx_lv"]
+ self.imgProgExp = uiMap["player_info_cell.info.slider.img_prog_exp"]:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER)
+ self.playerHeadCell = CellManager:addCellComp(uiMap["player_info_cell.player_head_cell"], GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL)
+
+ self:getBaseObject():addClickListener(function ()
+ UIManager:showUI("app/ui/player_info/player_info_ui")
+ end)
+end
+
+function PlayerInfoCell:refresh()
+ self.txName:setText(DataManager.PlayerData:getNickname())
+ self.txLv:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, DataManager.PlayerData:getLv()))
+ self.imgProgExp.value = DataManager.PlayerData:getExpPercent()
+ self.playerHeadCell:refresh()
+end
+
+return PlayerInfoCell
\ No newline at end of file
diff --git a/lua/app/ui/common/cell/player_info_cell.lua.meta b/lua/app/ui/common/cell/player_info_cell.lua.meta
new file mode 100644
index 00000000..c9950013
--- /dev/null
+++ b/lua/app/ui/common/cell/player_info_cell.lua.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 1f7dea870d8216645b673b7bc99a68f6
+ScriptedImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 2
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+ script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
diff --git a/lua/app/ui/main_city/main_city_ui.lua b/lua/app/ui/main_city/main_city_ui.lua
index 338ef4c6..f34c78f7 100644
--- a/lua/app/ui/main_city/main_city_ui.lua
+++ b/lua/app/ui/main_city/main_city_ui.lua
@@ -130,7 +130,6 @@ function MainCityUI:_display()
self:initBottomUI()
self:initComp()
self:initLeftRightBtns()
- self:initPlayerInfo()
self:initTopNode()
self:refreshBottom()
end
@@ -609,25 +608,11 @@ function MainCityUI:setSideBarVisible(visible)
self.rightNode:setVisible(visible)
end
-function MainCityUI:initPlayerInfo()
- self.playerSlider = self.uiMap["main_ui.player_node.info.slider.img_prog"]
- self.playerLvTx = self.uiMap["main_ui.player_node.info.slider.tx_lv"]
- self.playerNameTx = self.uiMap["main_ui.player_node.info.tx_name"]
- self.headCell = CellManager:addCellComp(self.uiMap["main_ui.player_node.player_head_cell"], GConst.TYPEOF_LUA_CLASS.PLAYER_HEAD_CELL)
- self.uiMap["main_ui.player_node"]:addClickListener(function ()
- UIManager:showUI("app/ui/player_info/player_info_ui")
- end)
- self.headCell:refresh()
-end
-
function MainCityUI:refreshPlayerInfo()
- local lv = DataManager.PlayerData:getLv()
- self.playerLvTx:setText(I18N:getGlobalText(I18N.GlobalConst.HERO_DESC_1, lv))
- self.playerSlider:getComponent(GConst.TYPEOF_UNITY_CLASS.BF_SLIDER).value = DataManager.PlayerData:getExpPercent()
- self.playerNameTx:setText(DataManager.PlayerData:getNickname())
- if self.headCell then
- self.headCell:refresh()
+ if not self.playerInfoCell then
+ self.playerInfoCell = CellManager:addCellComp(self.uiMap["main_ui.player_info_cell"], GConst.TYPEOF_LUA_CLASS.PLAYER_INFO_CELL)
end
+ self.playerInfoCell:refresh()
end
function MainCityUI:initTopNode()
diff --git a/lua/app/userdata/arena/arena_data.lua b/lua/app/userdata/arena/arena_data.lua
index 22273e1e..53db8da8 100644
--- a/lua/app/userdata/arena/arena_data.lua
+++ b/lua/app/userdata/arena/arena_data.lua
@@ -145,6 +145,9 @@ end
-- 获取所在段位的最低积分
function ArenaData:getGradingMinScore(score)
local id = self:getGradingIdFromScore(score)
+ if not self.cfgRank[id] then
+ id = table.sort(table.keys(self.cfgRank))
+ end
return self.cfgRank[id].score
end