97 lines
2.5 KiB
Plaintext
97 lines
2.5 KiB
Plaintext
ChangeJobView = class("ChangeJobView",ContainerView)
|
|
|
|
ChangeJobView.ViewType = UIViewType.MovieLayer
|
|
|
|
function ChangeJobView:Init()
|
|
self.step = 0
|
|
self:FindObjs()
|
|
self:AddViewListener()
|
|
end
|
|
|
|
function ChangeJobView:FindObjs()
|
|
self.stepBtn = self:FindGO("StepBtn"):GetComponent(UIButton)
|
|
self.stepBtnName = self:FindGO("StepBtnName"):GetComponent(UILabel)
|
|
|
|
self:AddClickEvent(self.stepBtn.gameObject, function ()
|
|
self:Step()
|
|
end);
|
|
end
|
|
|
|
function ChangeJobView:AddViewListener()
|
|
self:AddListenEvt(MyselfEvent.ChangeJobEnd,self.HandleEnd)
|
|
self:AddListenEvt(FunctionDungen.ShutdownEvt,self.HandleEnd)
|
|
end
|
|
|
|
local tempArgs = {};
|
|
local tempV3 = LuaVector3()
|
|
function ChangeJobView:Step()
|
|
self.step = self.step + 1
|
|
self:EnableBtn(false)
|
|
local targetPos = GameConfig.ChangeJob.movePos[self.step]
|
|
if(targetPos) then
|
|
TableUtility.TableClear(tempArgs);
|
|
tempV3:Set(targetPos[1] or 0, targetPos[2] or 0, targetPos[3] or 0)
|
|
tempArgs.targetPos = tempV3
|
|
tempArgs.distance = 0.5
|
|
tempArgs.callback = function(callerCMD, cmdEvent)
|
|
if MissionCommand.CallbackEvent.Shutdown == cmdEvent then
|
|
if(GameConfig.ChangeJob.movePos[self.step+1]) then
|
|
self:EnableBtn(true)
|
|
end
|
|
end
|
|
end
|
|
local cmd = MissionCommandFactory.CreateCommand(tempArgs, MissionCommandMove)
|
|
Game.Myself:Client_SetMissionCommand(cmd)
|
|
end
|
|
if(GameConfig.ChangeJob.movePos[self.step+1]==nil) then
|
|
self:HideBtn()
|
|
end
|
|
end
|
|
|
|
function ChangeJobView:HideBtn()
|
|
self:Hide(self.stepBtn.gameObject)
|
|
self:Hide(self.stepBtnName.gameObject)
|
|
end
|
|
|
|
function ChangeJobView:EnableBtn(val)
|
|
self.stepBtn.isEnabled = val
|
|
-- if(val) then
|
|
-- ColorUtil.WhiteUIWidget(self.stepBtnName)
|
|
-- else
|
|
-- ColorUtil.ShaderGrayUIWidget(self.stepBtnName)
|
|
-- end
|
|
end
|
|
|
|
function ChangeJobView:HandleEnd()
|
|
self:CloseSelf()
|
|
end
|
|
|
|
function ChangeJobView:OnEnter()
|
|
self.super.OnEnter(self);
|
|
self:CameraDisable( GameConfig.ChangeJob.cameraGroup2)
|
|
self:CameraEnable( GameConfig.ChangeJob.cameraGroup1)
|
|
end
|
|
|
|
function ChangeJobView:OnExit()
|
|
self:CameraDisable( GameConfig.ChangeJob.cameraGroup1)
|
|
self:CameraEnable( GameConfig.ChangeJob.cameraGroup2)
|
|
self.super.OnExit(self);
|
|
end
|
|
|
|
function ChangeJobView:CameraEnable(grp)
|
|
if(grp) then
|
|
local cameraPointManager = CameraPointManager.Instance
|
|
for i=1,#grp do
|
|
cameraPointManager:EnableGroup(grp[i])
|
|
end
|
|
end
|
|
end
|
|
|
|
function ChangeJobView:CameraDisable(grp)
|
|
if(grp) then
|
|
local cameraPointManager = CameraPointManager.Instance
|
|
for i=1,#grp do
|
|
cameraPointManager:DisableGroup(grp[i])
|
|
end
|
|
end
|
|
end |