608 lines
19 KiB
Plaintext
608 lines
19 KiB
Plaintext
autoImport("SkillCell")
|
||
autoImport("ShortCutSkillDragCell")
|
||
autoImport("SkillContentPage")
|
||
autoImport("BeingSkillContentPage")
|
||
SkillView = class("SkillView",ContainerView)
|
||
|
||
SkillView.ViewType = UIViewType.NormalLayer
|
||
|
||
local GOCameraType = Game.GameObjectType.Camera
|
||
|
||
function SkillView:GetShowHideMode()
|
||
return PanelShowHideMode.ActiveAndDeactive
|
||
end
|
||
|
||
function SkillView:Init(viewObj)
|
||
self:FindObjs()
|
||
self.contentView = self:AddSubView("SkillContent",SkillContentPage)
|
||
self.beingContentView = self:AddSubView("BeingSkillContentPage",BeingSkillContentPage)
|
||
-- self:InitLines()
|
||
self:InitShortCuts()
|
||
self:InitAutoShortCuts()
|
||
--主界面技能快捷欄switch
|
||
self.shortcutSwitchIndex = 1
|
||
self:SwitchShortCutTo(ShortCutProxy.SwitchList[self.shortcutSwitchIndex])
|
||
self:InitTopToggles()
|
||
self:CheckNeedShowProfessToggle()
|
||
self:AddViewListener()
|
||
self:RegisterGuide()
|
||
end
|
||
|
||
function SkillView:InitTabChangeHandler()
|
||
--策劃需求打不開某一頁簽時,就去打開冒險技能頁簽
|
||
if(self.viewdata.view and self.viewdata.view.tab)then
|
||
self:TabChangeHandler(self.viewdata.view.tab)
|
||
else
|
||
self:TabChangeHandler(PanelConfig.CharactorAdventureSkill.tab)
|
||
end
|
||
end
|
||
|
||
function SkillView:OnEnter()
|
||
local viewdata = self.viewdata.viewdata
|
||
if viewdata ~= nil then
|
||
self.multiSaveId = viewdata.saveId
|
||
self.multiSaveType = viewdata.saveType
|
||
SkillProxy.Instance:SetMultiSave(self.multiSaveId, self.multiSaveType)
|
||
end
|
||
|
||
if(self.upLeftWidget~=nil) then
|
||
self.upLeftWidget:UpdateAnchors()
|
||
end
|
||
|
||
if(self.upRightWidget~=nil) then
|
||
self.upRightWidget:UpdateAnchors()
|
||
end
|
||
self:InitTabChangeHandler()
|
||
self:RefreshShortCuts()
|
||
local profess = SkillProxy.Instance:GetMyProfession()
|
||
self:UpdateTopByProfess(profess)
|
||
self:UpdateTopToggles(profess)
|
||
self:RegisterRedTip()
|
||
self:UpdateTipLabel()
|
||
|
||
local camera = Game.GameObjectManagers[GOCameraType]
|
||
if camera ~= nil then
|
||
camera:ActiveMainCamera(false)
|
||
end
|
||
|
||
SkillView.super.OnEnter(self)
|
||
end
|
||
|
||
function SkillView:OnExit()
|
||
SkillProxy.Instance:SetMultiSave()
|
||
local camera = Game.GameObjectManagers[GOCameraType]
|
||
if camera ~= nil then
|
||
camera:ActiveMainCamera(true)
|
||
end
|
||
SkillView.super.OnExit(self)
|
||
end
|
||
|
||
function SkillView:AddViewListener()
|
||
self:AddListenEvt(SkillEvent.SkillUpdate,self.RefreshSkills)
|
||
self:AddListenEvt(MyselfEvent.MyProfessionChange,self.RefreshProfess)
|
||
-- self:AddListenEvt(SkillEvent.SkillUnlockPos,self.UnlockPosHandler)
|
||
end
|
||
|
||
function SkillView:FindObjs()
|
||
self.shortCutGrid = self:FindGO("ShortCutGrid"):GetComponent(UIGrid)
|
||
self.autoShortCutGrid = self:FindGO("AutoShortCutGrid"):GetComponent(UIGrid)
|
||
self.skillToggleGrid = self:FindGO("SkillToggleGrid"):GetComponent(UIGrid)
|
||
self.commonSkillToggle = self:FindGO("CommonToggle"):GetComponent(UIToggle)
|
||
self.professSkillToggle = self:FindGO("ProfessToggle"):GetComponent(UIToggle)
|
||
self.beingSkillToggle = self:FindGO("BeingToggle"):GetComponent(UIToggle)
|
||
self.profess = self:FindGO("Profess")
|
||
self.professIcon = self:FindGO("ProfessIcon"):GetComponent(UISprite)
|
||
self.professIconBG = self:FindGO("CareerBg"):GetComponent(UISprite)
|
||
self.professNameLabel = self:FindGO("ProfessName"):GetComponent(UILabel)
|
||
self.professLevelLabel = self:FindGO("ProfessLevel"):GetComponent(UILabel)
|
||
self.currentProfessSkillPoints = self:FindGO("CostedPointLabel"):GetComponent(UILabel)
|
||
self.commonIcon = self:FindGO("CommonSkill")
|
||
self.closeBtn = self:FindGO("CloseButton")
|
||
self.upLeftWidget = self:FindGO("Left"):GetComponent(UIWidget)
|
||
self.upRightWidget = self:FindGO("Right"):GetComponent(UIWidget)
|
||
self.tipLabel = self:FindGO("TipLabel")
|
||
end
|
||
|
||
function SkillView:RegisterGuide()
|
||
self:AddOrRemoveGuideId(self.closeBtn,31)
|
||
end
|
||
|
||
function SkillView:RegisterRedTip()
|
||
if self.multiSaveId == nil then
|
||
self:RegisterRedTipCheck(SceneTip_pb.EREDSYS_SKILL_POINT,self.professSkillToggle.gameObject,10,{-10,-5})
|
||
|
||
local _RedTipProxy = RedTipProxy.Instance
|
||
if(_RedTipProxy:InRedTip(SceneTip_pb.EREDSYS_PEAK_LEVEL)) then
|
||
MsgManager.ConfirmMsgByID(3430,function ()
|
||
_RedTipProxy:SeenNew(SceneTip_pb.EREDSYS_PEAK_LEVEL)
|
||
end)
|
||
elseif _RedTipProxy:InRedTip(SceneTip_pb.EREDSYS_PEAK_NEW_LEVEL) then
|
||
MsgManager.ConfirmMsgByID(3430,function ()
|
||
_RedTipProxy:SeenNew(SceneTip_pb.EREDSYS_PEAK_NEW_LEVEL)
|
||
end)
|
||
end
|
||
end
|
||
end
|
||
|
||
function SkillView:InitTopToggles()
|
||
self:AddTabChangeEvent(self.commonSkillToggle.gameObject,nil,PanelConfig.CharactorAdventureSkill)
|
||
self:AddTabChangeEvent(self.professSkillToggle.gameObject,nil,PanelConfig.CharactorProfessSkill)
|
||
self:AddTabChangeEvent(self.beingSkillToggle.gameObject,nil,PanelConfig.CharactorBeingSkill)
|
||
end
|
||
|
||
function SkillView:_SetToggleWidth(toggle,width)
|
||
local widget = toggle.gameObject:GetComponent(UIWidget)
|
||
if(widget) then
|
||
widget.width = width
|
||
end
|
||
widget = self:FindComponent("Background",UISprite,toggle.gameObject)
|
||
if(widget) then
|
||
widget.width = width
|
||
end
|
||
widget = self:FindComponent("Checkmark",UISprite,toggle.gameObject)
|
||
if(widget) then
|
||
widget.width = width+10
|
||
end
|
||
end
|
||
|
||
function SkillView:UpdateTopToggles(profess)
|
||
local myClassConfig = Table_Class[profess]
|
||
-- myClassConfig = {TypeBranch=62}
|
||
if(myClassConfig and myClassConfig.TypeBranch == 62) then
|
||
--鍊金
|
||
if(self.multiSaveId ~= nil)then
|
||
if(self.beingContentView:GetSelectSkillBeingData() == nil)then
|
||
self:Hide(self.beingSkillToggle)
|
||
self.skillToggleGrid.cellWidth = 225
|
||
self:_SetToggleWidth(self.professSkillToggle,200)
|
||
self:_SetToggleWidth(self.commonSkillToggle,200)
|
||
|
||
self.skillToggleGrid:Reposition()
|
||
return;
|
||
end
|
||
end
|
||
|
||
self:Show(self.beingSkillToggle)
|
||
self.skillToggleGrid.cellWidth = 185
|
||
self:_SetToggleWidth(self.professSkillToggle,160)
|
||
self:_SetToggleWidth(self.commonSkillToggle,160)
|
||
self.beingContentView:InitBeings()
|
||
else
|
||
self:Hide(self.beingSkillToggle)
|
||
self.skillToggleGrid.cellWidth = 225
|
||
self:_SetToggleWidth(self.professSkillToggle,200)
|
||
self:_SetToggleWidth(self.commonSkillToggle,200)
|
||
end
|
||
self.skillToggleGrid:Reposition()
|
||
end
|
||
|
||
function SkillView:TabChangeHandler(key)
|
||
if(self.coreTabMap) then
|
||
local tabObj = self.coreTabMap[key]
|
||
if(type(tabObj.check)=="table" and tabObj.check.id) then
|
||
if(not FunctionUnLockFunc.Me():CheckCanOpenByPanelId(tabObj.check.id, true)) then
|
||
if(tabObj.tog ~= self.commonSkillToggle) then
|
||
self.commonSkillToggle.value = true
|
||
end
|
||
return tabObj
|
||
end
|
||
end
|
||
tabObj.tog.value = true
|
||
if(tabObj.tog == self.beingSkillToggle) then
|
||
if(self.contentView.isEditMode) then
|
||
self.professSkillToggle.value =true
|
||
self.contentView:QuitProfess(self.ShowBeing,self)
|
||
else
|
||
self:ShowBeing()
|
||
end
|
||
else
|
||
if(self.beingContentView.switch) then
|
||
local data = self.beingContentView:GetSelectSkillBeingData()
|
||
if(data:GetIsEditMode()) then
|
||
self.beingSkillToggle.value =true
|
||
end
|
||
self.beingContentView:ConfirmEditMode(self.ConfirmShowMineContent,self,tabObj)
|
||
else
|
||
self:ConfirmShowMineContent(tabObj)
|
||
end
|
||
end
|
||
return tabObj
|
||
end
|
||
return nil
|
||
end
|
||
|
||
function SkillView:ConfirmShowMineContent(tabObj)
|
||
tabObj.tog.value = true
|
||
if(tabObj.tog == self.commonSkillToggle) then
|
||
if(self.contentView.isEditMode) then
|
||
self.professSkillToggle.value =true
|
||
end
|
||
self:ShowCommon()
|
||
elseif(tabObj.tog == self.professSkillToggle)then
|
||
self:ShowProfess(true)
|
||
end
|
||
end
|
||
|
||
function SkillView:ShowBeing()
|
||
self.beingSkillToggle.value =true
|
||
self.contentView:Switch(false)
|
||
self.beingContentView:Switch(true)
|
||
end
|
||
|
||
function SkillView:ShowCommon()
|
||
self.contentView:Switch(true)
|
||
self.beingContentView:Switch(false)
|
||
if(not self.contentView.ShowingCommon) then
|
||
self.contentView:QuitProfess(self.ConfirmShowCommon,self)
|
||
end
|
||
end
|
||
|
||
function SkillView:ConfirmShowCommon()
|
||
self.contentView:Switch(true)
|
||
self.beingContentView:Switch(false)
|
||
self.commonSkillToggle.value = true
|
||
self:Hide(self.profess)
|
||
self.contentView:ShowCommon()
|
||
end
|
||
|
||
function SkillView:ShowProfess(force)
|
||
self.contentView:Switch(true)
|
||
self.beingContentView:Switch(false)
|
||
if(self.contentView.ShowingCommon or force) then
|
||
self:Show(self.profess)
|
||
self.contentView:ShowProfess()
|
||
end
|
||
end
|
||
|
||
function SkillView:AddCloseButtonEvent()
|
||
self:AddButtonEvent("CloseButton", function (go)
|
||
if(self.contentView.switch) then
|
||
self.contentView:QuitProfess(self.TryCloseSelf,self)
|
||
elseif(self.beingContentView.switch)then
|
||
self.beingContentView:ConfirmEditMode(self.TryCloseSelf,self)
|
||
end
|
||
-- self:sendNotification(UIEvent.CloseUI,self.ViewType)
|
||
end);
|
||
end
|
||
|
||
function SkillView:TryCloseSelf()
|
||
local cells = self.autoShortCutList:GetCells()
|
||
local hasAttackTypeSkill
|
||
local skillData
|
||
for i=1,#cells do
|
||
skillData = cells[i].data
|
||
if(skillData and skillData.staticData) then
|
||
local config = Table_SkillMould[skillData.sortID*1000 + 1]
|
||
if(config and config.Atktype and config.Atktype==1) then
|
||
hasAttackTypeSkill = true
|
||
break
|
||
end
|
||
end
|
||
end
|
||
if(hasAttackTypeSkill) then
|
||
self:CloseSelf()
|
||
else
|
||
if self.multiSaveId ~= nil then
|
||
self:CloseSelf()
|
||
else
|
||
local dont = LocalSaveProxy.Instance:GetDontShowAgain(1711)
|
||
if(dont == nil)then
|
||
local confirmHandler = function ()
|
||
self:CloseSelf()
|
||
end
|
||
MsgManager.DontAgainConfirmMsgByID( 1711, confirmHandler, nil, nil)
|
||
else
|
||
self:CloseSelf()
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
function SkillView:InitSwitchShortCut()
|
||
self.skillShortCutSwitchIcon = self:FindChild("SwitchIcon"):GetComponent(UIMultiSprite)
|
||
self.skillShortCutSwtichBtn = self:FindChild("SkillShortCutSwitch")
|
||
self:AddButtonEvent("SkillShortCutSwitch",function ()
|
||
self:TryGetNextSwitchID()
|
||
self:SwitchShortCutTo(self.shortcutSwitchID)
|
||
end)
|
||
end
|
||
|
||
function SkillView:TryGetNextSwitchID()
|
||
self.shortcutSwitchIndex = self.shortcutSwitchIndex + 1
|
||
if self.shortcutSwitchIndex > #ShortCutProxy.SwitchList then
|
||
self.shortcutSwitchIndex = 1
|
||
end
|
||
|
||
local id = ShortCutProxy.SwitchList[self.shortcutSwitchIndex]
|
||
local funcEnable = ShortCutProxy.Instance:ShortCutListIsEnable(id)
|
||
if funcEnable then
|
||
self.shortcutSwitchID = id
|
||
else
|
||
self:TryGetNextSwitchID()
|
||
end
|
||
end
|
||
|
||
function SkillView:SwitchShortCutTo(id)
|
||
if id ~= nil then
|
||
self.shortcutSwitchID = id
|
||
self.skillShortCutSwitchIcon.CurrentState = self.shortcutSwitchIndex - 1
|
||
self:RefreshShortCuts()
|
||
end
|
||
end
|
||
|
||
function SkillView:HandleShortCutSwitchActive(note)
|
||
local funcEnable = false
|
||
local _ShortCutEnum = ShortCutProxy.ShortCutEnum
|
||
local _ShortCutProxy = ShortCutProxy.Instance
|
||
local _SaveInfoProxy = SaveInfoProxy.Instance
|
||
local ID1 = _ShortCutEnum.ID1
|
||
for k,v in pairs(_ShortCutEnum) do
|
||
if v ~= ID1 then
|
||
if self.multiSaveId == nil then
|
||
funcEnable = _ShortCutProxy:ShortCutListIsEnable(v)
|
||
else
|
||
local saveData = _SaveInfoProxy:GetSkillData(self.multiSaveId, self.multiSaveType)
|
||
if saveData ~= nil then
|
||
funcEnable = saveData:ShortCutListIsEnable(v)
|
||
end
|
||
end
|
||
if funcEnable then
|
||
break
|
||
end
|
||
end
|
||
end
|
||
|
||
if(funcEnable)then
|
||
self:SetActive(self.skillShortCutSwtichBtn,true)
|
||
else
|
||
self:SetActive(self.skillShortCutSwtichBtn,false)
|
||
--如果目前是在第二欄UI,卻刪除了第二欄,則回滾到第一欄
|
||
if(self.shortcutSwitchID ~= ID1) then
|
||
self:SwitchShortCutTo(ID1)
|
||
end
|
||
end
|
||
end
|
||
|
||
function SkillView:InitShortCuts()
|
||
self:InitSwitchShortCut()
|
||
self.shortCutList = UIGridListCtrl.new(self.shortCutGrid,ShortCutSkillDragCell,"ShortCutSkillDragCell")
|
||
self.shortCutList:AddEventListener(DragDropEvent.SwapObj,self.SwapSkill,self)
|
||
self.shortCutList:AddEventListener(DragDropEvent.DropEmpty,self.TakeOffSkill,self)
|
||
end
|
||
|
||
function SkillView:InitAutoShortCuts()
|
||
self.autoShortCutList = UIGridListCtrl.new(self.autoShortCutGrid,AutoShortCutSkillDragCell,"ShortCutSkillDragCell")
|
||
self.autoShortCutList:AddEventListener(DragDropEvent.SwapObj,self.SwapSkill,self)
|
||
self.autoShortCutList:AddEventListener(DragDropEvent.DropEmpty,self.TakeOffSkill,self)
|
||
end
|
||
|
||
function SkillView:SwapSkill(obj)
|
||
local source = obj.data.source
|
||
local target = obj.data.target
|
||
-- print("swap",source.data.id,target.data.pos)
|
||
if(self.contentView.isEditMode) then
|
||
if(source.class == SkillCell) then
|
||
MsgManager.ShowMsgByIDTable(608)
|
||
return
|
||
end
|
||
end
|
||
if(target:IsLocked(self.shortcutSwitchID)) then
|
||
return
|
||
end
|
||
if(source.class == AutoShortCutSkillDragCell and source:IsLocked(self.shortcutSwitchID)) then
|
||
return
|
||
end
|
||
if source ~= nil and target ~= nil and self:_CheckPosUnequal(source.data, target.data) then
|
||
local targetType = self:GetShotCutType(target.class)
|
||
local sourceType = self:GetShotCutType(source.class)
|
||
local targetPos = nil
|
||
local shortCutAuto = ShortCutProxy.SkillShortCut.Auto
|
||
if targetType ~= sourceType and (sourceType == shortCutAuto or targetType == shortCutAuto) then
|
||
--手動、自動互換
|
||
if((source~=nil and source.data.staticData and source.data.staticData.AutoCondition_Groove == 1) or
|
||
(target ~=nil and target.data.staticData and target.data.staticData.AutoCondition_Groove == 1)) then
|
||
MsgManager.ShowMsgByIDTable(1950)
|
||
return
|
||
end
|
||
end
|
||
if(targetType == SceneSkill_pb.ESKILLSHORTCUT_AUTO) then
|
||
targetPos = target.data:GetPosInShortCutGroup(targetType)
|
||
else
|
||
targetPos = target.data:GetPosInShortCutGroup(targetType)
|
||
if sourceType == shortCutAuto then
|
||
--從自動快捷欄,拖動到手動快捷欄
|
||
if((target.data == nil or target.data.staticData == nil) and self:CheckAutoIsLast()) then
|
||
return
|
||
end
|
||
end
|
||
end
|
||
if(targetType ~= sourceType) then
|
||
if targetType ~= shortCutAuto and sourceType ~= shortCutAuto
|
||
or source.data.staticData == nil or target.data.staticData == nil then
|
||
TipManager.Instance:CloseBubbleTip(BubbleID.SkillFirstTimeOverFlow)
|
||
end
|
||
local normalAtkSkillID = Game.Myself.data:GetAttackSkillIDAndLevel()
|
||
if(normalAtkSkillID) then
|
||
--如果自動技能欄里要脫掉普攻,彈提示
|
||
if targetType == shortCutAuto and target.data and target.data.staticData and target.data.staticData.id == normalAtkSkillID
|
||
or (sourceType == shortCutAuto and source.data and source.data.staticData and source.data.staticData.id == normalAtkSkillID) then
|
||
MsgManager.ConfirmMsgByID( 1710,function ()
|
||
ServiceSkillProxy.Instance:CallEquipSkill(source.data.id,targetPos,source.data.sourceId,sourceType,targetType)
|
||
end)
|
||
return
|
||
end
|
||
end
|
||
end
|
||
ServiceSkillProxy.Instance:CallEquipSkill(source.data.id,targetPos,source.data.sourceId,sourceType,targetType)
|
||
end
|
||
end
|
||
|
||
function SkillView:_CheckPosUnequal(source, target)
|
||
if source ~= nil and target ~= nil then
|
||
local _ShortCutEnum = ShortCutProxy.ShortCutEnum
|
||
for k,v in pairs(_ShortCutEnum) do
|
||
if source:GetPosInShortCutGroup(v) ~= target:GetPosInShortCutGroup(v) then
|
||
return true
|
||
end
|
||
end
|
||
|
||
local shortCutAuto = ShortCutProxy.SkillShortCut.Auto
|
||
return source:GetPosInShortCutGroup(shortCutAuto) ~= target:GetPosInShortCutGroup(shortCutAuto)
|
||
end
|
||
return false
|
||
end
|
||
|
||
function SkillView:CheckAutoIsLast()
|
||
if(SkillProxy.Instance:GetEquipedAutoSkillNum()<=1) then
|
||
MsgManager.ShowMsgByIDTable(1951)
|
||
return true
|
||
end
|
||
return false
|
||
end
|
||
|
||
function SkillView:TakeOffSkill(obj)
|
||
local data = obj.data
|
||
if(data~=nil) then
|
||
if(data.class == AutoShortCutSkillDragCell) then
|
||
if(self:CheckAutoIsLast()) then
|
||
return
|
||
end
|
||
if(data:IsLocked(self.shortcutSwitchID)) then
|
||
return
|
||
end
|
||
local normalAtkSkillID = Game.Myself.data:GetAttackSkillIDAndLevel()
|
||
if(normalAtkSkillID) then
|
||
--如果自動技能欄里要脫掉普攻,彈提示
|
||
local skillData = data.data
|
||
if(skillData and skillData.staticData and skillData.staticData.id == normalAtkSkillID) then
|
||
MsgManager.ConfirmMsgByID( 1710,function ()
|
||
TipManager.Instance:CloseBubbleTip()
|
||
ServiceSkillProxy.Instance:TakeOffSkill(skillData.id,skillData.sourceId,self:GetShotCutType(data.class))
|
||
end)
|
||
return
|
||
end
|
||
end
|
||
end
|
||
-- print("clear.."..obj.data.data.id)
|
||
TipManager.Instance:CloseBubbleTip()
|
||
ServiceSkillProxy.Instance:TakeOffSkill(data.data.id,data.data.sourceId,self:GetShotCutType(data.class))
|
||
end
|
||
end
|
||
|
||
function SkillView:GetShotCutType(class)
|
||
if(class == ShortCutSkillDragCell) then
|
||
return self.shortcutSwitchID
|
||
elseif(class == AutoShortCutSkillDragCell)then
|
||
return SceneSkill_pb.ESKILLSHORTCUT_AUTO
|
||
else
|
||
return SceneSkill_pb.ESKILLSHORTCUT_MIN
|
||
end
|
||
end
|
||
|
||
-- function SkillView:UnlockPosHandler(note)
|
||
-- ShortCutProxy.Instance:SetCacheListToRealList()
|
||
-- self:RefreshShortCuts()
|
||
-- end
|
||
|
||
function SkillView:CheckNeedShowProfessToggle()
|
||
local myProfess = profess or MyselfProxy.Instance:GetMyProfession()
|
||
local professTree = ProfessionProxy.Instance:GetProfessionTreeByClassId(myProfess)
|
||
--2016.1.6 MOMO說初心者不需要隱藏職業技能標籤
|
||
-- if(professTree==nil) then
|
||
-- --初心者
|
||
-- self:Hide(self.professSkillToggle.gameObject)
|
||
-- else
|
||
-- self:Show(self.professSkillToggle.gameObject)
|
||
-- end
|
||
end
|
||
|
||
function SkillView:UpdateTopByProfess(myProfess)
|
||
local config = Table_Class[myProfess]
|
||
IconManager:SetProfessionIcon(config.icon, self.professIcon)
|
||
|
||
local jobLevel = ProfessionProxy.Instance:GetThisJobLevelForClient(myProfess,self:GetJobLevel())
|
||
|
||
self.professLevelLabel.text = string.format("Lv.%s",jobLevel)
|
||
self.professNameLabel.text = config.NameZh
|
||
local iconColor = ColorUtil["CareerIconBg"..config.Type]
|
||
if(iconColor==nil) then
|
||
iconColor = ColorUtil.CareerIconBg1
|
||
end
|
||
self.professIconBG.color = iconColor
|
||
end
|
||
|
||
function SkillView:UpdateProfessSkillPoints(curPoints)
|
||
self.currentProfessSkillPoints.text = string.format("%s/%s",curPoints,SkillProxy.UNLOCKPROSKILLPOINTS)
|
||
end
|
||
|
||
function SkillView:UpdateTipLabel()
|
||
self.tipLabel:SetActive(self.multiSaveId == nil)
|
||
end
|
||
|
||
function SkillView:RefreshPoints()
|
||
self.leftPointsLabel.text = string.format(ZhString.SkillView_LeftSkillPointText,Game.Myself.data.userdata:Get(UDEnum.SKILL_POINT))
|
||
-- self:RefreshContent()
|
||
end
|
||
|
||
function SkillView:RefreshShortCuts()
|
||
self:HandleShortCutSwitchActive()
|
||
local equipDatas = SkillProxy.Instance:GetCurrentEquipedSkillData(true,self.shortcutSwitchID)
|
||
self.shortCutList:ResetDatas(equipDatas)
|
||
local cells = self.shortCutList:GetCells()
|
||
if(cells) then
|
||
local data
|
||
local HasJobBreak = MyselfProxy.Instance:HasJobBreak()
|
||
local saveData = SaveInfoProxy.Instance:GetSkillData(self.multiSaveId, self.multiSaveType)
|
||
for i=1,#cells do
|
||
data = cells[i].data
|
||
if(data) then
|
||
if self.multiSaveId == nil then
|
||
cells[i]:NeedHide(ShortCutProxy.Instance:SkillIsLocked(i,self.shortcutSwitchID))
|
||
else
|
||
if saveData ~= nil then
|
||
cells[i]:NeedHide(saveData:SkillIsLocked(i,self.shortcutSwitchID))
|
||
else
|
||
cells[i]:NeedHide(data == nil or data.staticData == nil)
|
||
end
|
||
end
|
||
end
|
||
if(data.staticData==nil or (data:HasNextID(HasJobBreak)==false and data.staticData.Level <= 1)) then
|
||
cells[i]:Hide(cells[i].level.gameObject)
|
||
end
|
||
if self.multiSaveId ~= nil then
|
||
cells[i].dragDrop:SetDragEnable(false)
|
||
end
|
||
end
|
||
self.shortCutList:Layout()
|
||
end
|
||
|
||
equipDatas = SkillProxy.Instance:GetEquipedAutoSkillData(true)
|
||
self.autoShortCutList:ResetDatas(equipDatas)
|
||
if self.multiSaveId ~= nil then
|
||
local autocells = self.autoShortCutList:GetCells()
|
||
if autocells then
|
||
for i=1,#autocells do
|
||
autocells[i].dragDrop:SetDragEnable(false)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
function SkillView:RefreshSkills()
|
||
self:RefreshShortCuts()
|
||
end
|
||
|
||
function SkillView:RefreshProfess()
|
||
self.contentView:CancelSimulate()
|
||
self:CloseSelf()
|
||
end
|
||
|
||
function SkillView:GetJobLevel()
|
||
if self.multiSaveId ~= nil then
|
||
local level = SaveInfoProxy.Instance:GetJobLevel(self.multiSaveId, self.multiSaveType)
|
||
if level ~= nil then
|
||
return level
|
||
end
|
||
end
|
||
return MyselfProxy.Instance:JobLevel()
|
||
end |