源战役客户端
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

84 wiersze
2.4 KiB

4 tygodni temu
  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 圣物系统奖励预览界面子节点
  4. -- *>
  5. PsionicDrawPreviewItem = PsionicDrawPreviewItem or BaseClass(BaseItem)
  6. local PsionicDrawPreviewItem = PsionicDrawPreviewItem
  7. function PsionicDrawPreviewItem:__init(parent_wnd,prefab_asset,layer_name)
  8. self.base_file = "psionic"
  9. self.layout_file = "PsionicDrawPreviewItem"
  10. self.parent_wnd = parent_wnd
  11. self.layer_name = layer_name
  12. self.height = 0
  13. self.model = PsionicModel:getInstance()
  14. self:Load()
  15. end
  16. function PsionicDrawPreviewItem:Load_callback()
  17. local nodes = {
  18. "title_con:obj",
  19. "title_con/title_lb:tmp",
  20. "item_con:obj",
  21. }
  22. self:GetChildren(nodes)
  23. self:AddEvents()
  24. if self.need_refreshData then
  25. self:UpdateView()
  26. end
  27. end
  28. function PsionicDrawPreviewItem:AddEvents( )
  29. end
  30. function PsionicDrawPreviewItem:SetData( data )
  31. self.data = data
  32. if self.is_loaded then
  33. self.need_refreshData = false
  34. self:UpdateView()
  35. else
  36. self.need_refreshData = true
  37. end
  38. return self.height
  39. end
  40. function PsionicDrawPreviewItem:UpdateView( )
  41. if self.data then
  42. if self.data.title then
  43. self.title_con_obj:SetActive(true)
  44. self.title_lb_tmp.text = self.data.title
  45. self.height = 36
  46. elseif self.data.reward then
  47. self.title_con_obj:SetActive(false)
  48. self.height = math.ceil(#self.data.reward / 6) * 76
  49. SetSizeDelta(self.item_con, 6 * 76 + 6, self.height)
  50. self.reward_item_creator = self.reward_item_creator or self:AddUIComponent(UI.ItemListCreator)
  51. local info = {
  52. data_list = self.data.reward,
  53. scroll_view = self.item_con,
  54. item_con = self.item_con,
  55. obj_pool_type = UIObjPool.UIType.AwardItem,
  56. item_width = 62,
  57. item_height = 62,
  58. start_x = 6,
  59. start_y = -4.5,
  60. space_x = 14,
  61. space_y = 14,
  62. create_frequency = 0.01,
  63. alignment = UnityEngine.TextAnchor.UpperLeft,
  64. on_update_item = function(item, i, v)
  65. item:SetItemSize(62, 62)
  66. item:SetData(v[2])
  67. end,
  68. }
  69. self.reward_item_creator:UpdateItems(info)
  70. end
  71. end
  72. end
  73. function PsionicDrawPreviewItem:__delete( )
  74. end