源战役客户端
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

61 行
1.9 KiB

  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 跨服社团排行场景内采集buff道具信息节点
  4. -- *>
  5. GuildCSGRSceneBuffItem = GuildCSGRSceneBuffItem or BaseClass(BaseItem)
  6. local GuildCSGRSceneBuffItem = GuildCSGRSceneBuffItem
  7. function GuildCSGRSceneBuffItem:__init(parent_wnd,prefab_asset,layer_name)
  8. self.base_file = "guildCSGR"
  9. self.layout_file = "GuildCSGRSceneBuffItem"
  10. self.parent_wnd = parent_wnd
  11. self.layer_name = layer_name
  12. self.model = GuildModel:getInstance()
  13. self:Load()
  14. end
  15. function GuildCSGRSceneBuffItem:Load_callback()
  16. local nodes = {
  17. "buff_icon:img",
  18. "effect_desc:txt", "left_num:txt",
  19. }
  20. self:GetChildren(nodes)
  21. self:AddEvents()
  22. if self.need_refreshData then
  23. self:UpdateView()
  24. end
  25. end
  26. function GuildCSGRSceneBuffItem:AddEvents( )
  27. local function update_buff_num()
  28. self:UpdateView()
  29. end
  30. self:BindEvent(self.model, GuildModel.UPDATE_CSGR_COLLECTBUFF, update_buff_num)
  31. end
  32. function GuildCSGRSceneBuffItem:SetData( data )
  33. self.data = data
  34. if self.is_loaded then
  35. self.need_refreshData = false
  36. self:UpdateView()
  37. else
  38. self.need_refreshData = true
  39. end
  40. end
  41. function GuildCSGRSceneBuffItem:UpdateView( )
  42. if self.data then
  43. lua_resM:setImageSprite(self, self.buff_icon_img, "guildCSGR_asset", "csgr_attr_"..self.data[1])
  44. local buff_data = self.model:GetCSGRCollectBuffs(self.data[1])
  45. local attr_name = WordManager:GetProperties(self.data[2])
  46. local attr_val = WordManager:GetPropertyValue(self.data[2], self.data[3] * (buff_data and buff_data.num or 0))
  47. self.effect_desc_txt.text = string.format("%s:<color=%s>%s</color>", attr_name, ColorUtil.GREEN_DARK, attr_val)
  48. self.left_num_txt.text = string.format("物资数量:<color=%s>%s</color>", ColorUtil.GREEN_DARK, buff_data and buff_data.num or 0)
  49. end
  50. end
  51. function GuildCSGRSceneBuffItem:__delete( )
  52. end