源战役客户端
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.

121 line
4.0 KiB

  1. PetSupportRankView = PetSupportRankView or BaseClass(BaseView)
  2. local PetSupportRankView = PetSupportRankView
  3. function PetSupportRankView:__init()
  4. self.base_file = "pet"
  5. self.layout_file = "PetSupportRankView"
  6. self.layer_name = "Activity"
  7. self.destroy_imm = true
  8. self.use_background = true
  9. self.change_scene_close = true
  10. self.hide_maincancas = false --是否隐藏主界面
  11. self.append_to_ctl_queue = false --是否要添加进界面堆栈
  12. self.need_show_money = false --是否要显示顶部的金钱栏
  13. self.is_set_zdepth = true
  14. self.blur_activity_bg = true
  15. -- self.use_show_anim = true
  16. -- self.use_hide_anim = true
  17. self.model = PetModel:getInstance()
  18. self.load_callback = function ()
  19. self:LoadSuccess()
  20. self:AddEvent()
  21. end
  22. self.open_callback = function ( )
  23. self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16309)--请求声援排行榜信息
  24. end
  25. self.destroy_callback = function ( )
  26. self:DestroySuccess()
  27. end
  28. end
  29. function PetSupportRankView:Open()
  30. BaseView.Open(self)
  31. end
  32. function PetSupportRankView:LoadSuccess()
  33. local nodes = {
  34. "shareBtn:obj",
  35. "ScrollView","ScrollView/Viewport/Content",
  36. "doubtBtn:obj",
  37. "empty/girl:raw",
  38. "empty:obj",
  39. "tips1:tmp", "tips2:tmp",
  40. "empty/image:raw",
  41. }
  42. self:GetChildren(nodes)
  43. self.tips1_tmp.text = "每日榜上前三名宠物的主人可获得 <#fdffc2>(专属绝版限时称号)</color>"
  44. self.tips2_tmp.text = "全服玩家都可领取前三大神的 <#fdffc2>专属红包</color>"
  45. local close_callback = function()
  46. self:Close()
  47. end
  48. self.tabWindowComponent = UITabWindow.New(self.transform, nil, nil, close_callback, self.background_wnd,
  49. self.transform,UITabWindow.SizeSmallNoTab,nil,nil,false)
  50. self.tabWindowComponent:SetBackgroundRes("pet_support_rank_bg")
  51. self.tabWindowComponent:SetTitleText("每日奖励")
  52. lua_resM:setOutsideRawImage(self, self.girl_raw, GameResPath.GetRoleBg("com_empty_dialogueGirl1_590x560"), false)
  53. lua_resM:setOutsideRawImage(self, self.image_raw, GameResPath.GetViewBigBg("com_empty_bg1"))
  54. end
  55. function PetSupportRankView:AddEvent()
  56. local on_click = function ( click_obj )
  57. if self.doubtBtn_obj == click_obj then
  58. EventSystem.Fire(GlobalEventSystem,EventName.OPEN_INSTRUCTION_VIEW, 16304)
  59. elseif self.shareBtn_obj == click_obj then
  60. local content = "宠物人气榜新鲜出炉,大家快来看看吧<a@showPetRank><color=#2cf89a>[点击前往]</color></a>"
  61. ChatModel:getInstance():Fire(ChatModel.SEND_MSG,ChatModel.CHANNEL_WORLD,content,nil,nil,ChatModel.CHAT_COMMON_TYPE.SYSTEM)
  62. Message.show("已分享至世界频道!","success")
  63. end
  64. end
  65. AddClickEvent(self.doubtBtn_obj, on_click,LuaSoundManager.SOUND_UI.NONE)
  66. AddClickEvent(self.shareBtn_obj, on_click,LuaSoundManager.SOUND_UI.NONE)
  67. local function onUpdateView()
  68. self:UpdateView()
  69. end
  70. self:BindEvent(self.model, PetConst.UPDATE_PET_SUPPORT_RANK_VIEW, onUpdateView)
  71. end
  72. function PetSupportRankView:UpdateView()
  73. local rank_data = self.model:GetRankData()
  74. local is_empty = #rank_data == 0
  75. self.empty_obj:SetActive(is_empty)
  76. self.shareBtn_obj:SetActive(not is_empty)
  77. -- if is_empty then
  78. -- self.tips1_tmp.text = ""
  79. -- self.tips2_tmp.text = ""
  80. -- else
  81. -- self.tips1_tmp.text = "每日榜上前三名宠物的主人可获得 <#fdffc2>(专属绝版限时称号)</color>"
  82. -- self.tips2_tmp.text = "全服玩家都可领取前三大神的 <#fdffc2>专属红包</color>"
  83. -- end
  84. if not self.item_list_com then
  85. self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
  86. end
  87. self.item_list_com:Reset()
  88. local info = {
  89. data_list = rank_data,
  90. item_con = self.Content,
  91. item_class = PetSupportRankItem,
  92. item_height = 111,
  93. space_y = 4,
  94. start_x = 2.5,
  95. start_y = -2.5,
  96. scroll_view = self.ScrollView,
  97. create_frequency = 0.01,
  98. on_update_item = function(item, i, v)
  99. item:SetData(v)
  100. end,
  101. }
  102. self.item_list_com:UpdateItems(info)
  103. end
  104. function PetSupportRankView:DestroySuccess( )
  105. if self.tabWindowComponent then
  106. self.tabWindowComponent:DeleteMe()
  107. self.tabWindowComponent = nil
  108. end
  109. end