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

162 行
3.9 KiB

BlockSettingView = BlockSettingView or BaseClass(BaseItem)
-- 挂机设置界面
function BlockSettingView:__init(parent)
self.base_file = "setting"
self.layout_file = "BlockSettingView"
self.block_item_list = {}
self.block_item_list_2 = {}
self.block_list = {}
self.block_list_2 = {}
self.model = GameSettingModel:GetInstance()
self:Load()
end
function BlockSettingView:Load_callback()
self:LoadSuccess()
self:InitEvent()
end
function BlockSettingView:LoadSuccess()
self.block_con = self:GetChild("block_con")
self.block_con_2 = self:GetChild("block_con_2")
self.help_btn = self:GetChild("help_btn").gameObject
self:InitBlockItem()
if self.need_refreshData then
self:SetData()
end
end
function BlockSettingView:InitBlockItem()
for k,v in pairs(Config.ConfigBlockSetting.Blocklist) do
if v.id <= 6 then
table.insert(self.block_list,v)
else
table.insert(self.block_list_2,v)
end
end
if self.block_list == nil or #self.block_list == 0 then return end
if self.block_list_2 == nil or #self.block_list_2 == 0 then return end
local item
local call_back = function(symbol,state)
self:SetBlock(symbol,state)
end
for i,v in pairs(self.block_list) do
if self.block_item_list[i] == nil then
item = BlockSettingItem.New(self.block_con)
self.block_item_list[i] = item
end
item = self.block_item_list[i]
item:SetData(v,call_back)
end
for i,v in pairs(self.block_list_2) do
if self.block_item_list_2[i] == nil then
item = BlockSettingItem.New(self.block_con_2)
self.block_item_list_2[i] = item
end
item = self.block_item_list_2[i]
item:SetData(v,call_back)
end
end
function BlockSettingView:SetBlock(symbol,state)
lua_settingM:SetBlockProperty(symbol,state)
CookieWrapper.Instance:WriteAll()
end
function BlockSettingView:InitEvent()
local on_click = function ( click_obj )
if self.help_btn == click_obj then
EventSystem.Fire(GlobalEventSystem,EventName.OPEN_INSTRUCTION_VIEW, "102@2")
end
end
AddClickEvent(self.help_btn, on_click)
local function return_default(cur_index)
if not self.is_loaded then return end
if cur_index == GameSettingModel.TabData.BLOCK then
self:ReturnDefault()
end
end
self:BindEvent(GameSettingModel:GetInstance(), GameSettingModel.RETURN_ALL_DEFAULT, return_default)
end
function BlockSettingView:SetData()
if self.is_loaded then
self:SetBlockData()
self.need_refreshData = false
else
self.need_refreshData = true
end
end
function BlockSettingView:SetBlockData()
if self.block_list == nil then return end
local state
if self.block_list_2 == nil then return end
local state_2
for i,v in pairs(self.block_list) do
if self.block_item_list[i] then
state = lua_settingM:GetBlockProperty(v.block_str)
self.block_item_list[i]:SetState(state)
end
end
for i,v in pairs(self.block_list_2) do
if self.block_item_list_2[i] then
state_2 = lua_settingM:GetBlockProperty(v.block_str)
self.block_item_list_2[i]:SetState(state_2)
end
end
end
function BlockSettingView:__delete()
-- 界面销毁
for i,item in pairs(self.block_item_list) do
item:DeleteMe()
item = nil
end
self.block_item_list = {}
for i,item in pairs(self.block_item_list_2) do
item:DeleteMe()
item = nil
end
self.block_item_list_2 = {}
end
function BlockSettingView:ReturnDefault()
-- 屏蔽设置
if self.block_list == nil then return end
local state
if self.block_list_2 == nil then return end
local state_2
for i,v in ipairs(self.block_list) do
if self.block_item_list[i] then
state = lua_settingM:GetBlockDefualt(v.block_str)
self.block_item_list[i]:SetState(state)
lua_settingM:SetBlockProperty(v.block_str,lua_settingM:GetBlockDefualt(v.block_str))
end
end
for i,v in ipairs(self.block_list_2) do
if self.block_item_list_2[i] then
state_2 = lua_settingM:GetBlockDefualt(v.block_str)
self.block_item_list_2[i]:SetState(state_2)
lua_settingM:SetBlockProperty(v.block_str,lua_settingM:GetBlockDefualt(v.block_str))
end
end
end