|
|
- BasicSettingView = BasicSettingView or BaseClass(BaseItem)
- local BasicSettingView = BasicSettingView
- local lua_settingM = lua_settingM
- local lua_soundM = lua_soundM
-
- -- 挂机设置界面
- function BasicSettingView:__init(parent)
- self.base_file = "setting"
- self.layout_file = "BasicSettingView"
- self.perform_item_list = {}
- self.perform_list = {}
- self.model = GameSettingModel:GetInstance()
- self:Load()
- end
-
- function BasicSettingView:Load_callback()
- self:LoadSuccess()
- self:InitEvent()
- end
-
- function BasicSettingView:LoadSuccess()
- self.perform_con = self:GetChild("perform_con")
-
- -- 音效和同屏人数设置
- self.count_slider = self:GetChild("count/countSlider"):GetComponent("Slider")
- self.count_value = self:GetChild("count/value"):GetComponent("TextMeshProUGUI")
-
- self.music_slider = self:GetChild("Music/musicSlider"):GetComponent("Slider") -- 背景音乐
- self.music_value = self:GetChild("Music/value"):GetComponent("TextMeshProUGUI")
- self.music_btn = self:GetChild("Music/valueBtn"):GetComponent("Image")
-
- self.soundEffect_slider = self:GetChild("soundEffect/effectSlider"):GetComponent("Slider") -- 音效
- self.soundEffect_value = self:GetChild("soundEffect/value"):GetComponent("TextMeshProUGUI")
- self.soundEffect_btn = self:GetChild("soundEffect/valueBtn"):GetComponent("Image")
-
- self:InitPerformItem()
-
- if self.need_refreshData then
- self:SetData()
- end
- end
-
- -- 初始化性能设置item
- function BasicSettingView:InitPerformItem()
- self.perform_list = GameSettingManager.PerformanceList
- if self.perform_list == nil or #self.perform_list == 0 then return end
-
- local item
- local call_back = function(symbol,val)
- self:SetPerformance(symbol,val)
- end
-
- for i,v in ipairs(self.perform_list) do
- if self.perform_item_list[i] == nil then
- item = SettingPerformItem.New(self.perform_con)
- self.perform_item_list[i] = item
- end
- item = self.perform_item_list[i]
- item:SetData(v,call_back)
- end
- self:SetPerformData()
- end
-
- function BasicSettingView:SetPerformance(key,val)
- --修改画质的时候同步修改后处理效果
- if key == "quality" then
- lua_settingM:SetPostEffectLevel(val)
- end
- lua_settingM:SetPerformanceProperty(key,val)
- CookieWrapper.Instance:WriteAll()
- end
-
- function BasicSettingView:InitEvent()
- -- 滑动条拖动完毕后,写cookie
- local function onSliderDragEnd(target)
- local value = target:GetComponent("Slider").value
- if target == self.music_slider.gameObject then
- lua_settingM:SetSoundValue(value)
- local value_img_res = self.music_slider.value == 0 and "setting_value_2" or "setting_value_1"
- lua_resM:setImageSprite(self, self.music_btn, "setting_asset",value_img_res)
- elseif target == self.soundEffect_slider.gameObject then
- lua_settingM:SetEffectSoundValue(value)
- local value_img_res = self.soundEffect_slider.value == 0 and "setting_value_2" or "setting_value_1"
- lua_resM:setImageSprite(self, self.soundEffect_btn, "setting_asset",value_img_res)
- elseif target == self.count_slider.gameObject then
- lua_settingM:SetPlayerCounts(value)
- end
- CookieWrapper.Instance:WriteAll()
- end
- AddDragEndEvent(self.music_slider.gameObject,onSliderDragEnd)
- AddDragEndEvent(self.soundEffect_slider.gameObject,onSliderDragEnd)
- AddDragEndEvent(self.count_slider.gameObject,onSliderDragEnd)
-
- local function onSliderClick(target)
- local value = target:GetComponent("Slider").value
- if target == self.music_slider.gameObject then
- self.music_value.text = tostring(value).."%"
- lua_settingM:SetSoundValue(value)
- lua_soundM:ChangeVolume(self.music_slider.value / 100)
- local value_img_res = self.music_slider.value == 0 and "setting_value_2" or "setting_value_1"
- lua_resM:setImageSprite(self, self.music_btn, "setting_asset",value_img_res)
- elseif target == self.soundEffect_slider.gameObject then
- self.soundEffect_value.text = value.."%"
- lua_settingM:SetEffectSoundValue(value)
- lua_soundM:ChangeVolumeEffect(self.soundEffect_slider.value / 100)
- local value_img_res = self.soundEffect_slider.value == 0 and "setting_value_2" or "setting_value_1"
- lua_resM:setImageSprite(self, self.soundEffect_btn, "setting_asset",value_img_res)
- elseif target == self.count_slider.gameObject then
- self.count_value.text = value
- lua_settingM:SetPlayerCounts(value)
- end
- CookieWrapper.Instance:WriteAll()
- end
- AddClickEvent(self.music_slider.gameObject,onSliderClick)
- AddClickEvent(self.soundEffect_slider.gameObject,onSliderClick)
- AddClickEvent(self.count_slider.gameObject,onSliderClick)
-
- -- 滑动条拖动时改变音量以及数值
- local function onSliderDrag(target)
- if target == self.music_slider.gameObject then
- self.music_value.text = tostring(self.music_slider.value).."%"
- lua_soundM:ChangeVolume(self.music_slider.value / 100)
- elseif target == self.soundEffect_slider.gameObject then
- self.soundEffect_value.text = self.soundEffect_slider.value.."%"
- lua_soundM:ChangeVolumeEffect(self.soundEffect_slider.value / 100)
- elseif target == self.count_slider.gameObject then
- self.count_value.text = self.count_slider.value
- end
- end
- AddDragEvent(self.music_slider.gameObject,onSliderDrag)
- AddDragEvent(self.soundEffect_slider.gameObject,onSliderDrag)
- AddDragEvent(self.count_slider.gameObject,onSliderDrag)
-
- local on_click = function ( click_obj )
- if self.music_btn.gameObject == click_obj then
- -- local data = lua_settingM.soundSet
- if self.music_slider.value <= 0 then--还原到默认音量
- self.music_slider.value = lua_settingM:GetBasicDefualt("music")
- self.music_value.text = lua_settingM:GetBasicDefualt("music").."%"
- lua_soundM:ChangeVolume(self.music_slider.value / 100)
- lua_resM:setImageSprite(self, self.music_btn, "setting_asset","setting_value_1")
- else--切换到静音状态
- self.music_slider.value = 0
- self.music_value.text = "0%"
- lua_soundM:ChangeVolume(self.music_slider.value / 100)
- lua_resM:setImageSprite(self, self.music_btn, "setting_asset","setting_value_2")
- end
- lua_settingM:SetSoundValue(self.music_slider.value)
- elseif self.soundEffect_btn.gameObject == click_obj then
- -- local data = lua_settingM.soundSet
- if self.soundEffect_slider.value <= 0 then--还原到默认音量
- self.soundEffect_slider.value = lua_settingM:GetBasicDefualt("soundEffect")
- self.soundEffect_value.text = lua_settingM:GetBasicDefualt("soundEffect").."%"
- lua_soundM:ChangeVolumeEffect(self.soundEffect_slider.value / 100)
- lua_resM:setImageSprite(self, self.soundEffect_btn, "setting_asset","setting_value_1")
- else--切换到静音状态
- self.soundEffect_slider.value = 0
- self.soundEffect_value.text = "0%"
- lua_soundM:ChangeVolumeEffect(self.soundEffect_slider.value / 100)
- lua_resM:setImageSprite(self, self.soundEffect_btn, "setting_asset","setting_value_2")
- end
- lua_settingM:SetEffectSoundValue(self.soundEffect_slider.value)
- end
- end
- AddClickEvent(self.music_btn.gameObject, on_click)
- AddClickEvent(self.soundEffect_btn.gameObject, on_click)
-
-
- local function return_default(cur_index)
- if not self.is_loaded then return end
- if cur_index == GameSettingModel.TabData.SYSYTEM then
- self:ReturnDefault()
- end
- end
- self:BindEvent(GameSettingModel:GetInstance(), GameSettingModel.RETURN_ALL_DEFAULT, return_default)
- end
-
- function BasicSettingView:SetData()
- if self.is_loaded then
- self:SetSliderData()
- self.need_refreshData = false
- else
- self.need_refreshData = true
- end
- end
-
- function BasicSettingView:SetSliderData()
- local data = lua_settingM.soundSet
- self.music_slider.value = data.sound
- self.soundEffect_slider.value = data.effectSound
- self.music_value.text = data.sound.."%"
- self.soundEffect_value.text = data.effectSound.."%"
-
- local value_img_res_1 = self.music_slider.value == 0 and "setting_value_2" or "setting_value_1"
- lua_resM:setImageSprite(self, self.music_btn, "setting_asset",value_img_res_1)
-
- local value_img_res_2 = self.soundEffect_slider.value == 0 and "setting_value_2" or "setting_value_1"
- lua_resM:setImageSprite(self, self.soundEffect_btn, "setting_asset",value_img_res_2)
-
- local playerCounts = lua_settingM:GetPlayerCounts()
- self.count_slider.value = playerCounts
- self.count_value.text = playerCounts
- end
-
- function BasicSettingView:SetPerformData()
- if self.perform_list == nil then return end
- local state
- for i,v in ipairs(self.perform_list) do
- if self.perform_item_list[i] then
- state = lua_settingM:GetPerformanceProperty(v.setting_str)
- self.perform_item_list[i]:SelectBtnByVal(state)
- end
- end
- end
-
- function BasicSettingView:__delete()
- -- 界面销毁
- for i,item in pairs(self.perform_item_list) do
- item:DeleteMe()
- item = nil
- end
- self.perform_item_list = {}
- -- 重新加载一次音量设置
- lua_soundM:LoadSetting()
- end
-
- function BasicSettingView:ReturnDefault()
- -- 还原表现
- self.music_slider.value = lua_settingM:GetBasicDefualt("music")
- self.music_value.text = lua_settingM:GetBasicDefualt("music").."%"
- lua_soundM:ChangeVolume(self.music_slider.value / 100)
- self.soundEffect_slider.value = lua_settingM:GetBasicDefualt("soundEffect")
- self.soundEffect_value.text = lua_settingM:GetBasicDefualt("soundEffect").."%"
- lua_soundM:ChangeVolumeEffect(self.soundEffect_slider.value / 100)
-
- self.count_slider.value = lua_settingM:GetBasicDefualt("playerCounts")
- self.count_value.text = lua_settingM:GetBasicDefualt("playerCounts")
- -- 还原配置
- lua_settingM:SetSoundValue(lua_settingM:GetBasicDefualt("music"))
- lua_settingM:SetEffectSoundValue(lua_settingM:GetBasicDefualt("soundEffect"))
- lua_settingM:SetPlayerCounts(lua_settingM:GetBasicDefualt("playerCounts"))
- lua_settingM:ApplyPlayerCounts()
-
- -- 还原性能设置
- if self.perform_list == nil then return end
- local val
- for i,v in ipairs(self.perform_list) do
- if self.perform_item_list[i] then
- val = lua_settingM:GetPerformanceDefualt(v.setting_str)
- self.perform_item_list[i]:SelectBtnByVal(val)
- lua_settingM:SetPerformanceProperty(v.setting_str,val)
- end
- end
-
- end
|