源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
3.1 KiB

  1. PetSupportChooseItem = PetSupportChooseItem or BaseClass(BaseItem)
  2. local PetSupportChooseItem = PetSupportChooseItem
  3. function PetSupportChooseItem:__init()
  4. self.base_file = "pet"
  5. self.layout_file = "PetSupportChooseItem"
  6. self.model = PetModel:getInstance()
  7. self:Load()
  8. end
  9. function PetSupportChooseItem:Load_callback()
  10. self.nodes = {
  11. "supportType:img","raceIcon:img","petIcon:img","rareBg:img",
  12. "name:tmp","fight:txt","petLv:tmp",
  13. "starCon/star1:img","starCon/star5:img","starCon/star3:img","starCon/star2:img","starCon/star4:img",
  14. "bg:obj:img","bg2:img",
  15. }
  16. self:GetChildren(self.nodes)
  17. lua_resM:setImageSprite(self, self.bg_img, "petExtra_asset","pet_support_choose_item_bg")
  18. self:AddEvents()
  19. if self.need_refreshData then
  20. self:UpdateView()
  21. end
  22. end
  23. function PetSupportChooseItem:AddEvents( )
  24. local on_click = function ( click_obj )
  25. if self.bg_obj == click_obj then
  26. self.click_callback(self.data)
  27. end
  28. end
  29. AddClickEvent(self.bg_obj, on_click,LuaSoundManager.SOUND_UI.NONE)
  30. end
  31. function PetSupportChooseItem:UpdateView( )
  32. --名字
  33. self.name_tmp.text = Trim(self.cfg.pet_name)
  34. --战力
  35. self.fight_txt.text = self.model:GetPetFightById(self.data.pet_id)
  36. --等级
  37. self.petLv_tmp.text = "LV."..self.data.pet_lv
  38. --稀有度bg
  39. lua_resM:setImageSprite(self,self.rareBg_img,"pet_asset","pet_rare_"..self.cfg.rare_degree)
  40. lua_resM:setImageSprite(self,self.bg2_img,"pet_asset","pet_rare_bg_"..self.cfg.rare_degree)
  41. --种族icon
  42. lua_resM:setImageSprite(self, self.raceIcon_img, "pet_asset", "pet_race_"..self.cfg.pet_race,true)
  43. --宠物icon
  44. lua_resM:setOutsideImageSprite(self, self.petIcon_img, GameResPath.GetPetImage("pet_"..self.cfg.pet_id.."_"..self.data.pet_stage),false)
  45. --声援类型
  46. local support_data = self.model:GetPetSupportDataByPetId(self.data.pet_id)
  47. if not support_data then
  48. lua_resM:setImageSprite(self, self.supportType_img, "pet_asset", "pet_support_choose_type_4",true)
  49. else
  50. if support_data.support_slot == 1 then
  51. lua_resM:setImageSprite(self, self.supportType_img, "pet_asset", "pet_support_choose_type_1",true)
  52. elseif support_data.support_slot == 2 or support_data.support_slot == 3 then
  53. lua_resM:setImageSprite(self, self.supportType_img, "pet_asset", "pet_support_choose_type_3",true)
  54. else
  55. lua_resM:setImageSprite(self, self.supportType_img, "pet_asset", "pet_support_choose_type_2",true)
  56. end
  57. end
  58. --星数
  59. local max_star = self.model:GetMaxStarInStage(self.data.pet_id,self.data.pet_star)
  60. local show_star = self.model:GetNowShowPetStar(self.data.pet_star)
  61. for i=1,show_star do
  62. lua_resM:setImageSprite(self, self["star"..i.."_img"], "pet_asset", PetConst.stage_message[self.data.pet_stage].star_res,true)
  63. self["star"..i.."_img"].gameObject:SetActive(true)
  64. end
  65. for i=show_star+1,max_star do
  66. self["star"..i.."_img"].gameObject:SetActive(false)
  67. end
  68. end
  69. function PetSupportChooseItem:SetData(data,click_callback)
  70. self.data = data
  71. self.click_callback = click_callback
  72. self.cfg = self.model:GetPetCfg(self.data.pet_id, self.data.pet_star)
  73. if self.is_loaded then
  74. self.need_refreshData = false
  75. self:UpdateView()
  76. else
  77. self.need_refreshData = true
  78. end
  79. end
  80. function PetSupportChooseItem:__delete( )
  81. end