源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

573 行
21 KiB

  1. HorseEquipCompareTips = HorseEquipCompareTips or BaseClass(BaseItem)
  2. function HorseEquipCompareTips:__init()
  3. self.base_file = "common"
  4. self.layout_file = "EquipCompareTips"
  5. self.goods_vo = nil
  6. self.show_wake_suit = false
  7. self.model = GoodsModel:getInstance()
  8. self.horseModel = HorseModel:getInstance()
  9. self.is_set_zdepth = true
  10. self.star_list = {}
  11. self.item_list = {}
  12. self.fumo_item_list = {}
  13. self.stone_item_list = {}
  14. self:Load()
  15. end
  16. function HorseEquipCompareTips:__delete()
  17. if self.arrowHint then
  18. self.arrowHint:DeleteMe()
  19. self.arrowHint = nil
  20. end
  21. if self.icon_item then
  22. self.icon_item:DeleteMe()
  23. end
  24. for i,v in ipairs(self.item_list) do
  25. v:DeleteMe()
  26. v = nil
  27. end
  28. self.item_list = {}
  29. for i,v in ipairs(self.fumo_item_list) do
  30. v:DeleteMe()
  31. v = nil
  32. end
  33. self.fumo_item_list = {}
  34. for i, v in ipairs(self.stone_item_list) do
  35. v:DeleteMe()
  36. v = nil
  37. end
  38. self.stone_item_list = {}
  39. if self.expire_label then
  40. lua_viewM:ClearItem(self.expire_label)
  41. self.expire_label = nil
  42. end
  43. if self.update_equip_combat_id then
  44. self.horseModel:UnBind(self.update_equip_combat_id)
  45. self.update_equip_combat_id = nil
  46. end
  47. end
  48. function HorseEquipCompareTips:Load_callback()
  49. self.step_bg,self.sell_icon,
  50. self.wear_icon
  51. = GetChildImages(self.transform,
  52. {
  53. "normal/setp_bg","normal/sell_conta/icon",
  54. "normal/wear_icon",
  55. })
  56. self.bg,self.career_conta,self.descCon,self.expired_label,self.sell_conta,
  57. self.icon_con,self.star_conta,self.ScrollView,
  58. self.ScrollViewContent,self.ScrollViewViewport,
  59. self.line1,self.line2,
  60. self.line3,self.line4,
  61. self.line5,self.line6,
  62. self.line7,self.line8,
  63. self.line9,self.line10,
  64. self.stone_conta,self.down_arrow
  65. = GetChildTransforms(self.transform,
  66. {
  67. "normal/bg","normal/career_conta","normal/descCon","normal/expired_label","normal/sell_conta",
  68. "normal/icon_con","normal/star_conta","normal/ScrollView",
  69. "normal/ScrollView/Viewport/Content","normal/ScrollView/Viewport",
  70. "normal/ScrollView/Viewport/Content/line1","normal/ScrollView/Viewport/Content/line2",
  71. "normal/ScrollView/Viewport/Content/line3","normal/ScrollView/Viewport/Content/line4",
  72. "normal/ScrollView/Viewport/Content/line5","normal/ScrollView/Viewport/Content/line6",
  73. "normal/ScrollView/Viewport/Content/line7","normal/ScrollView/Viewport/Content/line8",
  74. "normal/ScrollView/Viewport/Content/line9","normal/ScrollView/Viewport/Content/line10",
  75. "normal/ScrollView/Viewport/Content/stone_conta","normal/down_arrow"
  76. })
  77. self.descLabel,self.getWayLabel,self.nameText,
  78. self.step_num,self.composite_score,self.equip_score,
  79. self.career,self.level,self.equip_pos,self.fight,
  80. self.base_name,self.baseName,
  81. self.basePro,self.strengthAdd,
  82. self.add_name,self.addName,
  83. self.addPro,self.wash_name,
  84. self.washName,self.washPro,
  85. self.spirit_name,self.spiritName,
  86. self.spiritPro,self.stone_name,
  87. self.suit_name,self.suitNum,
  88. self.suitName,self.suitPro,
  89. self.suitNameList,
  90. self.wake_base_name,self.wake_baseName,
  91. self.wake_basePro,self.wake_baseAdd,
  92. self.wake_stren_name,self.wake_strenName,
  93. self.wake_strenPro,self.wake_strenAdd,
  94. self.wake_suit_name,self.wake_suitNum,
  95. self.wake_suitName,self.wake_suitPro,
  96. self.wake_suitAdd,self.magic_skill_name,
  97. self.magic_skillName,self.magic_skillLevel,
  98. self.price_label
  99. = GetChildTexts(self.transform,
  100. {
  101. "normal/descCon/descLabel","normal/descCon/getWayLabel","normal/nameText",
  102. "normal/step_num","normal/composite_score","normal/equip_score",
  103. "normal/career_conta/career","normal/level","normal/career_conta/equip_pos","normal/fight",
  104. "normal/ScrollView/Viewport/Content/line1/Text","normal/ScrollView/Viewport/Content/baseName",
  105. "normal/ScrollView/Viewport/Content/basePro","normal/ScrollView/Viewport/Content/strengthAdd",
  106. "normal/ScrollView/Viewport/Content/line2/Text","normal/ScrollView/Viewport/Content/addName",
  107. "normal/ScrollView/Viewport/Content/addPro","normal/ScrollView/Viewport/Content/line5/Text",
  108. "normal/ScrollView/Viewport/Content/washName","normal/ScrollView/Viewport/Content/washPro",
  109. "normal/ScrollView/Viewport/Content/line6/Text","normal/ScrollView/Viewport/Content/spiritName",
  110. "normal/ScrollView/Viewport/Content/spiritPro","normal/ScrollView/Viewport/Content/line3/Text",
  111. "normal/ScrollView/Viewport/Content/line4/Text","normal/ScrollView/Viewport/Content/suitNum",
  112. "normal/ScrollView/Viewport/Content/suitName","normal/ScrollView/Viewport/Content/suitPro",
  113. "normal/ScrollView/Viewport/Content/suitNameList",
  114. "normal/ScrollView/Viewport/Content/line7/Text","normal/ScrollView/Viewport/Content/wakeBaseName",
  115. "normal/ScrollView/Viewport/Content/wakeBasePro","normal/ScrollView/Viewport/Content/wakeBaseAdd",
  116. "normal/ScrollView/Viewport/Content/line8/Text","normal/ScrollView/Viewport/Content/wakeStrenName",
  117. "normal/ScrollView/Viewport/Content/wakeStrenPro","normal/ScrollView/Viewport/Content/wakeStrenAdd",
  118. "normal/ScrollView/Viewport/Content/line9/Text","normal/ScrollView/Viewport/Content/wakeSuitNum",
  119. "normal/ScrollView/Viewport/Content/wakeSuitName","normal/ScrollView/Viewport/Content/wakeSuitPro",
  120. "normal/ScrollView/Viewport/Content/wakeSuitAdd","normal/ScrollView/Viewport/Content/line10/Text",
  121. "normal/ScrollView/Viewport/Content/magicSkillName","normal/ScrollView/Viewport/Content/magicSkillLevel",
  122. "normal/sell_conta/price_label"
  123. })
  124. self.stageBg,
  125. self.step_num_obj,
  126. self.text1_obj,
  127. self.text2_obj
  128. = GetChildGameObjects(self.transform,
  129. {
  130. "normal/stageBg",
  131. "normal/step_num",
  132. "normal/Text1",
  133. "normal/Text2",
  134. })
  135. self.careerName
  136. = GetChildTexts(self.transform,
  137. {
  138. "normal/career_conta/careerName",
  139. })
  140. self.careerName.text = "品质:"
  141. self.stageBg:SetActive(false)
  142. self.step_num_obj:SetActive(false)
  143. -- self.text1_obj:SetActive(false)
  144. self.text1_obj.transform:GetComponent("Text").text = "部位:"
  145. self.text2_obj.transform:GetComponent("Text").text = "评分:"
  146. -- self.equip_score.gameObject:SetActive(false)
  147. -- self.text2_obj:SetActive(false)
  148. self.icon_item = HorseBagIconItem.New(self.icon_con,false, self.layer_name)
  149. self.icon_item:ChangeCountVisible(false)
  150. -- self.level.gameObject:SetActive(false)
  151. self:InitEvent()
  152. if self.need_refresh then
  153. self:SetData(self.goods_vo, self.view_type)
  154. end
  155. end
  156. function HorseEquipCompareTips:InitEvent()
  157. --更新装备的战力
  158. local function onUpdateCombat(vo)
  159. if vo.goods_id == self.goods_vo.goods_id then
  160. self.level_vo = vo
  161. -- self:SetCombat(vo, self.view_type)
  162. if self.goods_vo then
  163. basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.goods_vo.type_id)
  164. end
  165. if basic then
  166. local base_pro = ErlangParser:GetInstance():Parse(basic.base_attrlist)
  167. self:SetProperty(base_pro, self.dynamic.stren, basic.equip_type)
  168. end
  169. self.composite_score.text = self:GetFightList(self.dynamic, basic)
  170. self:SetAddProperty(self.dynamic)
  171. self:RefreshPosAndSize(self.dynamic)
  172. end
  173. end
  174. self.update_equip_combat_id = self.horseModel:Bind(HorsePetEvent.SHOW_HORSE_UPGRADE, onUpdateCombat)
  175. end
  176. function HorseEquipCompareTips:SetData(goods_vo, view_type)
  177. self.goods_vo = goods_vo
  178. self.view_type = view_type
  179. -- self.horseModel:Fire(HorsePetEvent.REQUEST_HORSE_UPGRADE, self.goods_vo.cell)
  180. if self.goods_vo == nil then return print("EquipCompareTips里面没有物品数据") end
  181. if self.is_loaded then
  182. if self.goods_vo.goods_id then
  183. local callback = function (dynamic)
  184. if self.goods_vo.goods_id and dynamic and self.goods_vo.goods_id == dynamic.goods_id then
  185. self.dynamic = dynamic
  186. self.dynamic.stren = dynamic.stren or 0
  187. local stren = ""
  188. if dynamic.stren and dynamic.stren > 0 then
  189. stren = "+" ..dynamic.stren
  190. end
  191. -- self.nameText.text = "<color="..WordManager.GetGoodsColor(self.dynamic.color)..">" .. WordManager:GetEquipPrefixByColor(self.goods_vo.color) .. self.goods_vo.goods_name .. stren .. "</color>"
  192. -- local step_str = WordManager:GetEquipStepNum(self.goods_vo.type_id)
  193. -- self.step_num.text = "<color="..WordManager.GetGoodsColor(self.dynamic.color)..">" .. step_str .. "</color>"
  194. -- lua_resM:setImageSprite(self, self.step_bg, "uiComponent_asset", "tsui_pj_"..self.dynamic.color)
  195. -- lua_resM:setImageSprite(self, self.step_bg, "uiComponent_asset", "tsui_pj_"..WordManager:GetEquipStepOnlyNum(self.goods_vo.type_id))
  196. self.icon_item:SetData(self.goods_vo)
  197. -- self.composite_score.text = self.dynamic.overall_rating
  198. if self.view_type == 1 then -- 装备打造中 打造成功后的 装备对比
  199. lua_resM:setImageSprite(self, self.wear_icon, "uiComponent_asset", "tsui_dzq")
  200. -- self:SetCombat(nil, self.view_type)
  201. local basic = nil
  202. if self.goods_vo then
  203. basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.goods_vo.type_id)
  204. end
  205. if basic then
  206. local base_pro = ErlangParser:GetInstance():Parse(basic.base_attrlist)
  207. self:SetProperty(base_pro, dynamic.stren, basic.equip_type)
  208. end
  209. self.composite_score.text = self:GetFightList(self.dynamic, basic)
  210. else -- 装备穿着中 新的数据 和旧的数据的对比
  211. self.horseModel:Fire(HorsePetEvent.REQUEST_HORSE_UPGRADE, self.goods_vo.cell)
  212. end
  213. -- self.equip_score.text = self.dynamic.rating
  214. -- self.level.text = "<color=#ffffff>"..self.dynamic.rating.."</color>"
  215. self.equip_score.text = "<color=#ffffff>"..self.dynamic.rating.."</color>"
  216. -- local basic = nil
  217. -- if self.goods_vo then
  218. -- basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.goods_vo.type_id)
  219. -- end
  220. -- if basic then
  221. -- local base_pro = ErlangParser:GetInstance():Parse(basic.base_attrlist)
  222. -- self:SetProperty(base_pro, dynamic.stren, basic.equip_type)
  223. self.fight.text = dynamic.combat_power or 0
  224. -- end
  225. self:SetAddProperty(self.dynamic)
  226. self:RefreshPosAndSize(self.dynamic)
  227. -- self:SetWashProperty(self.dynamic)
  228. -- self:SetSpiritProperty(self.dynamic)
  229. -- if self.dynamic.suit_lv and self.dynamic.suit_lv > 0 then
  230. -- self:SetSuitProperty(self.dynamic, self.goods_vo.equip_type)
  231. -- end
  232. -- if self.dynamic.awakening_lv and self.dynamic.awakening_lv > 0 then
  233. -- self:SetWakeProperty(self.dynamic)
  234. -- end
  235. -- if self.dynamic.equip_skill_lv and self.dynamic.equip_skill_lv > 0 then
  236. -- self:SetMagicSKill(self.dynamic)
  237. -- end
  238. -- self:Refresh()
  239. --self:ShowReDot()
  240. end
  241. end
  242. GoodsModel:getInstance():GetDynamic(self.goods_vo.goods_id, callback)
  243. end
  244. local cfg = self.horseModel:GetHorseEquipAttrCfg(self.goods_vo.type_id)
  245. if cfg then
  246. local quality_cfg = Config.ConfigQualityName.HorseEquipQualityName[cfg.quality]
  247. if quality_cfg then
  248. self.career.text = quality_cfg.name
  249. end
  250. self.nameText.text = "<color="..WordManager.GetGoodsColor(cfg.quality)..">"..self.goods_vo.goods_name.."</color>"
  251. end
  252. local equip_info = self.horseModel:GetHorseEquipCfg()
  253. if cfg and equip_info then
  254. for k,v in pairs(equip_info) do
  255. if v and v.equip_type and cfg.pos and v.equip_type == cfg.pos then
  256. local str = Trim(v.pos_name)
  257. -- local str_arr = Split(self.goods_vo.goods_name, "·")
  258. -- self.level.text = str_arr[#str_arr]
  259. self.level.text = str
  260. end
  261. end
  262. end
  263. self:SetBtns()
  264. else
  265. self.need_refresh = true
  266. end
  267. end
  268. --设置战力 穿戴状态 打造完成后的旧数据状态
  269. function HorseEquipCompareTips:SetCombat(vo, view_type)
  270. if view_type then
  271. if view_type == 2 then --穿戴中的 战力显示为 评分加战力
  272. if vo then
  273. if not self.cell then
  274. self.cell = self.horseModel:GetEquipWearPos(self.goods_vo.type_id)
  275. end
  276. local cfg = self.horseModel:GetHorseEquipLvCfg(self.cell, vo.lv)
  277. if cfg then
  278. local grade = self.horseModel:GetHorseEquipAttrCfg(self.goods_vo.type_id).base_rating
  279. self.composite_score.text = cfg.combat + grade
  280. end
  281. end
  282. elseif view_type == 1 then --打造成功后的旧数据 直接显示为评分
  283. self.composite_score.text = self.horseModel:GetHorseEquipAttrCfg(self.goods_vo.type_id).base_rating
  284. end
  285. end
  286. end
  287. function HorseEquipCompareTips:GetFightList(dynamic, basic)
  288. local list = {}
  289. if basic then
  290. --基础属性
  291. local base_pro = ErlangParser:GetInstance():Parse(basic.base_attrlist)
  292. if self.view_type == 2 then --穿戴
  293. --升级
  294. local cfg = self.horseModel:GetHorseEquipLvCfg(self.goods_vo.cell, self.level_vo.lv)
  295. local equip_pro = ErlangParser:GetInstance():Parse(cfg.attr)
  296. for k,v in pairs(base_pro) do
  297. local next_attr = {}
  298. local next_prop = WordManager:GetPropertyValue(tonumber(v[1]),tonumber(v[2]))
  299. for i,j in pairs(equip_pro) do
  300. if tonumber(j[1]) == tonumber(v[1]) then
  301. next_prop = tonumber(next_prop) + tonumber(j[2])
  302. next_attr.attr_id = tonumber(v[1])
  303. next_attr.attr_val = next_prop
  304. end
  305. end
  306. table.insert(list, next_attr)
  307. end
  308. else
  309. for i,v in ipairs(base_pro) do
  310. table.insert(list,{attr_id = v[1],attr_val = v[2]})
  311. end
  312. end
  313. end
  314. --极品属性
  315. for i,v in ipairs(dynamic.equip_extra_attr) do
  316. table.insert(list,{attr_id = v.attr_id,attr_val = v.attr_val})
  317. end
  318. local AllProList = {}
  319. local tempList = {}
  320. local mainVo = RoleManager.Instance.mainRoleInfo
  321. for i,v in ipairs(list) do
  322. local cfg = Config.ConfigAttributeAddition[v.attr_id]
  323. if cfg then
  324. local val = v.attr_val * mainVo[cfg.baseAttrVo] / 10000
  325. table.insert(tempList,{attr_id = cfg.baseAttr,attr_val = val})
  326. else
  327. table.insert(AllProList,v)
  328. end
  329. end
  330. for i,v in ipairs(tempList) do
  331. table.insert(AllProList,v)
  332. end
  333. local endList = {}
  334. for i,v in ipairs(AllProList) do
  335. table.insert(endList,{[1] = v.attr_id,[2] = v.attr_val})
  336. end
  337. return GetFighting(endList)
  338. end
  339. --设置基础属性
  340. function HorseEquipCompareTips:SetProperty(base_pro, stren, pos)
  341. -- stren = stren or 0
  342. -- local stren_config = EquipModel:getInstance():GetStrengthConfig(pos, stren)
  343. local name_str = ""
  344. local pro_str = ""
  345. local stren_str = ""
  346. local prop
  347. -- local pro_list = {}
  348. -- if stren_config and Trim(stren_config.attr_list) ~= "[]" then
  349. -- pro_list = ErlangParser:GetInstance():Parse(stren_config.attr_list)
  350. -- end
  351. local equip_pro
  352. local next_equip_pro
  353. if self.view_type == 2 and self.level_vo then
  354. local cfg = self.horseModel:GetHorseEquipLvCfg(self.goods_vo.cell, self.level_vo.lv)
  355. equip_pro = ErlangParser:GetInstance():Parse(cfg.attr)
  356. -- next_equip_pro = ErlangParser:GetInstance():Parse(self.horseModel:GetHorseEquipLvCfg(self.goods_vo.cell, (self.level_vo.lv+1)).attr)
  357. end
  358. for i,v in ipairs(base_pro) do
  359. name_str = name_str .. WordManager:GetProperties(tonumber(v[1]))
  360. prop = WordManager:GetPropertyValue(tonumber(v[1]),tonumber(v[2]))
  361. if equip_pro and #equip_pro > 0 then
  362. for x,y in pairs(equip_pro) do
  363. if y[1] == v[1] then
  364. prop = tonumber(prop) + tonumber(y[2])
  365. stren_str = stren_str.."(强化+"..y[2]..")"
  366. end
  367. end
  368. end
  369. pro_str = pro_str.."+" .. prop--WordManager:GetPropertyValue(tonumber(v[1]),tonumber(v[2]))
  370. -- for i2, v2 in ipairs(pro_list) do
  371. -- if tonumber(v2[1]) == tonumber(v[1]) then
  372. -- stren_str = stren_str .. "(强化+" .. v2[2] .. ")"
  373. -- end
  374. -- end
  375. -- if self.view_type == 2 then
  376. -- stren_str = stren_str .. "(升级+" .. 0 .. ")"
  377. -- end
  378. if i < #base_pro then
  379. name_str = name_str.."\n"
  380. pro_str = pro_str.."\n"
  381. stren_str = stren_str.."\n"
  382. end
  383. end
  384. self.baseName.text = name_str
  385. self.basePro.text = pro_str
  386. self.strengthAdd.text = "<color="..ColorUtil.GREEN..">"..stren_str.."</color>"
  387. local off_y = 0
  388. local line_y = 39
  389. off_y = self.basePro.preferredHeight + 15
  390. SetSizeDelta(self.baseName.transform, self.baseName.transform.sizeDelta.x, off_y)
  391. SetSizeDelta(self.basePro.transform, self.basePro.transform.sizeDelta.x, off_y)
  392. SetSizeDelta(self.strengthAdd.transform, self.strengthAdd.transform.sizeDelta.x, off_y)
  393. end
  394. --设置附加属性
  395. function HorseEquipCompareTips:SetAddProperty(dynamic)
  396. if dynamic and dynamic.equip_extra_attr then
  397. local equip_extra_attr = nil
  398. equip_extra_attr = self.horseModel:SortEquipAttr(dynamic.equip_extra_attr)
  399. local name_str = ""
  400. local pro_str = ""
  401. if equip_extra_attr then
  402. for i,v in ipairs(equip_extra_attr) do
  403. if v.type_id == 1 then
  404. name_str = name_str .. "<color="..WordManager.GetGoodsColor(v.color)..">每"..v.plus_interval..""..WordManager:GetProperties(tonumber(v.attr_id)).."</color>"
  405. pro_str = pro_str .."<color="..WordManager.GetGoodsColor(v.color)..">+"..WordManager:GetPropertyValue(tonumber(v.attr_id), tonumber(v.plus_unit)) .. "</color>"
  406. else
  407. name_str = name_str .. "<color=" .. WordManager.GetGoodsColor(v.color) .. ">"..WordManager:GetProperties(tonumber(v.attr_id)).."</color>"
  408. pro_str = pro_str .. "<color="..WordManager.GetGoodsColor(v.color)..">+"..WordManager:GetPropertyValue(tonumber(v.attr_id), v.attr_val).."</color>"
  409. end
  410. if i < #equip_extra_attr then
  411. name_str = name_str .. "\n"
  412. pro_str = pro_str .. "\n"
  413. end
  414. end
  415. end
  416. self.addName.text = name_str
  417. self.addPro.text = pro_str
  418. SetSizeDelta(self.addName.transform, 130, self.addName.preferredHeight + 15)
  419. SetSizeDelta(self.addPro.transform, self.addPro.transform.sizeDelta.x, self.addPro.preferredHeight + 15)
  420. end
  421. end
  422. --按钮显示
  423. function HorseEquipCompareTips:SetBtns()
  424. self.line3.gameObject:SetActive(false)
  425. self.line4.gameObject:SetActive(false)
  426. self.line5.gameObject:SetActive(false)
  427. self.line6.gameObject:SetActive(false)
  428. self.line7.gameObject:SetActive(false)
  429. self.line8.gameObject:SetActive(false)
  430. self.line9.gameObject:SetActive(false)
  431. self.line10.gameObject:SetActive(false)
  432. self.washName.gameObject:SetActive(false)
  433. self.washPro.gameObject:SetActive(false)
  434. self.spiritName.gameObject:SetActive(false)
  435. self.spiritPro.gameObject:SetActive(false)
  436. self.stone_conta.gameObject:SetActive(false)
  437. self.suitNum.gameObject:SetActive(false)
  438. self.suitName.gameObject:SetActive(false)
  439. self.suitPro.gameObject:SetActive(false)
  440. self.suitNameList.gameObject:SetActive(false)
  441. self.wake_baseName.gameObject:SetActive(false)
  442. self.wake_basePro.gameObject:SetActive(false)
  443. self.wake_baseAdd.gameObject:SetActive(false)
  444. self.wake_strenName.gameObject:SetActive(false)
  445. self.wake_strenPro.gameObject:SetActive(false)
  446. self.wake_strenAdd.gameObject:SetActive(false)
  447. self.wake_suitNum.gameObject:SetActive(false)
  448. self.wake_suitName.gameObject:SetActive(false)
  449. self.wake_suitPro.gameObject:SetActive(false)
  450. self.wake_suitAdd.gameObject:SetActive(false)
  451. self.magic_skillName.gameObject:SetActive(false)
  452. self.magic_skillLevel.gameObject:SetActive(false)
  453. self.expired_label.gameObject:SetActive(false)
  454. self.descCon.gameObject:SetActive(false)
  455. end
  456. -- function HorseEquipCompareTips:SetCombat(vo)
  457. -- if vo then
  458. -- local cfg = self.horseModel:GetHorseEquipLvCfg(self.goods_vo.cell, vo.lv)
  459. -- if cfg then
  460. -- local grade = self.horseModel:GetHorseEquipAttrCfg(self.goods_vo.type_id).base_rating
  461. -- self.composite_score.text = cfg.combat + grade
  462. -- end
  463. -- end
  464. -- end
  465. --计算父物体大小
  466. function HorseEquipCompareTips:CalculateSize( dynamic )
  467. local off_y = 0
  468. local line_y = 39
  469. off_y = self.basePro.preferredHeight + 15
  470. off_y = off_y + line_y
  471. local show_add = false
  472. if dynamic and dynamic.equip_extra_attr and #dynamic.equip_extra_attr > 0 then
  473. show_add = true
  474. end
  475. if show_add then
  476. off_y = off_y + line_y
  477. off_y = off_y + self.addPro.preferredHeight + 10
  478. end
  479. SetSizeDelta(self.ScrollViewContent, self.ScrollViewContent.sizeDelta.x, off_y)
  480. end
  481. --更新各个控件的位置
  482. function HorseEquipCompareTips:RefreshPosAndSize(dynamic)
  483. self.gameObject:SetActive(true)
  484. self:CalculateSize(dynamic)
  485. -- SetSizeDelta(self.ScrollViewContent, 326, 184)
  486. local off_y = 0
  487. local line_y = 39
  488. off_y = self.basePro.preferredHeight + 15
  489. SetSizeDelta(self.baseName.transform, self.baseName.transform.sizeDelta.x, off_y)
  490. SetSizeDelta(self.basePro.transform, self.basePro.transform.sizeDelta.x, off_y)
  491. SetSizeDelta(self.strengthAdd.transform, self.strengthAdd.transform.sizeDelta.x, off_y)
  492. off_y = off_y + line_y
  493. local show_add = false
  494. if dynamic and dynamic.equip_extra_attr and #dynamic.equip_extra_attr > 0 then
  495. show_add = true
  496. end
  497. if show_add then
  498. self.line2.gameObject:SetActive(true)
  499. self.addName.gameObject:SetActive(true)
  500. self.addPro.gameObject:SetActive(true)
  501. self.line2.localPosition = Vector3(0, -off_y, 0)
  502. off_y = off_y + line_y
  503. SetSizeDelta(self.addName.transform, self.addName.transform.sizeDelta.x, self.addName.preferredHeight + 15)
  504. SetSizeDelta(self.addPro.transform, self.addPro.transform.sizeDelta.x, self.addPro.preferredHeight + 15)
  505. SetLocalPosition(self.addName.transform, self.addName.transform.localPosition.x, -off_y)
  506. SetLocalPosition(self.addPro.transform, self.addPro.transform.localPosition.x, -off_y)
  507. off_y = off_y + self.addPro.preferredHeight + 10
  508. else
  509. self.line2.gameObject:SetActive(false)
  510. self.addName.gameObject:SetActive(false)
  511. self.addPro.gameObject:SetActive(false)
  512. end
  513. SetSizeDelta(self.ScrollViewContent, self.ScrollViewContent.sizeDelta.x, off_y)
  514. SetSizeDelta(self.ScrollView, self.ScrollView.sizeDelta.x, off_y)
  515. SetSizeDelta(self.ScrollViewViewport, self.ScrollViewViewport.sizeDelta.x, off_y)
  516. SetSizeDelta(self.bg, self.bg.sizeDelta.x, off_y - self.ScrollView.localPosition.y + 15)
  517. end