源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

162 行
3.9 KiB

  1. BlockSettingView = BlockSettingView or BaseClass(BaseItem)
  2. -- 挂机设置界面
  3. function BlockSettingView:__init(parent)
  4. self.base_file = "setting"
  5. self.layout_file = "BlockSettingView"
  6. self.block_item_list = {}
  7. self.block_item_list_2 = {}
  8. self.block_list = {}
  9. self.block_list_2 = {}
  10. self.model = GameSettingModel:GetInstance()
  11. self:Load()
  12. end
  13. function BlockSettingView:Load_callback()
  14. self:LoadSuccess()
  15. self:InitEvent()
  16. end
  17. function BlockSettingView:LoadSuccess()
  18. self.block_con = self:GetChild("block_con")
  19. self.block_con_2 = self:GetChild("block_con_2")
  20. self.help_btn = self:GetChild("help_btn").gameObject
  21. self:InitBlockItem()
  22. if self.need_refreshData then
  23. self:SetData()
  24. end
  25. end
  26. function BlockSettingView:InitBlockItem()
  27. for k,v in pairs(Config.ConfigBlockSetting.Blocklist) do
  28. if v.id <= 6 then
  29. table.insert(self.block_list,v)
  30. else
  31. table.insert(self.block_list_2,v)
  32. end
  33. end
  34. if self.block_list == nil or #self.block_list == 0 then return end
  35. if self.block_list_2 == nil or #self.block_list_2 == 0 then return end
  36. local item
  37. local call_back = function(symbol,state)
  38. self:SetBlock(symbol,state)
  39. end
  40. for i,v in pairs(self.block_list) do
  41. if self.block_item_list[i] == nil then
  42. item = BlockSettingItem.New(self.block_con)
  43. self.block_item_list[i] = item
  44. end
  45. item = self.block_item_list[i]
  46. item:SetData(v,call_back)
  47. end
  48. for i,v in pairs(self.block_list_2) do
  49. if self.block_item_list_2[i] == nil then
  50. item = BlockSettingItem.New(self.block_con_2)
  51. self.block_item_list_2[i] = item
  52. end
  53. item = self.block_item_list_2[i]
  54. item:SetData(v,call_back)
  55. end
  56. end
  57. function BlockSettingView:SetBlock(symbol,state)
  58. lua_settingM:SetBlockProperty(symbol,state)
  59. CookieWrapper.Instance:WriteAll()
  60. end
  61. function BlockSettingView:InitEvent()
  62. local on_click = function ( click_obj )
  63. if self.help_btn == click_obj then
  64. EventSystem.Fire(GlobalEventSystem,EventName.OPEN_INSTRUCTION_VIEW, "102@2")
  65. end
  66. end
  67. AddClickEvent(self.help_btn, on_click)
  68. local function return_default(cur_index)
  69. if not self.is_loaded then return end
  70. if cur_index == GameSettingModel.TabData.BLOCK then
  71. self:ReturnDefault()
  72. end
  73. end
  74. self:BindEvent(GameSettingModel:GetInstance(), GameSettingModel.RETURN_ALL_DEFAULT, return_default)
  75. end
  76. function BlockSettingView:SetData()
  77. if self.is_loaded then
  78. self:SetBlockData()
  79. self.need_refreshData = false
  80. else
  81. self.need_refreshData = true
  82. end
  83. end
  84. function BlockSettingView:SetBlockData()
  85. if self.block_list == nil then return end
  86. local state
  87. if self.block_list_2 == nil then return end
  88. local state_2
  89. for i,v in pairs(self.block_list) do
  90. if self.block_item_list[i] then
  91. state = lua_settingM:GetBlockProperty(v.block_str)
  92. self.block_item_list[i]:SetState(state)
  93. end
  94. end
  95. for i,v in pairs(self.block_list_2) do
  96. if self.block_item_list_2[i] then
  97. state_2 = lua_settingM:GetBlockProperty(v.block_str)
  98. self.block_item_list_2[i]:SetState(state_2)
  99. end
  100. end
  101. end
  102. function BlockSettingView:__delete()
  103. -- 界面销毁
  104. for i,item in pairs(self.block_item_list) do
  105. item:DeleteMe()
  106. item = nil
  107. end
  108. self.block_item_list = {}
  109. for i,item in pairs(self.block_item_list_2) do
  110. item:DeleteMe()
  111. item = nil
  112. end
  113. self.block_item_list_2 = {}
  114. end
  115. function BlockSettingView:ReturnDefault()
  116. -- 屏蔽设置
  117. if self.block_list == nil then return end
  118. local state
  119. if self.block_list_2 == nil then return end
  120. local state_2
  121. for i,v in ipairs(self.block_list) do
  122. if self.block_item_list[i] then
  123. state = lua_settingM:GetBlockDefualt(v.block_str)
  124. self.block_item_list[i]:SetState(state)
  125. lua_settingM:SetBlockProperty(v.block_str,lua_settingM:GetBlockDefualt(v.block_str))
  126. end
  127. end
  128. for i,v in ipairs(self.block_list_2) do
  129. if self.block_item_list_2[i] then
  130. state_2 = lua_settingM:GetBlockDefualt(v.block_str)
  131. self.block_item_list_2[i]:SetState(state_2)
  132. lua_settingM:SetBlockProperty(v.block_str,lua_settingM:GetBlockDefualt(v.block_str))
  133. end
  134. end
  135. end