源战役客户端
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

104 lignes
2.8 KiB

il y a 4 semaines
  1. PetSupportChoosePetView = PetSupportChoosePetView or BaseClass(BaseView)
  2. local PetSupportChoosePetView = PetSupportChoosePetView
  3. function PetSupportChoosePetView:__init()
  4. self.base_file = "pet"
  5. self.layout_file = "PetSupportChoosePetView"
  6. self.layer_name = "Activity"
  7. self.destroy_imm = true
  8. self.use_background = true
  9. self.change_scene_close = true
  10. self.append_to_ctl_queue = false --是否要添加进界面堆栈
  11. self.need_show_money = false --是否要显示顶部的金钱栏
  12. self.is_set_zdepth = true
  13. self.blur_activity_bg = true
  14. -- self.use_show_anim = true
  15. -- self.use_hide_anim = true
  16. self.model = PetModel:getInstance()
  17. self.load_callback = function ()
  18. self:LoadSuccess()
  19. self:AddEvent()
  20. end
  21. self.open_callback = function ( )
  22. self:OpenSuccess()
  23. end
  24. self.destroy_callback = function ( )
  25. self:DestroySuccess()
  26. end
  27. end
  28. function PetSupportChoosePetView:Open(support_slot)
  29. self.support_slot = support_slot
  30. BaseView.Open(self)
  31. end
  32. function PetSupportChoosePetView:LoadSuccess()
  33. local nodes = {
  34. "ScrollView","ScrollView/Viewport/Content",
  35. "empty/girl:raw","empty:obj",
  36. }
  37. self:GetChildren(nodes)
  38. local close_callback = function()
  39. self:Close()
  40. end
  41. self.tabWindowComponent = UITabWindow.New(self.transform, nil, nil, close_callback, self.background_wnd,
  42. self.transform,UITabWindow.SizeSmallNoTab,nil,nil,nil)
  43. self.tabWindowComponent:SetBackgroundRes("WindowNew2_bg")
  44. self.tabWindowComponent:SetTitleText("选择宠物上阵")
  45. lua_resM:setOutsideRawImage(self, self.girl_raw, GameResPath.GetRoleBg("team_empty_bg_267_589"), false)
  46. end
  47. function PetSupportChoosePetView:AddEvent()
  48. end
  49. function PetSupportChoosePetView:OpenSuccess()
  50. self:UpdateView()
  51. end
  52. function PetSupportChoosePetView:UpdateView()
  53. self:UpdatePetScrollView()
  54. end
  55. function PetSupportChoosePetView:UpdatePetScrollView()
  56. local pet_list = self.model:GetPetListAfterSort()
  57. self.empty_obj:SetActive(#pet_list == 0)
  58. --petitem的点击回调函数 --data追溯至16301协议
  59. local function click_callback(data)
  60. --请求宠物上阵协议
  61. self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16308,data.pet_id, self.support_slot)
  62. self:Close()
  63. end
  64. if not self.item_list_com then
  65. self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
  66. end
  67. local info = {
  68. data_list = pet_list,
  69. item_con = self.Content,
  70. item_class = PetSupportChooseItem,
  71. item_width = 450,
  72. item_height = 119,
  73. space_x = 8,
  74. space_y = 4,
  75. start_x = 6,
  76. start_y = -4.5,
  77. scroll_view = self.ScrollView,
  78. create_frequency = 0.01,
  79. on_update_item = function(item, i, v)
  80. item:SetData(v,click_callback)
  81. end,
  82. }
  83. self.item_list_com:UpdateItems(info)
  84. end
  85. function PetSupportChoosePetView:DestroySuccess( )
  86. if self.tabWindowComponent then
  87. self.tabWindowComponent:DeleteMe()
  88. self.tabWindowComponent = nil
  89. end
  90. end