|
|
- SettingPerformItem = SettingPerformItem or BaseClass(BaseItem)
-
- -- 性能设置项
-
- function SettingPerformItem:__init(parent)
- self.base_file = "setting"
- self.layout_file = "SettingPerformItem"
- self.item_list = {}
- self.model = GameSettingModel:GetInstance()
- self.curr_select_index = 1
- self.val2index = {}
- self:Load()
- end
-
- function SettingPerformItem:Load_callback()
- self:LoadSuccess()
- --self:InitEvent()
- end
-
- function SettingPerformItem:LoadSuccess()
- self.item_con = self:GetChild("btn_con")
- self.title = self:GetChild("title"):GetComponent("TextMeshProUGUI")
-
- if self.need_refreshData then
- self:SetData(self.info,self.call_back)
- end
-
- if self.need_select then
- self:SelectBtnByVal(self.select_val)
- end
- end
-
-
- function SettingPerformItem:SetData(info,call_back)
- self.info = info
- self.call_back = call_back
- for i,v in ipairs(info.val_list) do
- self.val2index[v] = i
- end
- if self.is_loaded then
- local call_fun = function (index)
- self:SelectBtn(index)
- self.call_back(self.info.setting_str,self.info.val_list[index])
- end
-
- self.title.text = info.title or ""
-
- print(info.title)
-
- local item = nil
- for i,v in ipairs(info.name_list) do
- item = self.item_list[i]
- if item == nil then
- item = SettingBtnItem.New(self.item_con)
- self.item_list[i] = item
- end
- self.item_list[i]:SetData(v,i,call_fun)
- if i==1 then
- item:SetAnchoredPosition(56,26)
- elseif i==2 then
- item:SetAnchoredPosition(196,26)
- elseif i==3 then
- item:SetAnchoredPosition(370,26)
- end
- end
- self.need_refreshData = true
- else
- self.need_refreshData = true
- end
- end
-
- function SettingPerformItem:SelectBtn( index,force )
- if index == self.curr_select_index and not force then return end
- if self.item_list[self.curr_select_index] then
- self.item_list[self.curr_select_index]:SetSelect(false)
- end
- self.curr_select_index = index
- if self.item_list[self.curr_select_index] then
- self.item_list[self.curr_select_index]:SetSelect(true)
- end
- end
-
- function SettingPerformItem:SelectBtnByVal(val)
- self.select_val = val
- if self.is_loaded then
- if val == nil or self.val2index[val] == nil then
- val = GameSettingManager.PerformanceList[1].val_list[2]
- self.select_val = val
- end
- self:SelectBtn(self.val2index[val],true)
- self.need_select = false
- else
- self.need_select = true
- end
- end
-
- function SettingPerformItem:__delete( )
- for i,v in ipairs(self.item_list) do
- v:DeleteMe()
- v = nil
- end
- end
|