| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057 |
- local RemoteProxy = requireProxy("remote/RemoteProxy")
- local TradingBankLookPlayerProxy = class("TradingBankLookPlayerProxy", RemoteProxy)
- TradingBankLookPlayerProxy.NAME = global.ProxyTable.TradingBankLookPlayerProxy
- function TradingBankLookPlayerProxy:ctor()
- TradingBankLookPlayerProxy.super.ctor(self)
- self:initData()
- self.SkillProxy = global.Facade:retrieveProxy(global.ProxyTable.Skill)
- end
- function TradingBankLookPlayerProxy:initData()
- self.lookPlayerData = {}
- self.lookPlayerItems = {}
- self.fashionData = {}
- self.fashionId = {
- dress = 4,
- weapon = 5
- }
- self.titleData = {} --称号数据
- self._titleActive = nil --激活的称号
- self.m_BagItems = {}
- self.m_storeItems = {}
- self.m_skills = {}
- self.m_baseAtr = {}
- self.lookPlayerData_Hero = {}
- self.lookPlayerItems_Hero = {}
- self.fashionData_Hero = {}
- self.titleData_Hero = {} --称号数据
- self._titleActive_Hero = nil --激活的称号
- self.m_BagItems_Hero = {}
- self.m_storeItems_Hero = {}
- self.m_skills_Hero = {}
- self.m_baseAtr_Hero = {}
- self.m_hasHeroData = false
- self.lookPlayerCustomData = {}
- self._func = nil
- end
- function TradingBankLookPlayerProxy:onRegister()
- TradingBankLookPlayerProxy.super.onRegister(self)
- end
- function TradingBankLookPlayerProxy:getBagItems()
- return self.m_BagItems
- end
- function TradingBankLookPlayerProxy:getBagItems_Hero()
- return self.m_BagItems_Hero
- end
- function TradingBankLookPlayerProxy:getStoreItems()
- return self.m_storeItems
- end
- function TradingBankLookPlayerProxy:handle_MSG_SC_ROLE_INFO_RESPONSE(msg)
- local header = msg:GetHeader()
- local recog = header.recog
- -- self:SetEmbattle(recog)
- -- self:SetEmbattle_Hero(recog)
- local data = ParseRawMsgToJson(msg)
- if recog == 1 then--bag
- local bagitems = {}
- data = data or {}
- for i, v in ipairs(data) do
- local vv = ChangeItemServersSendDatas(v)
- table.insert(bagitems, vv)
- end
- self.m_BagItems = bagitems
- return
- elseif recog == 2 then --storeitems
- local storeitems = {}
- data = data or {}
- for i, v in ipairs(data) do
- local vv = ChangeItemServersSendDatas(v)
- table.insert(storeitems, vv)
- end
- self.m_storeItems = storeitems
- return
- elseif recog == 13 or recog == 14 or recog == 15 then -- 身上/背包/仓库物品自定义属性分批发送
- if not data then
- return
- end
- local BagProxy = global.Facade:retrieveProxy(global.ProxyTable.Bag)
- BagProxy:SetTradingBankItemParamsBatch(data)
- return
- end
- if not data then
- global.Facade:sendNotification(global.NoticeTable.SystemTips, GET_STRING(50000057))
- return
- end
- self._titleActive = data.active
- self.m_skills = {}
- if data.Magic then
- for _, v in ipairs(data.Magic) do
- local skill = self:parseOneSkillData(v)
- self:AddSkill(skill)
- end
- end
- self:SetLookPlayerItemData(data.Items)
- self:SetLookPlayerFashion(data.t_dress, data.t_weapon)
- self:SetLookPlayerData(data)
- self:SetLookPlayerTitle(data.Titles)
- if data.UserState then
- self:setBaseAtr(data.UserState)
- end
- if data.MoneyList then
- self:setSellShowMoenyList(data.MoneyList)
- end
- -------------------------------
- if data.HeroData then
- self.m_hasHeroData = true
- local HeroData = data.HeroData
- local herobagitems = {}
- local herostoreitems = {}
- HeroData.BagItems = HeroData.BagItems or {}
- for i, v in ipairs(HeroData.BagItems) do
- local vv = ChangeItemServersSendDatas(v)
- table.insert(herobagitems, vv)
- end
- HeroData.StoreItems = HeroData.StoreItems or {}
- for i, v in ipairs(HeroData.StoreItems) do
- local vv = ChangeItemServersSendDatas(v)
- table.insert(herostoreitems, vv)
- end
- self.m_BagItems_Hero = herobagitems
- self.m_storeItems_Hero = herostoreitems
- self._titleActive_Hero = HeroData.active
- self.m_skills_Hero = {}
- if HeroData.Magic then
- for _, v in ipairs(HeroData.Magic) do
- local skill = self:parseOneSkillData(v)
- self:AddSkill_Hero(skill)
- end
- end
- self:SetLookPlayerItemData_Hero(HeroData.Items)
- self:SetLookPlayerFashion_Hero(HeroData.t_dress, HeroData.t_weapon)
- self:SetLookPlayerData_Hero(HeroData)
- self:SetLookPlayerTitle_Hero(HeroData.Titles)
- if HeroData.UserState then
- self:setBaseAtr(HeroData.UserState, true)
- end
- end
- -------------------------------
- -- print("=====查看玩家")
- self._isget = true
- if self._func then
- self._func()
- end
- end
- function TradingBankLookPlayerProxy:haveData()
- return self._isget
- end
- function TradingBankLookPlayerProxy:haveData_Hero()
- return self.m_hasHeroData
- end
- function TradingBankLookPlayerProxy:GetRoleJobName_Hero()
- if not self.m_HerobaseAtr then
- return GET_STRING(1067 + 0)
- end
- local job = self.m_HerobaseAtr.job
- local name = GET_STRING(1067 + job)
- return name
- end
- function TradingBankLookPlayerProxy:GetRoleJob_Hero()
- if not self.m_HerobaseAtr then
- return 0
- end
- return self.m_HerobaseAtr.job or 0
- end
- function TradingBankLookPlayerProxy:GetRoleReinLv_Hero()
- if not self.m_HerobaseAtr then
- return 0
- end
- return self.m_HerobaseAtr.relevel
- end
- function TradingBankLookPlayerProxy:GetRoleLevel_Hero()
- if not self.m_HerobaseAtr then
- return 0
- end
- return self.m_HerobaseAtr.level
- end
- function TradingBankLookPlayerProxy:GetCurrExp_Hero()
- if not self.m_HerobaseAtr then
- return 0
- end
- return self.m_HerobaseAtr.curExp
- end
- function TradingBankLookPlayerProxy:GetNeedExp_Hero()
- if not self.m_HerobaseAtr then
- return 0
- end
- return self.m_HerobaseAtr.needExp
- end
- function TradingBankLookPlayerProxy:GetSuperExp_Hero()
- if not self.m_HerobaseAtr then
- return 0
- end
- return self.m_HerobaseAtr.SuperExp
- end
- function TradingBankLookPlayerProxy:GetRoleCurrHP_Hero()
- return self:GetRoleAttByAttType_Hero(GUIFunction:PShowAttType().HP)
- end
- function TradingBankLookPlayerProxy:GetRoleMaxHP_Hero()
- if not self.m_HerobaseAtr then
- return 0
- end
- return self.m_HerobaseAtr.maxHP or 1
- end
- function TradingBankLookPlayerProxy:GetRoleCurrMP_Hero()
- return self:GetRoleAttByAttType_Hero(GUIFunction:PShowAttType().MP)
- end
- function TradingBankLookPlayerProxy:GetRoleMaxMP_Hero()
- if not self.m_HerobaseAtr then
- return 0
- end
- return self.m_HerobaseAtr.maxHP or 1
- end
- function TradingBankLookPlayerProxy:GetVariableInfo_Hero()
- if not self.m_HerobaseAtr then
- return 0
- end
- return self.m_HerobaseAtr.variableInfo
- end
- function TradingBankLookPlayerProxy:GetRoleAttByAttType_Hero(attid)
- if not self.m_HerobaseAtr then
- return 0
- end
- local data = self.m_HerobaseAtr.attdata or {}
- if data[attid] then
- return data[attid]
- end
- return 0
- end
- function TradingBankLookPlayerProxy:GetRoleJobName()
- local job = self.m_baseAtr.job or 0
- local name = GetJobName(job)
- return name
- end
- function TradingBankLookPlayerProxy:GetRoleJob()
- return self.m_baseAtr.job or 0
- end
- function TradingBankLookPlayerProxy:GetRoleReinLv()
- return self.m_baseAtr.relevel
- end
- function TradingBankLookPlayerProxy:GetRoleLevel()
- return self.m_baseAtr.level
- end
- function TradingBankLookPlayerProxy:GetCurrExp()
- return self.m_baseAtr.curExp
- end
- function TradingBankLookPlayerProxy:GetNeedExp()
- return self.m_baseAtr.needExp
- end
- function TradingBankLookPlayerProxy:GetRoleCurrHP()
- return self:GetRoleAttByAttType(GUIFunction:PShowAttType().HP)
- end
- function TradingBankLookPlayerProxy:GetRoleMaxHP()
- return self.m_baseAtr.maxHP or 1
- end
- function TradingBankLookPlayerProxy:GetRoleCurrMP()
- return self:GetRoleAttByAttType(GUIFunction:PShowAttType().MP)
- end
- function TradingBankLookPlayerProxy:GetRoleMaxMP()
- return self.m_baseAtr.maxHP or 1
- end
- function TradingBankLookPlayerProxy:GetVariableInfo()
- return self.m_baseAtr.variableInfo
- end
- function TradingBankLookPlayerProxy:GetRoleAttByAttType(attid)
- local data = self.m_baseAtr.attdata or {}
- if data[attid] then
- return data[attid]
- end
- return 0
- end
- function TradingBankLookPlayerProxy:setSellShowMoenyList(data)
- self._showMoneyList = data
- end
- function TradingBankLookPlayerProxy:getSellShowMoenyList()
- return self._showMoneyList
- end
- function TradingBankLookPlayerProxy:setBaseAtr(data, isHero)
- local maxHP = data.maxhp
- local maxMP = data.maxmp
- local curExp = data.exp
- local curHP = data.hp
- local curMP = data.mp
- local sex = data.sex
- local variableInfo = data.InfoEx
- -- Sample.yb = head.param2
- local Sample = {}
- if isHero then
- self.m_HerobaseAtr = {}
- Sample = self.m_HerobaseAtr
- else
- self.m_baseAtr = {}
- Sample = self.m_baseAtr
- end
- Sample.maxMP = maxMP
- Sample.curMP = curMP
- Sample.maxHP = maxHP
- Sample.curHP = curHP
- Sample.curExp = curExp
- Sample.MaxSuperExp = data.MaxSuperExp
- Sample.SuperExp = data.SuperExp
- Sample.variableInfo = variableInfo
- Sample.job = data.job
- Sample.sex = data.sex
- Sample.level = data.level
- Sample.needExp = data.maxexp
- Sample.relevel = data.relevel
- local PShowAttType = GUIFunction:PShowAttType()
- Sample.attdata = {}
- Sample.attdata[PShowAttType.Min_DEF] = data.ac1 --物防
- Sample.attdata[PShowAttType.Max_DEF] = data.ac2 --
- Sample.attdata[PShowAttType.Min_MDF] = data.mac1 --魔防
- Sample.attdata[PShowAttType.Max_MDF] = data.mac2
- Sample.attdata[PShowAttType.Min_ATK] = data.dc1 --物理
- Sample.attdata[PShowAttType.Max_ATK] = data.dc2
- Sample.attdata[PShowAttType.Min_MAT] = data.mc1 --魔法
- Sample.attdata[PShowAttType.Max_MAT] = data.mc2
- Sample.attdata[PShowAttType.Min_Daoshu] = data.sc1 --道术
- Sample.attdata[PShowAttType.Max_Daoshu] = data.sc2
- Sample.attdata[PShowAttType.HP] = curHP --生命
- Sample.attdata[PShowAttType.MP] = curMP --魔法
- Sample.attdata[PShowAttType.Weight] = data.weight--当前重量
- Sample.attdata[PShowAttType.Max_Weight] = data.maxweight--玩家最大负重
- Sample.attdata[PShowAttType.Wear_Weight] = data.wearweight--穿戴负重
- Sample.attdata[PShowAttType.Max_Wear_Weight] = data.maxwearweight--最大穿戴负重
- Sample.attdata[PShowAttType.Hand_Weight] = data.handweight--腕力
- Sample.attdata[PShowAttType.Max_Hand_Weight] = data.maxhandweight--当前最大可穿戴腕力
- Sample.attdata[PShowAttType.Anti_Magic] = data.antimagic
- Sample.attdata[PShowAttType.Hit_Point] = data.hitPoint
- Sample.attdata[PShowAttType.Speed_Point] = data.SpeedPoint
- Sample.attdata[PShowAttType.Anti_Posion] = data.AntiPosion
- Sample.attdata[PShowAttType.Posion_Recover] = data.PosionRecover
- Sample.attdata[PShowAttType.Health_Recover] = data.HealthRecover
- Sample.attdata[PShowAttType.Spell_Recover] = data.SpellRecover
- Sample.attdata[PShowAttType.Hit_Speed] = data.HitSpeed
- Sample.attdata[PShowAttType.Block_Rate] = data.GedangRate
- Sample.attdata[PShowAttType.Block_Value] = data.GedangPower
- Sample.attdata[PShowAttType.Double_Rate] = data.BjRate
- Sample.attdata[PShowAttType.Double_Damage] = data.BjPoint
- Sample.attdata[PShowAttType.Defence] = data.Abil23
- Sample.attdata[PShowAttType.Double_Defence] = data.Abil24
- Sample.attdata[PShowAttType.More_Damage] = data.Abil25
- Sample.attdata[PShowAttType.ATK_Defence] = data.Abil26
- Sample.attdata[PShowAttType.MAT_Defence] = data.Abil27
- Sample.attdata[PShowAttType.Ignore_Defence] = data.Abil28
- Sample.attdata[PShowAttType.Bounce_Damage] = data.Abil29
- Sample.attdata[PShowAttType.Health_Add] = data.Abil30
- Sample.attdata[PShowAttType.Magice_Add] = data.Abil31
- Sample.attdata[PShowAttType.More_Item] = data.Abil32
- Sample.attdata[PShowAttType.Less_Item] = data.Abil33
- Sample.attdata[PShowAttType.Vampire] = data.Abil34
- Sample.attdata[PShowAttType.A_M_D_Add] = data.Abil35
- Sample.attdata[PShowAttType.Defence_Add] = data.Abil36
- Sample.attdata[PShowAttType.MDefence_Add] = data.Abil37
- Sample.attdata[PShowAttType.God_Damage] = data.Abil38
- Sample.attdata[PShowAttType.Lucky] = data.Abil39
- Sample.attdata[PShowAttType.Monster_Damage_Value] = data.Abil40
- Sample.attdata[PShowAttType.Monster_Damage_Per] = data.Abil41
- Sample.attdata[PShowAttType.Anger_Recover] = data.Abil42
- Sample.attdata[PShowAttType.Combine_Skill_Damage] = data.Abil43
- Sample.attdata[PShowAttType.Monster_DropItem] = data.Abil44
- Sample.attdata[PShowAttType.No_Palsy] = data.Abil45
- Sample.attdata[PShowAttType.No_Protect] = data.Abil46
- Sample.attdata[PShowAttType.No_Rebirth] = data.Abil47
- Sample.attdata[PShowAttType.No_ALL] = data.Abil48
- Sample.attdata[PShowAttType.No_Charm] = data.Abil49
- Sample.attdata[PShowAttType.No_Fire] = data.Abil50
- Sample.attdata[PShowAttType.No_Ice] = data.Abil51
- Sample.attdata[PShowAttType.No_Web] = data.Abil52
- Sample.attdata[PShowAttType.Att_UnKonw] = data.Abil53
- Sample.attdata[PShowAttType.More_A_Damage] = data.Abil54
- Sample.attdata[PShowAttType.Less_A_Damage] = data.Abil55
- Sample.attdata[PShowAttType.More_M_Damage] = data.Abil56
- Sample.attdata[PShowAttType.Less_M_Damage] = data.Abil57
- Sample.attdata[PShowAttType.More_D_Damage] = data.Abil58
- Sample.attdata[PShowAttType.Less_D_Damage] = data.Abil59
- Sample.attdata[PShowAttType.More_Health_Per] = data.Abil60
- Sample.attdata[PShowAttType.HP_Recover] = data.Abil61
- Sample.attdata[PShowAttType.MP_Recover] = data.Abil62
- -- Sample.attdata[PShowAttType.Block_Rate] = data.Abil63
- -- Sample.attdata[PShowAttType.Block_Value] = data.Abil64
- Sample.attdata[PShowAttType.Drop_Rate] = data.Abil65
- Sample.attdata[PShowAttType.Exp_Add_Rate] = data.Abil66
- Sample.attdata[PShowAttType.Damage_Rate_Add] = data.Abil67
- Sample.attdata[PShowAttType.Damage_Human] = data.Abil68
- Sample.attdata[PShowAttType.Ice_Rate] = data.Abil69
- Sample.attdata[PShowAttType.Defen_Ice] = data.Abil70
- -- body
- end
- -- 技能数据
- function TradingBankLookPlayerProxy:GetSkills_Hero(noBasicSkill, activeOnly)
- -- 已有技能数据 param1:是否排除普攻 param2:是否只获取主动技能
- local skills = {}
- for _, v in pairs(self.m_skills_Hero) do
- local config = self.SkillProxy:FindConfigBySkillID(v.MagicID)
- if (noBasicSkill and v.MagicID == global.MMO.SKILL_INDEX_BASIC) then
- elseif activeOnly and false == self:IsActiveSkill_Hero(v.MagicID) then
- else
- skills[v.MagicID] = v
- end
- end
- return skills
- end
- -- 主动技能
- function TradingBankLookPlayerProxy:IsActiveSkill_Hero(skillID)
- local config = self.SkillProxy:FindConfigBySkillID(skillID)
- if not config then
- return false
- end
- return config.type == 1
- end
- function TradingBankLookPlayerProxy:GetSkillByID_Hero(skillID)
- -- 获取技能数据
- return self.m_skills_Hero[skillID]
- end
- function TradingBankLookPlayerProxy:GetSkillTrainData_Hero(skillID)
- -- 技能等级>3的全部特殊处理下
- local maxStr = "-"
- if not skillID or not self.m_skills_Hero[skillID] then
- return maxStr
- end
- if skillID == global.MMO.SKILL_INDEX_BASIC then
- return maxStr
- end
- local skillData = self.m_skills_Hero[skillID]
- local isBaseSkill = skillData.Level <= 3
- local skillLevel = skillData.Level
- local maxSkillLevel = skillData.TrainLv
- if isBaseSkill and skillLevel >= maxSkillLevel then
- return maxStr
- end
- local skillMaxTrain = {
- [0] = skillData.MaxTrain1,
- [1] = skillData.MaxTrain2,
- [2] = skillData.MaxTrain3,
- [3] = skillData.MaxTrain4
- }
- local curTrain = skillData.CurTrain or 0
- local maxTrain = (isBaseSkill and skillMaxTrain[skillLevel] or skillData.MaxTrain1) or 0
- local str = curTrain >= maxTrain and maxStr or string.format(GET_STRING(1053), curTrain, maxTrain)
- return str
- end
- -- 获取技能Icon 矩形
- function TradingBankLookPlayerProxy:GetIconRectPathByID_Hero(skillID)
- local config = self.SkillProxy:FindConfigBySkillID(skillID)
- if not config then
- return string.format("%s%s.jpg", global.MMO.PATH_RES_SKILL_ICON, "default")
- end
- local data = self:GetSkillByID_Hero(skillID)
- if not data or not data.LevelUpIcon or data.LevelUpIcon <= 0 then
- return string.format("%s%s.jpg", global.MMO.PATH_RES_SKILL_ICON, config.icon)
- end
- return string.format("%s%s_%s.jpg", global.MMO.PATH_RES_SKILL_ICON, config.icon, data.LevelUpIcon)
- end
- function TradingBankLookPlayerProxy:parseOneSkillData_Hero(data)
- data.id = data.MagicID
- data.DelayTime = data.DelayTime or 0
- -- extension
- data.isCD = false
- data.curTime = 0
- return data
- end
- function TradingBankLookPlayerProxy:AddSkill_Hero(data)
- --增加技能
- -- dump(data)
- if not data then
- return false
- end
- if self.m_skills_Hero[data.MagicID] then
- return false
- end
- if not self.SkillProxy:FindConfigBySkillID(data.MagicID) then
- print("add skill error, skill config is nil " .. data.MagicID)
- return false
- end
- -- 增加技能
- self.m_skills_Hero[data.MagicID] = data
- end
- -- 技能数据
- function TradingBankLookPlayerProxy:GetSkills(noBasicSkill, activeOnly)
- -- 已有技能数据 param1:是否排除普攻 param2:是否只获取主动技能
- local skills = {}
- for _, v in pairs(self.m_skills) do
- local config = self.SkillProxy:FindConfigBySkillID(v.MagicID)
- if (noBasicSkill and v.MagicID == global.MMO.SKILL_INDEX_BASIC) then
- elseif activeOnly and false == self:IsActiveSkill(v.MagicID) then
- else
- skills[v.MagicID] = v
- end
- end
- return skills
- end
- -- 主动技能
- function TradingBankLookPlayerProxy:IsActiveSkill(skillID)
- local config = self.SkillProxy:FindConfigBySkillID(skillID)
- if not config then
- return false
- end
- return config.type == 1
- end
- function TradingBankLookPlayerProxy:GetSkillByID(skillID)
- -- 获取技能数据
- return self.m_skills[skillID]
- end
- function TradingBankLookPlayerProxy:GetSkillTrainData(skillID)
- -- 技能等级>3的全部特殊处理下
- local maxStr = "-"
- if not skillID or not self.m_skills[skillID] then
- return maxStr
- end
- if skillID == global.MMO.SKILL_INDEX_BASIC then
- return maxStr
- end
- local skillData = self.m_skills[skillID]
- local isBaseSkill = skillData.Level <= 3
- local skillLevel = skillData.Level
- local maxSkillLevel = skillData.TrainLv
- if isBaseSkill and skillLevel >= maxSkillLevel then
- return maxStr
- end
- local skillMaxTrain = {
- [0] = skillData.MaxTrain1,
- [1] = skillData.MaxTrain2,
- [2] = skillData.MaxTrain3,
- [3] = skillData.MaxTrain4
- }
- local curTrain = skillData.CurTrain or 0
- local maxTrain = (isBaseSkill and skillMaxTrain[skillLevel] or skillData.MaxTrain1) or 0
- local str = curTrain >= maxTrain and maxStr or string.format(GET_STRING(1053), curTrain, maxTrain)
- return str
- end
- -- 获取技能Icon 矩形
- function TradingBankLookPlayerProxy:GetIconRectPathByID(skillID)
- local config = self.SkillProxy:FindConfigBySkillID(skillID)
- if not config then
- return string.format("%s%s.jpg", global.MMO.PATH_RES_SKILL_ICON, "default")
- end
- local data = self:GetSkillByID(skillID)
- if not data or not data.LevelUpIcon or data.LevelUpIcon <= 0 then
- return string.format("%s%s.jpg", global.MMO.PATH_RES_SKILL_ICON, config.icon)
- end
- return string.format("%s%s_%s.jpg", global.MMO.PATH_RES_SKILL_ICON, config.icon, data.LevelUpIcon)
- end
- function TradingBankLookPlayerProxy:parseOneSkillData(data)
- data.id = data.MagicID
- data.DelayTime = data.DelayTime or 0
- -- extension
- data.isCD = false
- data.curTime = 0
- return data
- end
- function TradingBankLookPlayerProxy:AddSkill(data)
- --增加技能
- -- dump(data)
- if not data then
- return false
- end
- if self.m_skills[data.MagicID] then
- return false
- end
- if not self.SkillProxy:FindConfigBySkillID(data.MagicID) then
- print("add skill error, skill config is nil " .. data.MagicID)
- return false
- end
- -- 增加技能
- self.m_skills[data.MagicID] = data
- end
- function TradingBankLookPlayerProxy:DelSkill_Hero(skillID)
- --删除技能
- if not skillID then
- return false
- end
- if not self.m_skills_Hero[skillID] then
- return false
- end
- -- 删除技能
- local data = self.m_skills_Hero[skillID]
- self.m_skills_Hero[skillID] = nil
- end
- function TradingBankLookPlayerProxy:DelSkill(skillID)
- --删除技能
- if not skillID then
- return false
- end
- if not self.m_skills[skillID] then
- return false
- end
- -- 删除技能
- local data = self.m_skills[skillID]
- self.m_skills[skillID] = nil
- end
- function TradingBankLookPlayerProxy:SetLookPlayerTitle_Hero(data)
- self._titleData_Hero = {}
- if data and next(data) then
- for i, v in pairs(data) do
- local id = v[1]
- local time = v[2]
- local data = { id = id, time = time, index = i }
- self._titleData_Hero[i] = data
- end
- end
- end
- function TradingBankLookPlayerProxy:GetLookPlayerTitle_Hero()
- return self._titleData_Hero
- end
- function TradingBankLookPlayerProxy:GetLookPlayerTitleActive_Hero()
- return self._titleActive_Hero
- end
- function TradingBankLookPlayerProxy:SetLookPlayerTitle(data)
- self._titleData = {}
- if data and next(data) then
- for i, v in pairs(data) do
- local id = v[1]
- local time = v[2]
- local data = { id = id, time = time, index = i }
- self._titleData[i] = data
- end
- end
- end
- function TradingBankLookPlayerProxy:GetLookPlayerTitle()
- return self._titleData
- end
- function TradingBankLookPlayerProxy:GetLookPlayerTitleActive()
- return self._titleActive
- end
- function TradingBankLookPlayerProxy:SetLookPlayerFashion_Hero(dress, weapon)
- self.fashionData_Hero[self.fashionId.dress + 10000] = dress
- self.fashionData_Hero[self.fashionId.weapon + 10000] = weapon
- end
- function TradingBankLookPlayerProxy:GetLookPlayerFashionLooks_Hero(fashionId)
- local itemId = self.fashionData_Hero[fashionId]
- local show = {
- look = nil,
- effect = nil
- }
- if not itemId then
- return show
- end
- local ItemConfigProxy = global.Facade:retrieveProxy(global.ProxyTable.ItemConfigProxy)
- local itemData = ItemConfigProxy:GetItemDataByIndex(itemId)
- if not itemData then
- return show
- end
- if itemData and itemData.Looks then
- show.look = itemData.Looks
- end
- if itemData and itemData.sEffect then
- show.effect = itemData.sEffect
- end
- return show
- end
- function TradingBankLookPlayerProxy:SetLookPlayerFashion(dress, weapon)
- self.fashionData[self.fashionId.dress + 10000] = dress
- self.fashionData[self.fashionId.weapon + 10000] = weapon
- end
- function TradingBankLookPlayerProxy:GetLookPlayerFashionLooks(fashionId)
- local itemId = self.fashionData[fashionId]
- local show = {
- look = nil,
- effect = nil
- }
- if not itemId then
- return show
- end
- local ItemConfigProxy = global.Facade:retrieveProxy(global.ProxyTable.ItemConfigProxy)
- local itemData = ItemConfigProxy:GetItemDataByIndex(itemId)
- if not itemData then
- return show
- end
- if itemData and itemData.Looks then
- show.look = itemData.Looks
- end
- if itemData and itemData.sEffect then
- show.effect = itemData.sEffect
- end
- return show
- end
- function TradingBankLookPlayerProxy:SetLookPlayerItemData_Hero(Items)
- if not Items or not next(Items) then
- return
- end
- for k, v in pairs(Items) do
- local itemData = ChangeItemServersSendDatas(v)
- self.lookPlayerItems_Hero[itemData.Where] = itemData
- end
- end
- function TradingBankLookPlayerProxy:GetLookPlayerItemDataByPos_Hero(pos, beginOnMoving)
- local EquipProxy = global.Facade:retrieveProxy(global.ProxyTable.Equip)
- local data = self.lookPlayerItems_Hero[pos]
- local list = EquipProxy:GetEquipMappingConfig(pos) -- 单显示位置 多个装备位置共享
- if beginOnMoving and list then
- data = nil
- for _, v in ipairs(list) do
- data = self.lookPlayerItems_Hero[v]
- if data then
- break
- end
- end
- end
- return data
- end
- function TradingBankLookPlayerProxy:GetEquipDataByName_Hero(Name)
- local list = {}
- local data = self:GetLookPlayerItemPosData_Hero()
- if not Name or Name == "" or not data or next(data) == nil then
- return list
- end
- for k, v in pairs(data) do
- if v.Name == Name then
- table.insert(list, v)
- end
- end
- return list
- end
- function TradingBankLookPlayerProxy:GetLookPlayerItemDataList_Hero(pos)
- local EquipProxy = global.Facade:retrieveProxy(global.ProxyTable.Equip)
- local data = {}
- local list = EquipProxy:GetEquipMappingConfig(pos) -- 单显示位置 多个装备位置共享
- if list then
- for _, v in ipairs(list) do
- local equipData = self.lookPlayerItems_Hero[v]
- if equipData then
- table.insert(data, equipData)
- end
- end
- else
- if self.lookPlayerItems_Hero[pos] then
- table.insert(data, self.lookPlayerItems_Hero[pos])
- end
- end
- if next(data) == nil then
- data = nil
- end
- return data
- end
- function TradingBankLookPlayerProxy:GetLookPlayerItemDataByMakeIndex_Hero(MakeIndex)
- for k, v in pairs(self.lookPlayerItems_Hero) do
- if v.MakeIndex and v.MakeIndex == MakeIndex then
- return v
- end
- end
- return nil
- end
- function TradingBankLookPlayerProxy:GetLookPlayerItemPosData_Hero()
- return self.lookPlayerItems_Hero
- end
- function TradingBankLookPlayerProxy:SetLookPlayerData_Hero(data)
- self.lookPlayerData_Hero.Job = data.Job
- self.lookPlayerData_Hero.Name = data.Name
- self.lookPlayerData_Hero.Sex = data.Sex
- self.lookPlayerData_Hero.Hair = data.Hair
- self.lookPlayerData_Hero.Color = data.Color
- self.lookPlayerData_Hero.GuildName = data.GuildName or ""
- self.lookPlayerData_Hero.RankName = data.RankName or ""
- self.lookPlayerData_Hero.SndaItemBoxOpened = data.SndaItemBoxOpened
- end
- function TradingBankLookPlayerProxy:SetLookPlayerItemData(Items)
- if not Items or not next(Items) then
- return
- end
- for k, v in pairs(Items) do
- local itemData = ChangeItemServersSendDatas(v)
- self.lookPlayerItems[itemData.Where] = itemData
- end
- end
- function TradingBankLookPlayerProxy:GetLookPlayerItemDataByPos(pos, beginOnMoving)
- local EquipProxy = global.Facade:retrieveProxy(global.ProxyTable.Equip)
- local data = self.lookPlayerItems[pos]
- local list = EquipProxy:GetEquipMappingConfig(pos) -- 单显示位置 多个装备位置共享
- if beginOnMoving and list then
- data = nil
- for _, v in ipairs(list) do
- data = self.lookPlayerItems[v]
- if data then
- break
- end
- end
- end
- return data
- end
- function TradingBankLookPlayerProxy:GetEquipDataByName(Name)
- local list = {}
- local data = self:GetLookPlayerItemPosData()
- if not Name or Name == "" or not data or next(data) == nil then
- return list
- end
- for k, v in pairs(data) do
- if v.Name == Name then
- table.insert(list, v)
- end
- end
- return list
- end
- function TradingBankLookPlayerProxy:GetLookPlayerItemDataList(pos)
- local EquipProxy = global.Facade:retrieveProxy(global.ProxyTable.Equip)
- local data = {}
- local list = EquipProxy:GetEquipMappingConfig(pos) -- 单显示位置 多个装备位置共享
- if list then
- for _, v in ipairs(list) do
- local equipData = self.lookPlayerItems[v]
- if equipData then
- table.insert(data, equipData)
- end
- end
- else
- if self.lookPlayerItems[pos] then
- table.insert(data, self.lookPlayerItems[pos])
- end
- end
- if next(data) == nil then
- data = nil
- end
- return data
- end
- function TradingBankLookPlayerProxy:GetLookPlayerItemDataByMakeIndex(MakeIndex)
- for k, v in pairs(self.lookPlayerItems) do
- if v.MakeIndex and v.MakeIndex == MakeIndex then
- return v
- end
- end
- return nil
- end
- function TradingBankLookPlayerProxy:GetLookPlayerItemPosData()
- return self.lookPlayerItems
- end
- function TradingBankLookPlayerProxy:SetLookPlayerData(data)
- self.lookPlayerData.Job = data.Job
- self.lookPlayerData.Name = data.Name
- self.lookPlayerData.Sex = data.Sex
- self.lookPlayerData.Hair = data.Hair
- self.lookPlayerData.Color = data.Color
- self.lookPlayerData.GuildName = data.GuildName or ""
- self.lookPlayerData.RankName = data.RankName or ""
- self.lookPlayerData.SndaItemBoxOpened = data.SndaItemBoxOpened
- end
- function TradingBankLookPlayerProxy:GetLookPlayerName()
- return self.lookPlayerData.Name
- end
- function TradingBankLookPlayerProxy:GetLookPlayerSex()
- return self.lookPlayerData.Sex
- end
- function TradingBankLookPlayerProxy:GetLookPlayerHair()
- return self.lookPlayerData.Hair
- end
- function TradingBankLookPlayerProxy:GetLookPlayerNameColor()
- return self.lookPlayerData.Color
- end
- function TradingBankLookPlayerProxy:GetLookPlayerGuildName()
- return self.lookPlayerData.GuildName or ""
- end
- function TradingBankLookPlayerProxy:GetLookPlayerGuildRankName()
- return self.lookPlayerData.RankName or ""
- end
- function TradingBankLookPlayerProxy:GetBestRingsOpenState()
- return self.lookPlayerData.SndaItemBoxOpened
- end
- function TradingBankLookPlayerProxy:GetLookPlayerUid()
- return self.playerUid
- end
- function TradingBankLookPlayerProxy:SetEmbattle_Hero(data)
- self.embattle_Hero = {}
- if data and data ~= 0 then
- self.embattle_Hero[1] = H16Bit(data)
- self.embattle_Hero[2] = L16Bit(data)
- end
- end
- function TradingBankLookPlayerProxy:GetEmbattle_Hero()
- return self.embattle_Hero
- end
- function TradingBankLookPlayerProxy:GetLookPlayerName_Hero()
- return self.lookPlayerData_Hero.Name
- end
- function TradingBankLookPlayerProxy:GetLookPlayerSex_Hero()
- return self.lookPlayerData_Hero.Sex
- end
- function TradingBankLookPlayerProxy:GetLookPlayerHair_Hero()
- return self.lookPlayerData_Hero.Hair
- end
- function TradingBankLookPlayerProxy:GetLookPlayerNameColor_Hero()
- return self.lookPlayerData_Hero.Color
- end
- function TradingBankLookPlayerProxy:GetLookPlayerGuildName_Hero()
- return self.lookPlayerData_Hero.GuildName or ""
- end
- function TradingBankLookPlayerProxy:GetLookPlayerGuildRankName_Hero()
- return self.lookPlayerData_Hero.RankName or ""
- end
- function TradingBankLookPlayerProxy:GetBestRingsOpenState_Hero()
- return self.lookPlayerData_Hero.SndaItemBoxOpened
- end
- function TradingBankLookPlayerProxy:GetLookPlayerUid_Hero()
- return self.playerUid
- end
- function TradingBankLookPlayerProxy:GetLookPlayerCustomAtt()
- return self.lookPlayerCustomData
- end
- --请求通知脚本查看uid的珍宝
- function TradingBankLookPlayerProxy:RequestLookZhenBao_Hero(uid)
- if uid then
- LuaSendMsg(global.MsgType.MSG_CS_SCRIPT_ZHENBAO, 0, 0, 0, 0, uid, string.len(uid))
- end
- end
- --请求通知脚本查看uid的珍宝
- function TradingBankLookPlayerProxy:RequestLookZhenBao(uid)
- if uid then
- LuaSendMsg(global.MsgType.MSG_CS_SCRIPT_ZHENBAO, 0, 0, 0, 0, uid, string.len(uid))
- end
- end
- function TradingBankLookPlayerProxy:RequestPlayerData(Uid, func)
- dump(Uid, "uid____")
- self:initData()
- self._func = func
- global.Facade:sendNotification(global.NoticeTable.Layer_TradingBank_Look_Player_Close, { id = global.LayerTable.PlayerLayer })
- self.lookPlayerData = {}
- self.lookPlayerItems = {}
- self.fashionData = {}
- self.playerUid = Uid
- self.isget = false
- local HeroPropertyProxy = global.Facade:retrieveProxy(global.ProxyTable.HeroPropertyProxy)
- if HeroPropertyProxy:IsHeroOpen() then
- LuaSendMsg(global.MsgType.MSG_CM_GETPLAYERINFO, 1, 0, 0, 0, Uid, string.len(Uid))
- else
- LuaSendMsg(global.MsgType.MSG_CM_GETPLAYERINFO, 0, 0, 0, 0, Uid, string.len(Uid))
- end
- end
- function TradingBankLookPlayerProxy:handle_MSG_SC_SEND_BOX_SELL_CUST_RESPONSE(msg)
- local header = msg:GetHeader()
- local recog = header.recog
- local data = msg:GetData()
- local len = msg:GetDataLength()
- local sliceStr = data:ReadString(len)
- if recog and sliceStr then
- --table.insert(self.lookPlayerCustomData,{index = recog, str = "测试1\测试2\测试3"})
- --table.insert(self.lookPlayerCustomData,{index = recog, str = "<Text|id=5|text=助手阿姸|x=30|y=20|size=18|color=1005>"})
- table.insert(self.lookPlayerCustomData,{index = recog, str = sliceStr})
- end
- end
- function TradingBankLookPlayerProxy:RegisterMsgHandler()
- TradingBankLookPlayerProxy.super.RegisterMsgHandler(self)
- local msgType = global.MsgType
- --预请求查看数据
- LuaRegisterMsgHandler(msgType.MSG_SC_GETPLAYERINFO, handler(self, self.handle_MSG_SC_ROLE_INFO_RESPONSE))
- --试玩gm下发自定义内容
- LuaRegisterMsgHandler(msgType.MSG_SC_SERVER_SEND_BOX_SELL_CUST, handler(self, self.handle_MSG_SC_SEND_BOX_SELL_CUST_RESPONSE))
- end
- return TradingBankLookPlayerProxy
|