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

96 lines
2.9 KiB

пре 1 месец
  1. --[[
  2. <*
  3. @Author: Saber
  4. @Description:
  5. *>
  6. ]]
  7. GuildPositionApplyView = GuildPositionApplyView or BaseClass(BaseView)
  8. local GuildPositionApplyView = GuildPositionApplyView
  9. function GuildPositionApplyView:__init()
  10. self.base_file = "guild"
  11. self.layout_file = "GuildPositionApplyView"
  12. self.layer_name = "Activity"
  13. self.destroy_imm = true
  14. self.use_background = true --全屏界面默认使用这个参数
  15. self.change_scene_close = true --是否切换场景时关闭(弹出界面使用)
  16. self.model = GuildModel:getInstance()
  17. self.model:Fire(GuildModel.REQUEST_CCMD_EVENT, 40023) -- 请求职位情况
  18. self.apply_item_list = {} -- 可申请职位item节点
  19. self.target_pos = 0 -- 默认没选中节点
  20. -- self.can_apply_agency = false -- 是否可申请代理社长
  21. -- 界面中可申请的职位
  22. self.show_positions = {
  23. [1] = {pos = GuildModel.GuildPosition.ViceLeader},
  24. [2] = {pos = GuildModel.GuildPosition.Teasure},
  25. [3] = {pos = GuildModel.GuildPosition.Elite}
  26. }
  27. self.load_callback = function ()
  28. self:LoadSuccess()
  29. self:AddEvent()
  30. end
  31. self.open_callback = function ( )
  32. self:UpdateView()
  33. end
  34. self.destroy_callback = function ( )
  35. self:DestroySuccess()
  36. end
  37. end
  38. function GuildPositionApplyView:Open( )
  39. --self.data = data
  40. BaseView.Open(self)
  41. end
  42. function GuildPositionApplyView:LoadSuccess()
  43. local nodes = {
  44. "content",
  45. "content/apply_con",
  46. }
  47. self:GetChildren(nodes)
  48. local function close_callback()
  49. self:Close()
  50. end
  51. self.tabWindowComponent = UITabWindow.New(self.transform, {}, nil, close_callback, self.background_wnd, self.content, UITabWindow.SizeSmallNoTab, nil, nil, false)
  52. self.tabWindowComponent:SetTitleText("职位申请")
  53. self.tabWindowComponent:SetBackgroundRes("default_bg_6")
  54. end
  55. function GuildPositionApplyView:AddEvent()
  56. local function refresh_pos_num()
  57. self:UpdateView()
  58. end
  59. self:BindEvent(self.model, GuildModel.RefreshPostNumEvt, refresh_pos_num)
  60. end
  61. function GuildPositionApplyView:UpdateView()
  62. self:UpdateApplyPosItem()
  63. end
  64. -- 创建可申请职位节点
  65. function GuildPositionApplyView:UpdateApplyPosItem()
  66. local item
  67. for k, v in ipairs(self.show_positions) do
  68. item = self.apply_item_list[k]
  69. if not item then
  70. item = GuildPositionApplyItem.New(self.apply_con)
  71. self.apply_item_list[k] = item
  72. end
  73. item:SetAnchoredPosition((k-1) * 311, 0)
  74. item:SetData(v, k < #self.show_positions)
  75. end
  76. end
  77. function GuildPositionApplyView:DestroySuccess( )
  78. for k, v in pairs(self.apply_item_list) do
  79. v:DeleteMe()
  80. v = nil
  81. end
  82. self.apply_item_list = nil
  83. if self.tabWindowComponent then
  84. self.tabWindowComponent:DeleteMe()
  85. self.tabWindowComponent = nil
  86. end
  87. end