140 lines
5.3 KiB
Plaintext
140 lines
5.3 KiB
Plaintext
SetViewEffectState = class("SetViewEffectState",SubView)
|
|
|
|
local resolutionLabTab = {}
|
|
local resolutionIndex = 1
|
|
|
|
local refreshRateLabTab = {}
|
|
local refreshRateIndex = 1
|
|
|
|
function SetViewEffectState:Init ()
|
|
self:FindObj()
|
|
self:AddEvts()
|
|
self:Show()
|
|
end
|
|
|
|
function SetViewEffectState:FindObj ()
|
|
|
|
if self:FindGO("OutlineSet/OutlineToggle") then
|
|
self.outlineToggle = self:FindGO("OutlineSet/OutlineToggle"):GetComponent("UIToggle")
|
|
self.effectToggle = self:FindGO("EffectSet/EffectToggle"):GetComponent("UIToggle")
|
|
self.toonLightToggle = self:FindGO("ToonLightSet/ToonLightToggle"):GetComponent("UIToggle")
|
|
self.slimToggle = self:FindGO("SlimToggle"):GetComponent("UIToggle")
|
|
self.selfPeakToggle = self:FindGO("SelfPeakToggle"):GetComponent("UIToggle")
|
|
self.otherPeakToggle = self:FindGO("OtherPeakToggle"):GetComponent("UIToggle")
|
|
self.screenCountToggleLow = self:FindGO("ScreenCountToggleLow"):GetComponent("UIToggle")
|
|
self.screenCountToggleMid = self:FindGO("ScreenCountToggleMid"):GetComponent("UIToggle")
|
|
self.screenCountToggleHigh = self:FindGO("ScreenCountToggleHigh"):GetComponent("UIToggle")
|
|
self.ShowOtherNameToggle = self:FindGO("ShowOtherNameToggle"):GetComponent("UIToggle")
|
|
self.ShowOtherCharToggle = self:FindGO("ShowOtherCharToggle"):GetComponent("UIToggle")
|
|
self.ResolutionFilter = self:FindGO("ResolutionFilter"):GetComponent("UIPopupList")
|
|
self.RefreshRateFilter = self:FindGO("RefreshRateFilter"):GetComponent("UIPopupList")
|
|
end
|
|
end
|
|
|
|
function SetViewEffectState:AddEvts()
|
|
if self.ResolutionFilter then
|
|
EventDelegate.Add(self.ResolutionFilter.onChange, function()
|
|
resolutionIndex = resolutionLabTab[self.ResolutionFilter.value]
|
|
end)
|
|
end
|
|
if self.RefreshRateFilter then
|
|
EventDelegate.Add(self.RefreshRateFilter.onChange, function()
|
|
refreshRateIndex = refreshRateLabTab[self.RefreshRateFilter.value]
|
|
end)
|
|
end
|
|
end
|
|
|
|
function SetViewEffectState:SettingUI()
|
|
|
|
if self.ResolutionFilter then
|
|
self.ResolutionFilter:Clear()
|
|
resolutionLabTab = {}
|
|
local rsTab = Game.GetResolutionNames()
|
|
for i=1,#rsTab do
|
|
local str = rsTab[i]
|
|
self.ResolutionFilter:AddItem(str)
|
|
resolutionLabTab[str] = i
|
|
end
|
|
|
|
self.RefreshRateFilter:Clear()
|
|
refreshRateLabTab = {}
|
|
local rrTab = Game.GetRefreshRateNames()
|
|
for i=1,#rrTab do
|
|
local str = rrTab[i]
|
|
self.RefreshRateFilter:AddItem(str)
|
|
refreshRateLabTab[str] = i
|
|
end
|
|
|
|
local setting = FunctionPerformanceSetting.Me()
|
|
local screenCount = setting:GetSetting().screenCount
|
|
|
|
self.outlineToggle.value = setting:GetSetting().outLine
|
|
self.toonLightToggle.value = setting:GetSetting().toonLight
|
|
self.effectToggle.value = not setting:GetSetting().effectLow
|
|
self.selfPeakToggle.value = setting:GetSetting().selfPeak
|
|
self.otherPeakToggle.value = setting:GetSetting().otherPeak
|
|
self.ShowOtherNameToggle.value = setting:GetSetting().isShowOtherName
|
|
self.ShowOtherCharToggle.value = setting:GetSetting().showOtherChar
|
|
self.ResolutionFilter.value = rsTab[setting:GetSetting().resolution]
|
|
resolutionIndex = setting:GetSetting().resolution
|
|
self.RefreshRateFilter.value = rrTab[setting:GetSetting().refreshRate]
|
|
refreshRateIndex = setting:GetSetting().refreshRate
|
|
self.screenCountToggleMid.value = screenCount == GameConfig.Setting.ScreenCountMid and true or false
|
|
self.screenCountToggleHigh.value = screenCount == GameConfig.Setting.ScreenCountHigh and true or false
|
|
self.screenCountToggleLow.value = screenCount == GameConfig.Setting.ScreenCountLow and true or false
|
|
|
|
local option = Game.Myself.data.userdata:Get(UDEnum.OPTION)
|
|
if option ~= nil then
|
|
self.slimToggle.value = BitUtil.band(option, SceneUser2_pb.EOPTIONTYPE_USE_SLIM) > 0
|
|
else
|
|
self.slimToggle.value = true
|
|
end
|
|
end
|
|
end
|
|
|
|
function SetViewEffectState:Show ()
|
|
self:SettingUI()
|
|
end
|
|
|
|
function SetViewEffectState:Save ()
|
|
self:SetNormalModeData()
|
|
end
|
|
|
|
function SetViewEffectState:SetNormalModeData()
|
|
local setting = FunctionPerformanceSetting.Me()
|
|
local screenCount
|
|
if self.screenCountToggleMid.value == true then
|
|
screenCount = GameConfig.Setting.ScreenCountMid
|
|
elseif self.screenCountToggleHigh.value == true then
|
|
screenCount = GameConfig.Setting.ScreenCountHigh
|
|
else
|
|
screenCount = GameConfig.Setting.ScreenCountLow
|
|
end
|
|
|
|
setting:SetBegin()
|
|
setting:SetOutLine(self.outlineToggle.value)
|
|
setting:SetToonLight(self.toonLightToggle.value)
|
|
setting:SetEffectLow(not self.effectToggle.value)
|
|
setting:SetSlim(self.slimToggle.value)
|
|
setting:SetSelfPeak(self.selfPeakToggle.value)
|
|
setting:SetOtherPeak(self.otherPeakToggle.value)
|
|
setting:SetScreenCount(screenCount)
|
|
setting:SetShowOtherName(self.ShowOtherNameToggle.value)
|
|
setting:SetShowOtherChar(self.ShowOtherCharToggle.value)
|
|
setting:SetResolution(resolutionIndex)
|
|
setting:SetRefreshRate(refreshRateIndex)
|
|
setting:SetEnd()
|
|
end
|
|
|
|
function SetViewEffectState:Exit ()
|
|
|
|
end
|
|
|
|
function SetViewEffectState:SwitchOn ()
|
|
|
|
end
|
|
|
|
function SetViewEffectState:SwitchOff ()
|
|
|
|
end
|