英雄面板属性加密

This commit is contained in:
xiekaidong 2023-07-05 17:25:14 +08:00
parent e7028105c8
commit 61b76292c9
3 changed files with 36 additions and 33 deletions

View File

@ -467,15 +467,6 @@ GConst.MATCH_ATTACK_NAME = {
[5] = "atk_purple", [5] = "atk_purple",
} }
GConst.ATTR_TYPE = {
hp = 1,
atk_red = 2,
atk_yellow = 3,
atk_green = 4,
atk_blue = 5,
atk_purple = 6
}
GConst.GAMEOBJECT_LAYER = { GConst.GAMEOBJECT_LAYER = {
DEFAULT = CS.BF.Utils.NameToLayer("Default"), DEFAULT = CS.BF.Utils.NameToLayer("Default"),
UI = CS.BF.Utils.NameToLayer("UI"), UI = CS.BF.Utils.NameToLayer("UI"),

View File

@ -1,5 +1,6 @@
local BattleTeamEntity = require "app/userdata/battle/team/battle_team_entity" local BattleTeamEntity = require "app/userdata/battle/team/battle_team_entity"
local BattleSkillEntity = require "app/userdata/battle/skill/battle_skill_entity" local BattleSkillEntity = require "app/userdata/battle/skill/battle_skill_entity"
local ATTR_NAME = GConst.BattleConst.ATTR_NAME
local BattleBaseData = class("BattleBaseData", BaseData) local BattleBaseData = class("BattleBaseData", BaseData)
local SKILL_CFG = ConfigManager:getConfig("skill") local SKILL_CFG = ConfigManager:getConfig("skill")
@ -7,7 +8,6 @@ local BattleConst = GConst.BattleConst
local BATTLE_GRID_ENTITY = require "app/userdata/battle/battle_grid_entity" local BATTLE_GRID_ENTITY = require "app/userdata/battle/battle_grid_entity"
local BATTLE_BOARD_SKILL_ENTITY = require "app/userdata/battle/skill/battle_board_skill_entity" local BATTLE_BOARD_SKILL_ENTITY = require "app/userdata/battle/skill/battle_board_skill_entity"
local ATTR_TYPE = GConst.ATTR_TYPE
local DEFAULT_FACTOR = BattleConst.DEFAULT_FACTOR local DEFAULT_FACTOR = BattleConst.DEFAULT_FACTOR
local TIME_SPEED_LEVEL_0 = 0 local TIME_SPEED_LEVEL_0 = 0
local TIME_SPEED_LEVEL_1 = 1 local TIME_SPEED_LEVEL_1 = 1
@ -669,9 +669,8 @@ function BattleBaseData:initHeroData(formation)
if formation then if formation then
local skillCfg = ConfigManager:getConfig("skill") local skillCfg = ConfigManager:getConfig("skill")
for matchType, heroEntity in pairs(formation) do for matchType, heroEntity in pairs(formation) do
local heroAttr = heroEntity:getAllAttr()
local skillId = heroEntity:getBaseSkill() local skillId = heroEntity:getBaseSkill()
local hp = heroAttr[ATTR_TYPE.hp] // DEFAULT_FACTOR local hp = heroEntity:getAttrValue(ATTR_NAME.HP) // DEFAULT_FACTOR
local unitData = { local unitData = {
id = heroEntity:getCfgId(), id = heroEntity:getCfgId(),
modelId = heroEntity:getModelId(), modelId = heroEntity:getModelId(),
@ -683,11 +682,11 @@ function BattleBaseData:initHeroData(formation)
hp = hp, hp = hp,
max_hp = hp, max_hp = hp,
atk = 0, atk = 0,
atk_red = heroAttr[ATTR_TYPE.atk_red] // DEFAULT_FACTOR, atk_red = heroEntity:getAttrValue(ATTR_NAME.ATK_RED) // DEFAULT_FACTOR,
atk_yellow = heroAttr[ATTR_TYPE.atk_yellow] // DEFAULT_FACTOR, atk_yellow = heroEntity:getAttrValue(ATTR_NAME.ATK_YELLOW) // DEFAULT_FACTOR,
atk_green = heroAttr[ATTR_TYPE.atk_green] // DEFAULT_FACTOR, atk_green = heroEntity:getAttrValue(ATTR_NAME.ATK_GREEN) // DEFAULT_FACTOR,
atk_blue = heroAttr[ATTR_TYPE.atk_blue] // DEFAULT_FACTOR, atk_blue = heroEntity:getAttrValue(ATTR_NAME.ATK_BLUE) // DEFAULT_FACTOR,
atk_purple = heroAttr[ATTR_TYPE.atk_purple] // DEFAULT_FACTOR, atk_purple = heroEntity:getAttrValue(ATTR_NAME.ATK_PURPLE) // DEFAULT_FACTOR,
} }
} }
local skillInfo = skillCfg[skillId] local skillInfo = skillCfg[skillId]

