260 lines
7.1 KiB
Plaintext
260 lines
7.1 KiB
Plaintext
SetView = class("SetView",ContainerView)
|
|
|
|
autoImport ("SetViewSystemState")
|
|
autoImport ("SetViewEffectState")
|
|
autoImport ("SetViewMsgPushState")
|
|
autoImport ("SetViewSecurityPage")
|
|
autoImport ("SetViewSwitchRolePage")
|
|
|
|
SetView.ViewType = UIViewType.NormalLayer
|
|
SetView.PlayerHeadCellResId = ResourcePathHelper.UICell("PlayerHeadCell")
|
|
SetView.SetToggleCellResId = ResourcePathHelper.UICell("SetToggleCell")
|
|
|
|
local state = nil
|
|
--local activePos = nil
|
|
--local inactivePos = nil
|
|
local stateTab = {}
|
|
local pageTab = {}
|
|
local BattleTimeStringColor = {}
|
|
|
|
function SetView:Init()
|
|
|
|
local queryType = Game.Myself and Game.Myself.data.userdata:Get(UDEnum.QUERYTYPE)
|
|
if queryType then
|
|
FunctionPerformanceSetting.Me():SetShowDetail(queryType)
|
|
end
|
|
|
|
self:CreateDynamicToggle()
|
|
self:FindObj()
|
|
self:AddButtonEvt()
|
|
self:AddViewEvt()
|
|
self:AddSubPage()
|
|
self:InitData()
|
|
self:InitShow()
|
|
end
|
|
|
|
function SetView:InitData ()
|
|
BattleTimeStringColor[1] = "[41c419]%s[-]"
|
|
BattleTimeStringColor[2] = "[ffc945]%s[-]"
|
|
BattleTimeStringColor[3] = "[cf1c0f]%s[-]"
|
|
end
|
|
|
|
function SetView:FindObj()
|
|
pageTab[1] = self:FindGO("SystemPage")
|
|
pageTab[2] = self:FindGO("EffectPage")
|
|
pageTab[3] = self:FindGO("MsgPushPage")
|
|
pageTab[4] = self:FindGO("SecurityPage")
|
|
self.gameTime = self:FindGO("GameTime"):GetComponent(UILabel)
|
|
self.gameTimeTip = self:FindGO("GameTimeTip"):GetComponent(UILabel)
|
|
self.battleTimeSlider = self:FindGO("BattleTimeSlider"):GetComponent(UISlider)
|
|
self.activePanel = self:FindGO("ActivatedPanel"):GetComponent(UIScrollView)
|
|
--self.inactivePanel = self:FindGO("InActivatedPanel")
|
|
self.tutortimeTip = self:FindGO("TutorTimeTip"):GetComponent(UILabel)
|
|
self:FindDynamicObj()
|
|
end
|
|
|
|
function SetView:AddSubPage()
|
|
stateTab[1] = self:AddSubView("SetViewSystemState",SetViewSystemState)
|
|
stateTab[2] = self:AddSubView("SetViewEffectState",SetViewEffectState)
|
|
stateTab[3] = self:AddSubView("SetViewMsgPushState",SetViewMsgPushState)
|
|
stateTab[4] = self:AddSubView("SetViewSecurityPage",SetViewSecurityPage)
|
|
self:AddSubView("SetViewSwitchRolePage",SetViewSwitchRolePage)
|
|
|
|
self:AddDynamicSubPage()
|
|
end
|
|
|
|
function SetView:AddButtonEvt()
|
|
local backLoginBtn = self:FindGO("BackLoginBtn")
|
|
self:AddClickEvent(backLoginBtn,function ()
|
|
Game.Me():BackToLogo()
|
|
end)
|
|
|
|
local SaveBtn = self:FindGO("SaveBtn")
|
|
self:AddClickEvent(SaveBtn,function ()
|
|
self:Save()
|
|
end)
|
|
|
|
local togObj = self:FindGO("toggles")
|
|
local SystemSettingToggle = self:FindGO("SystemSetting",togObj)
|
|
local EffectSettingToggle = self:FindGO("EffectSetting",togObj)
|
|
local MsgPushSettingToggle = self:FindGO("MsgPushSetting",togObj)
|
|
local SecuritySettingToggle = self:FindGO("SecuritySetting",togObj)
|
|
self:AddTabChangeEvent(SystemSettingToggle,pageTab[1],PanelConfig.SystemSettingPage)
|
|
self:AddTabChangeEvent(EffectSettingToggle,pageTab[2],PanelConfig.EffectSettingPage)
|
|
self:AddTabChangeEvent(MsgPushSettingToggle,pageTab[3],PanelConfig.MsgPushSettingPage)
|
|
self:AddTabChangeEvent(SecuritySettingToggle,pageTab[4],PanelConfig.SecuritySettingPage)
|
|
|
|
self:AddDynamicButtonEvt()
|
|
|
|
----------------
|
|
MsgPushSettingToggle:SetActive(false)
|
|
----------------
|
|
end
|
|
|
|
function SetView:TabChangeHandler (key)
|
|
if state ~= key then
|
|
SetView.super.TabChangeHandler(self,key)
|
|
if state ~= nil then
|
|
self:SwitchOff(state)
|
|
end
|
|
self:SwitchOn(key)
|
|
end
|
|
end
|
|
|
|
function SetView:SwitchOn (key)
|
|
self:Activate()
|
|
stateTab[key]:SwitchOn()
|
|
state = key
|
|
end
|
|
|
|
function SetView:SwitchOff (key)
|
|
self:InActivate()
|
|
stateTab[key]:SwitchOff()
|
|
state = nil
|
|
end
|
|
|
|
function SetView:Activate ()
|
|
self.activePanel:ResetPosition()
|
|
--pageTab[name].transform.parent = self.activePanel.transform
|
|
--pageTab[name].transform.localPosition = activePos
|
|
end
|
|
|
|
function SetView:InActivate ()
|
|
--pageTab[name].transform.parent = self.inactivePanel.transform
|
|
--pageTab[name].transform.localPosition = inactivePos
|
|
end
|
|
|
|
function SetView:AddViewEvt()
|
|
self:AddListenEvt(ServiceEvent.NUserBattleTimelenUserCmd , self.GetGameTime)
|
|
end
|
|
|
|
function SetView:InitShow()
|
|
for i=1,#pageTab do
|
|
pageTab[i]:SetActive(false)
|
|
end
|
|
self:TabChangeHandler(1)
|
|
self:InitPortrait()
|
|
ServiceNUserProxy.Instance:CallBattleTimelenUserCmd()
|
|
end
|
|
|
|
function SetView:InitPortrait()
|
|
if(not self.targetCell)then
|
|
local headCellObj = self:FindGO("SetPortraitCell")
|
|
self.headCellObj = Game.AssetManager_UI:CreateAsset(SetView.PlayerHeadCellResId,headCellObj)
|
|
self.headCellObj.transform.localPosition = LuaVector3.zero
|
|
self.headCellObj.transform.localScale = LuaVector3.New(0.8,0.8,0.8)
|
|
self.targetCell = PlayerFaceCell.new(self.headCellObj)
|
|
self.targetCell:HideHpMp()
|
|
self.targetCell:HideLevel()
|
|
end
|
|
local headData = HeadImageData.new()
|
|
headData:TransByMyself()
|
|
self.targetCell:SetData(headData)
|
|
end
|
|
|
|
function SetView:OnExit()
|
|
for i=1,#stateTab do
|
|
stateTab[i]:Exit()
|
|
end
|
|
self.super.OnExit(self)
|
|
stateTab = {}
|
|
pageTab = {}
|
|
state = nil
|
|
end
|
|
|
|
function SetView:GetGameTime(note)
|
|
local data = note.body
|
|
if data then
|
|
self:SetGameTime(data)
|
|
end
|
|
end
|
|
|
|
function SetView:SetGameTime(data)
|
|
local timeLen = 0
|
|
local timeTotal = 0
|
|
local musicTime = 0
|
|
local tutorTime = 0
|
|
local color = 1
|
|
if data.timelen then
|
|
timeLen = math.floor(data.timelen / 60)
|
|
end
|
|
if data.totaltime then
|
|
timeTotal = math.floor(data.totaltime / 60)
|
|
end
|
|
if data.musictime then
|
|
musicTime = math.ceil(data.musictime / 60)
|
|
end
|
|
if data.estatus then
|
|
color = data.estatus
|
|
end
|
|
if data.tutortime then
|
|
tutorTime = math.floor(data.tutortime / 60)
|
|
end
|
|
local str = string.format(BattleTimeStringColor[color],timeLen)
|
|
self.gameTime.text = string.format(ZhString.Set_GameTime , str,timeTotal)
|
|
self.gameTimeTip.text = string.format(ZhString.Set_GameTimeTip , musicTime)
|
|
self.gameTimeTip.gameObject:SetActive(musicTime > 0)
|
|
self.battleTimeSlider.value = 0
|
|
if timeTotal > 0 then
|
|
if timeLen < timeTotal then
|
|
self.battleTimeSlider.value = timeLen / timeTotal
|
|
else
|
|
self.battleTimeSlider.value = 1
|
|
end
|
|
end
|
|
|
|
if self.tutortimeTip then
|
|
self.tutortimeTip.gameObject:SetActive(tutorTime > 0)
|
|
self.tutortimeTip.text = string.format(ZhString.Set_GameTutortimeTip,tutorTime)
|
|
end
|
|
end
|
|
|
|
function SetView:Save()
|
|
for i=1,#stateTab do
|
|
stateTab[i]:Save()
|
|
end
|
|
end
|
|
|
|
function SetView:CreateObj(path, parent)
|
|
if not GameObjectUtil.Instance:ObjectIsNULL(parent) then
|
|
local obj = Game.AssetManager_UI:CreateAsset(path, parent)
|
|
if not obj then
|
|
return
|
|
end
|
|
obj:SetActive(true)
|
|
GameObjectUtil.Instance:ChangeLayersRecursively(obj ,parent.layer)
|
|
obj.transform.localPosition = Vector3.zero
|
|
obj.transform.localScale = Vector3.one
|
|
obj.transform.localRotation = Quaternion.identity
|
|
return obj
|
|
end
|
|
end
|
|
|
|
function SetView:_CreateDynamicToggle(togObjName, togName, pageObjName)
|
|
local togRoot = self:FindGO("toggles")
|
|
local toggleObj = self:CreateObj(SetView.SetToggleCellResId, togRoot)
|
|
toggleObj.name = togObjName
|
|
|
|
local togLabel = self:FindGO("Label", toggleObj):GetComponent(UILabel)
|
|
togLabel.text = togName
|
|
|
|
local pageResId = ResourcePathHelper.UIView(pageObjName)
|
|
local pageRoot = self:FindGO("ActivatedPanel")
|
|
self:CreateObj(pageResId, pageRoot)
|
|
end
|
|
|
|
function SetView:CreateDynamicToggle()
|
|
|
|
end
|
|
|
|
function SetView:FindDynamicObj()
|
|
|
|
end
|
|
|
|
function SetView:AddDynamicSubPage()
|
|
|
|
end
|
|
|
|
function SetView:AddDynamicButtonEvt()
|
|
|
|
end |