123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- ---@class KLDisplayPanel:UIKmlLuaPanelBase
- ---@field view KLDisplayPanelView
- local KLDisplayPanel = class(UIKmlLuaPanelBase)
- local this =KLDisplayPanel
- local hideTypeStr = {
- [1] = "不隐藏",
- [2] = "全部玩家",
- [3] = "同盟玩家",
- [4] = "敌对玩家",
- [5] = "中立玩家",
- }
- local EHideModeType = {
- None = enum(0),
- EHidePlayerModel = enum(1),
- EHidePlayerSkillEffect = enum(),
- EHidePlayerWing = enum(),
- EHideMeWing = enum(),
- EHidePlayerFootprint = enum(),
- }
- ---创建时调用一次
- function this:Init()
- self.curHideType = EHideModeType.None
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- local hidePlayerModel = SL:GetMetaValue(EMetaVarGetKey.GET_HIDE_PLAYER_MODEL_TYPE)
- local hidePlayerSkillEffect = SL:GetMetaValue(EMetaVarGetKey.GET_HIDE_PLAYER_SKILL_EFFECT_TYPE)
- local hidePlayerWing = SL:GetMetaValue(EMetaVarGetKey.GET_HIDE_PLAYER_WING_TYPE)
- local hideMeWing = SL:GetMetaValue(EMetaVarGetKey.GET_HIDE_ME_WING_TYPE)
- local hidePlayerFootprint = SL:GetMetaValue(EMetaVarGetKey.GET_HIDE_PLAYER_FOOTPRINT_TYPE)
- local isHideCalMonster = SL:GetMetaValue(EMetaVarGetKey.GET_IS_HIDE_CALL_MONSTER)
- local isHideMonsterModel = SL:GetMetaValue(EMetaVarGetKey.GET_IS_HID_MONSTER_MODEL)
- local isHideMonsterSkillEffect = SL:GetMetaValue(EMetaVarGetKey.GET_IS_HID_MONSTER_SKILL_EFFECT)
- local isLimitShowCount = SL:GetMetaValue(EMetaVarGetKey.GET_IS_LIMIT_PLAYER_SHOW_COUNT)
- local limitShowCount = SL:GetMetaValue(EMetaVarGetKey.GET_LIMIT_PLAYER_SHOW_COUNT)
- local powerSaveMode = SL:GetMetaValue(EMetaVarGetKey.GET_POWER_SAVING_MODE)
- GUI:Text_setString(self.view.hidePlayerModelTxt,hideTypeStr[hidePlayerModel])
- GUI:Text_setString(self.view.hidePlayerSkillEffectTxt,hideTypeStr[hidePlayerSkillEffect])
- GUI:Text_setString(self.view.hidePlayerWingTxt,hideTypeStr[hidePlayerWing])
- GUI:Text_setString(self.view.hideMeWingTxt,hideTypeStr[hideMeWing])
- GUI:Text_setString(self.view.hidePlayerFootprintTxt,hideTypeStr[hidePlayerFootprint])
- GUI:SetIsOnWithoutNotify(self.view.hidePetModel,isHideCalMonster)
- GUI:SetIsOnWithoutNotify(self.view.hideMonsterModel,isHideMonsterModel)
- GUI:SetIsOnWithoutNotify(self.view.hideMonsterSkillEffect,isHideMonsterSkillEffect)
- GUI:SetIsOnWithoutNotify(self.view.IsPlayerNum,isLimitShowCount)
- GUI:Text_setString(self.view.playerCount,tostring(limitShowCount))
- GUI:Slider_setPercent(self.view.SliderShowPlayer,limitShowCount)
- GUI:SetIsOnWithoutNotify(self.view["powerSaving"..powerSaveMode],true)
-
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:SetToggleOnValueChange(self.view.hidePlayerModelToggle,self,self.HidePlayerModelToggleOnValueChange)
- GUI:SetToggleOnValueChange(self.view.hidePlayerSkillEffectToggle,self,self.HidePlayerSkillEffectToggleOnValueChange)
- GUI:SetToggleOnValueChange(self.view.hidePlayerWingToggle,self,self.HidePlayerWingToggleOnValueChange)
- GUI:SetToggleOnValueChange(self.view.hideMeWingToggle,self,self.HideMeWingToggleOnValueChange)
- GUI:SetToggleOnValueChange(self.view.hidePlayerFootprintToggle,self,self.HidePlayerFootprintToggleOnValueChange)
- GUI:SetToggleOnValueChange(self.view.hidePetModel,self,self.HidePetModelOnValueChange)
- GUI:SetToggleOnValueChange(self.view.hideMonsterModel,self,self.HideMonsterModelOnValueChange)
- GUI:SetToggleOnValueChange(self.view.hideMonsterSkillEffect,self,self.HideMonsterSkillEffectOnValueChange)
- GUI:SetToggleOnValueChange(self.view.IsPlayerNum,self,self.IsPlayerNumOnValueChange)
- GUI:Slider_addOnEvent(self.view.SliderShowPlayer,self,self.SliderShowPlayerOnValueChange)
- GUI:SetToggleOnValueChange(self.view.powerSaving1,self,self.SelectPowerMode,EGameQualityType.PowerSave)
- GUI:SetToggleOnValueChange(self.view.powerSaving2,self,self.SelectPowerMode,EGameQualityType.Balance)
- GUI:SetToggleOnValueChange(self.view.powerSaving3,self,self.SelectPowerMode,EGameQualityType.Strongest)
- GUI:AddOnClickEvent(self.view.noHideBtn,self,self.HideModeSelectOnClick,EHideType.ENoHide)
- GUI:AddOnClickEvent(self.view.hideAllBtn,self,self.HideModeSelectOnClick,EHideType.EAllHide)
- GUI:AddOnClickEvent(self.view.hideUnioBtn,self,self.HideModeSelectOnClick,EHideType.ELeaguePlayerHide)
- GUI:AddOnClickEvent(self.view.hideEnemyBtn,self,self.HideModeSelectOnClick,EHideType.ERivalryPlayerHide)
- GUI:AddOnClickEvent(self.view.BtnReDefaultDispaly,self,self.ReDefaultDispalyBtnOnClick)
- end
- function this:HidePlayerModelToggleOnValueChange(control,_,data)
- local isToggle = data[1]
- if isToggle then
- self.curHideType = EHideModeType.EHidePlayerModel
- GUI:setPositionY(self.view.selectMenu,252)
- self:ResetToggle(false,82)
- end
- GUI:setVisible(self.view.selectMenu,isToggle)
- end
- function this:HidePlayerSkillEffectToggleOnValueChange(control,_,data)
- local isToggle = data[1]
- if isToggle then
- self.curHideType = EHideModeType.EHidePlayerSkillEffect
- GUI:setPositionY(self.view.selectMenu,218)
- self:ResetToggle(false,82)
- end
- GUI:setVisible(self.view.selectMenu,isToggle)
- end
- function this:HidePlayerWingToggleOnValueChange(control,_,data)
- local isToggle = data[1]
- if isToggle then
- self.curHideType = EHideModeType.EHidePlayerWing
- GUI:setPositionY(self.view.selectMenu,184)
- self:ResetToggle(false,82)
- end
- GUI:setVisible(self.view.selectMenu,isToggle)
- end
- function this:HideMeWingToggleOnValueChange(control,_,data)
- local isToggle = data[1]
- if isToggle then
- self.curHideType = EHideModeType.EHideMeWing
- GUI:setPositionY(self.view.selectMenu,152)
- self:ResetToggle(true,42)
- end
- GUI:setVisible(self.view.selectMenu,isToggle)
- end
- function this:HidePlayerFootprintToggleOnValueChange(control,_,data)
- local isToggle = data[1]
- if isToggle then
- self.curHideType = EHideModeType.EHidePlayerFootprint
- GUI:setPositionY(self.view.selectMenu,117)
- self:ResetToggle(false,82)
- end
- GUI:setVisible(self.view.selectMenu,isToggle)
- end
- function this:HidePetModelOnValueChange(control,_,data)
- local isToggle = data[1]
- SL:SetMetaValue(EMetaVarSetKey.SET_IS_HIDE_CALL_MONSTER,isToggle)
- end
- function this:HideMonsterModelOnValueChange(control,_,data)
- local isToggle = data[1]
- SL:SetMetaValue(EMetaVarSetKey.SET_IS_HID_MONSTER_MODEL,isToggle)
- end
- function this:HideMonsterSkillEffectOnValueChange(control,_,data)
- local isToggle = data[1]
- SL:SetMetaValue(EMetaVarSetKey.SET_IS_HID_MONSTER_SKILL_EFFECT,isToggle)
- end
- function this:IsPlayerNumOnValueChange(control,_,data)
- local isToggle = data[1]
- SL:SetMetaValue(EMetaVarSetKey.SET_IS_LIMIT_PLAYER_SHOW_COUNT,isToggle)
- end
- function this:SliderShowPlayerOnValueChange(control,_,data)
- local value = math.ceil(data[1])
- SL:SetMetaValue(EMetaVarSetKey.SET_LIMIT_PLAYER_SHOW_COUNT,value)
- GUI:Text_setString(self.view.playerCount,tostring(value))
- end
- function this:SelectPowerMode(control,data,_)
- SL:SetMetaValue(EMetaVarSetKey.SET_POWER_SAVING_MODE,data)
- self:Refresh()
- end
- function this:HideModeSelectOnClick(control,data,_)
- GUI:setVisible(self.view.selectMenu,false)
- if self.curHideType == EHideModeType.EHidePlayerModel then
- SL:SetMetaValue(EMetaVarSetKey.SET_HIDE_PLAYER_MODEL_TYPE,data)
- GUI:Text_setString(self.view.hidePlayerModelTxt,hideTypeStr[data])
- GUI:SetIsOnWithoutNotify(self.view.hidePlayerModelToggle,false)
- elseif self.curHideType == EHideModeType.EHidePlayerSkillEffect then
- SL:SetMetaValue(EMetaVarSetKey.SET_HIDE_PLAYER_SKILL_EFFECT_TYPE,data)
- GUI:Text_setString(self.view.hidePlayerSkillEffectTxt,hideTypeStr[data])
- GUI:SetIsOnWithoutNotify(self.view.hidePlayerSkillEffectToggle,false)
- elseif self.curHideType == EHideModeType.EHidePlayerWing then
- SL:SetMetaValue(EMetaVarSetKey.SET_HIDE_PLAYER_WING_TYPE,data)
- GUI:Text_setString(self.view.hidePlayerWingTxt,hideTypeStr[data])
- GUI:SetIsOnWithoutNotify(self.view.hidePlayerWingToggle,false)
- elseif self.curHideType == EHideModeType.EHideMeWing then
- SL:SetMetaValue(EMetaVarSetKey.SET_HIDE_ME_WING_TYPE,data)
- GUI:Text_setString(self.view.hideMeWingTxt,hideTypeStr[data])
- GUI:SetIsOnWithoutNotify(self.view.hideMeWingToggle,false)
- elseif self.curHideType == EHideModeType.EHidePlayerFootprint then
- SL:SetMetaValue(EMetaVarSetKey.SET_HIDE_PLAYER_FOOTPRINT_TYPE,data)
- GUI:Text_setString(self.view.hidePlayerFootprintTxt,hideTypeStr[data])
- GUI:SetIsOnWithoutNotify(self.view.hidePlayerFootprintToggle,false)
- end
-
- end
- function this:ResetToggle(isSpecial,height)
- GUI:SetIsOnWithoutNotify(self.view.hidePlayerModelToggle,self.curHideType == EHideModeType.EHidePlayerModel)
- GUI:SetIsOnWithoutNotify(self.view.hidePlayerSkillEffectToggle,self.curHideType == EHideModeType.EHidePlayerSkillEffect)
- GUI:SetIsOnWithoutNotify(self.view.hidePlayerWingToggle,self.curHideType == EHideModeType.EHidePlayerWing)
- GUI:SetIsOnWithoutNotify(self.view.hideMeWingToggle,self.curHideType == EHideModeType.EHideMeWing)
- GUI:SetIsOnWithoutNotify(self.view.hidePlayerFootprintToggle,self.curHideType == EHideModeType.EHidePlayerFootprint)
- GUI:setContentSize(self.view.selectMenu,94,height)
- GUI:setVisible(self.view.hideUnioBtn,not isSpecial)
- GUI:setVisible(self.view.hideEnemyBtn,not isSpecial)
- end
- function this:ReDefaultDispalyBtnOnClick()
- SL:ReplyDefaultShowSetting()
- self:Refresh()
- end
- function this:Close()
- end
- return this
|