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

63 lines
1.6 KiB

  1. --<*
  2. -- @Author: Saber
  3. -- @Description: 社团商城界面
  4. --*>
  5. GuildShopView = GuildShopView or BaseClass(BaseItem)
  6. local GuildShopView = GuildShopView
  7. function GuildShopView:__init(parent_wnd,prefab_asset,layer_name)
  8. self.base_file = "guild"
  9. self.layout_file = "GuildShopView"
  10. self.parent_wnd = parent_wnd
  11. self.layer_name = layer_name
  12. self.model = GuildModel:getInstance()
  13. -- 请求商品信息
  14. self.model:Fire(GuildModel.REQUEST_CCMD_EVENT,40027)
  15. self:Load()
  16. end
  17. function GuildShopView:Load_callback()
  18. self.nodes = {
  19. "left/girl_bg:raw",
  20. "right/shop_scroll", "right/shop_scroll/Viewport/shop_con",
  21. }
  22. self:GetChildren(self.nodes)
  23. lua_resM:setOutsideRawImage(self, self.girl_bg_raw, GameResPath.GetRoleBg("guild_shop_428_729"), false)
  24. self:AddEvents()
  25. self:UpdateView()
  26. end
  27. function GuildShopView:AddEvents( )
  28. local function update_shop_list()
  29. self:UpdateView()
  30. end
  31. self:BindEvent(self.model, GuildModel.UPDATE_GOODS_LIST, update_shop_list)
  32. end
  33. function GuildShopView:UpdateView( )
  34. local goods_list = self.model:GetGuildShopGoodsList()
  35. self.shop_item_creator = self.shop_item_creator or self:AddUIComponent(UI.ItemListCreator)
  36. local info = {
  37. data_list = goods_list,
  38. item_con = self.shop_con,
  39. scroll_view = self.shop_scroll,
  40. item_class = GuildShopItem,
  41. item_width = 180,
  42. item_height = 214,
  43. space_x = 18,
  44. space_y = 11.5,
  45. start_y = -23.5,
  46. create_frequency = 0.01,
  47. reuse_item_num = 12,
  48. on_update_item = function(item, i, v)
  49. item:SetData(v)
  50. end,
  51. }
  52. self.shop_item_creator:UpdateItems(info)
  53. end
  54. function GuildShopView:__delete( )
  55. end