View File

@ -1,4 +1,5 @@
local HeroEntity = class("HeroEntity", BaseData) local HeroEntity = class("HeroEntity", BaseData)
local ATTR_NAME = GConst.BattleConst.ATTR_NAME
function HeroEntity:ctor(cfgId, lv) function HeroEntity:ctor(cfgId, lv)
self.id = cfgId self.id = cfgId
@ -15,12 +16,13 @@ function HeroEntity:ctor(cfgId, lv)
end end
function HeroEntity:initAttr() function HeroEntity:initAttr()
self.allAttr[GConst.ATTR_TYPE.hp] = 0 self:setAttrValue(ATTR_NAME.HP, 0)
self.allAttr[GConst.ATTR_TYPE.atk_red] = 0 self:setAttrValue(ATTR_NAME.ATK, 0)
self.allAttr[GConst.ATTR_TYPE.atk_yellow] = 0 self:setAttrValue(ATTR_NAME.ATK_RED, 0)
self.allAttr[GConst.ATTR_TYPE.atk_green] = 0 self:setAttrValue(ATTR_NAME.ATK_YELLOW, 0)
self.allAttr[GConst.ATTR_TYPE.atk_blue] = 0 self:setAttrValue(ATTR_NAME.ATK_GREEN, 0)
self.allAttr[GConst.ATTR_TYPE.atk_purple] = 0 self:setAttrValue(ATTR_NAME.ATK_BLUE, 0)
self:setAttrValue(ATTR_NAME.ATK_PURPLE, 0)
end end
function HeroEntity:setLv(lv) function HeroEntity:setLv(lv)
@ -73,13 +75,13 @@ function HeroEntity:updateAttr()
end end
function HeroEntity:updateBaseAttr() function HeroEntity:updateBaseAttr()
self.baseAttrOriginal[GConst.ATTR_TYPE.hp] = self:getCfgHp() self.baseAttrOriginal[ATTR_NAME.HP] = self:getCfgHp()
self.baseAttrOriginal[GConst.ATTR_TYPE.atk_red] = 0 self.baseAttrOriginal[ATTR_NAME.ATK_RED] = 0
self.baseAttrOriginal[GConst.ATTR_TYPE.atk_yellow] = 0 self.baseAttrOriginal[ATTR_NAME.ATK_YELLOW] = 0
self.baseAttrOriginal[GConst.ATTR_TYPE.atk_green] = 0 self.baseAttrOriginal[ATTR_NAME.ATK_GREEN] = 0
self.baseAttrOriginal[GConst.ATTR_TYPE.atk_blue] = 0 self.baseAttrOriginal[ATTR_NAME.ATK_BLUE] = 0
self.baseAttrOriginal[GConst.ATTR_TYPE.atk_purple] = 0 self.baseAttrOriginal[ATTR_NAME.ATK_PURPLE] = 0
self.baseAttrOriginal[GConst.ATTR_TYPE[GConst.MATCH_ATTACK_NAME[self.config.position]]] = self:getCfgAtk() self.baseAttrOriginal[GConst.MATCH_ATTACK_NAME[self.config.position]] = self:getCfgAtk()
end end
function HeroEntity:getCfgHp(lv) function HeroEntity:getCfgHp(lv)
@ -116,16 +118,27 @@ end
function HeroEntity:updateAllAttr() function HeroEntity:updateAllAttr()
for k, v in pairs(self.baseAttrOriginal) do for k, v in pairs(self.baseAttrOriginal) do
self.allAttr[k] = v self:setAttrValue(k, v)
end end
end end
function HeroEntity:setAttrValue(name, value)
self.allAttr[name] = GFunc.encryptNumber(value or 0)
end
function HeroEntity:getAttrValue(name)
if not self.allAttr[name] then
return 0
end
return GFunc.decryptNumber(self.allAttr[name])
end
function HeroEntity:getAtk() function HeroEntity:getAtk()
return self.allAttr[GConst.ATTR_TYPE.atk] or 0 return self:getAttrValue(GConst.BattleConst.ATTR_NAME.ATK)
end end
function HeroEntity:getHp() function HeroEntity:getHp()
return self.allAttr[GConst.ATTR_TYPE.hp] or 0 return self:getAttrValue(GConst.BattleConst.ATTR_NAME.HP)
end end
function HeroEntity:setDirty() function HeroEntity:setDirty()