--坐骑 local SettingPlayerTitle = quick_class("SettingPlayerTitle") local this = SettingPlayerTitle local live2dRoot local live2dRoot2 local curPlayerHeadIconConfig local curItemConfig local curUserRideConFig function SettingPlayerTitle:ctor(mainPanel, gameObject) self.mainPanel = mainPanel self.gameObject = gameObject self:InitComponent(gameObject) self:BindEvent() end local titleLive local titleLive2 local sortingorder = 0 local sortingorder2 = 0 local titleLiveStr local titleLiveStr2 local curUserRideId --初始化组件(用于子类重写) function SettingPlayerTitle:InitComponent(gameObject,rootPanel) this.rootPanel = rootPanel this.live2dRootParent = Util.GetGameObject(gameObject, "live2dRootParent") this.live2dRootParent2 = Util.GetGameObject(gameObject, "live2dRootParent2") this.name = Util.GetGameObject(gameObject, "name/Text"):GetComponent("Text") Util.GetGameObject(gameObject, "skinProInfo/getInfoImage/Text"):GetComponent("Text").text = Language[11829] this.getInfo = Util.GetGameObject(gameObject, "skinProInfo/getInfo"):GetComponent("Text") Util.GetGameObject(gameObject, "skinProInfo/proImage/Text"):GetComponent("Text").text = Language[11965] this.goToBtn = Util.GetGameObject(gameObject, "goToBtn") this.goToBtnText = Util.GetGameObject(gameObject, "goToBtn/Text"):GetComponent("Text") this.stateImg = Util.GetGameObject(gameObject, "stateImg"):GetComponent("Image") this.stateImgGo = Util.GetGameObject(gameObject, "stateImg") this.lefeTime = Util.GetGameObject(gameObject, "lefeTime"):GetComponent("Text") this.setImage = Util.GetGameObject(gameObject, "setImage") this.itemPre = Util.GetGameObject(gameObject, "itemPre") this.itemGrid = Util.GetGameObject(gameObject, "rect/grid") this.scrollView=SubUIManager.Open(SubUIConfig.ScrollCycleView,this.itemGrid.transform,this.itemPre, nil,Vector2.New(494.3,525.5),1,1,Vector2.New(0,0)) this.scrollView.gameObject:GetComponent("RectTransform").anchoredPosition= Vector2.New(0,0) this.scrollView.gameObject:GetComponent("RectTransform").anchorMin = Vector2.New(0.5, 0.5) this.scrollView.gameObject:GetComponent("RectTransform").anchorMax = Vector2.New(0.5, 0.5) this.scrollView.gameObject:GetComponent("RectTransform").pivot = Vector2.New(0.5, 0.5) this.scrollView.moveTween.MomentumAmount = 1 this.scrollView.moveTween.Strength = 2 this.proPre = Util.GetGameObject(gameObject, "skinProInfo/proPre") this.proGrid = Util.GetGameObject(gameObject, "skinProInfo/proGrid") this.scrollViewPro=SubUIManager.Open(SubUIConfig.ScrollCycleView,this.proGrid.transform,this.proPre, nil,Vector2.New(458.2,159.6),1,2,Vector2.New(0,0)) this.scrollViewPro.gameObject:GetComponent("RectTransform").anchoredPosition= Vector2.New(0,0) this.scrollViewPro.gameObject:GetComponent("RectTransform").anchorMin = Vector2.New(0.5, 0.5) this.scrollViewPro.gameObject:GetComponent("RectTransform").anchorMax = Vector2.New(0.5, 0.5) this.scrollViewPro.gameObject:GetComponent("RectTransform").pivot = Vector2.New(0.5, 0.5) this.scrollViewPro.moveTween.MomentumAmount = 1 this.scrollViewPro.moveTween.Strength = 2 end --绑定事件(用于子类重写) function SettingPlayerTitle:BindEvent() end --添加事件监听(用于子类重写) function SettingPlayerTitle:AddListener() end --移除事件监听(用于子类重写) function SettingPlayerTitle:RemoveListener() end --界面打开时调用(用于子类重写) function SettingPlayerTitle:OnOpen() end --界面打开或者重新打开后,界面刷新时调用(用于子类重写) function SettingPlayerTitle:OnShow() PlayerManager.SetPlayerTitleRedPoint(PlayerTitleRideSkinRedPointTypeStr.Title,0) this.ShowPanelData() end --显示信息 function this.ShowPanelData() local rideList = ConfigManager.GetAllConfigsDataByKey(ConfigName.PlayerHeadIcon,"Type",PlayerHeadIconType.Designation) local one={} local two={} local three={} for key, value in pairs(rideList) do local id=value.Id if id==PlayerManager.GetPlayerDesignation() then table.insert(one,value) elseif PlayerManager.userTitleList[id] then table.insert(two,value) else table.insert(three,value) end end table.sort(two,function(a,b) return a.Id 0 then curUserRideConFig = ConfigManager.GetConfigData(ConfigName.PlayerHeadIcon,curUserRideId) this.SingleRideClickShowInfo(curUserRideConFig,this.setImage) else this.SingleRideClickShowInfo(curUserRideConFig,this.setImage) end end function this.ShowRideInfo(go,data) local PlayerHeadIconConfig = data local PlayerRoleConFig = ConfigManager.GetConfigData(ConfigName.PlayerRole,PlayerHeadIconConfig.ItemId) local ArtResourcesConfig=ConfigManager.GetConfigData(ConfigName.ArtResourcesConfig,PlayerRoleConFig.LargeIcon) Util.GetGameObject(go, "iconMask/icon"):GetComponent("Image").sprite = Util.LoadSprite(ArtResourcesConfig.Name) Util.GetGameObject(go, "noGetImage/noGetImage/Text"):GetComponent("Text").text = Language[12268] Util.GetGameObject(go, "GetImage/GetImage/Text"):GetComponent("Text").text = Language[12269] local noGetImage = Util.GetGameObject(go, "noGetImage") local GetImage = Util.GetGameObject(go, "GetImage") this.setImage:SetActive(false) if PlayerHeadIconConfig.Id == curUserRideConFig.Id then this.setImage:SetActive(true) this.setImage.transform:SetParent(go.transform) this.setImage.transform.localPosition = Vector3.zero this.setImage.transform.localScale = Vector3.one end local isGet = false if PlayerManager.userTitleList[PlayerHeadIconConfig.Id] then isGet = true end local isUser = false if PlayerManager.GetPlayerDesignation() == PlayerHeadIconConfig.Id then isUser = true end noGetImage:SetActive(not isGet) GetImage:SetActive(isUser) Util.AddOnceClick(go, function() this.SingleRideClickShowInfo(data,go) end) end function this.SingleRideClickShowInfo(data,go) sortingorder=0 sortingorder2=0 curPlayerHeadIconConfig = data if go then this.setImage:SetActive(true) this.setImage.transform:SetParent(go.transform) this.setImage.transform.localPosition = Vector3.zero this.setImage.transform.localScale = Vector3.one end local isGet,isUser = PlayerManager.userTitleList[curPlayerHeadIconConfig.Id],curUserRideId == curPlayerHeadIconConfig.Id curItemConfig = ConfigManager.GetConfigData(ConfigName.ItemConfig,curPlayerHeadIconConfig.ItemId) local rideData = PlayerManager.userTitleList[curPlayerHeadIconConfig.Id] this.getInfo.text = curPlayerHeadIconConfig.ItemDescribe this.scrollViewPro:SetData(curPlayerHeadIconConfig.UnlockProperty,function(index,root) local propertyConfig = ConfigManager.GetConfigData(ConfigName.PropertyConfig, curPlayerHeadIconConfig.UnlockProperty[index][1]) Util.GetGameObject(root, "proValue"):GetComponent("Text").text = GetLanguageStrById(propertyConfig.Info).." ".. GetPropertyFormatStr(propertyConfig.Style, curPlayerHeadIconConfig.UnlockProperty[index][2]) end, not false, not false) this.stateImgGo:SetActive(true) if not isGet and not isUser then this.goToBtnText.text = Language[11829] this.stateImgGo:SetActive(false) elseif isGet and not isUser then this.goToBtnText.text = "佩戴称号" elseif isGet and isUser then this.goToBtnText.text = "取消佩戴" end local setateImageStr = curPlayerHeadIconConfig.Time == 0 and "c_zuoqi_yongjiu_zh" or "c_zuoqi_xianshi_zh" this.stateImg.sprite = Util.LoadSprite(setateImageStr) this.lefeTime.text = curPlayerHeadIconConfig.Time == 0 and "" or Language[12173]..TimeStampToDateStr(rideData.overTime) if live2dRoot then live2dRoot:OnClose() end if live2dRoot2 then live2dRoot2:OnClose() end local curPlayerLiveViewData = { skin = PlayerManager.GetPlayerSkin(), sex = NameManager.roleSex, ride =0, } if titleLive then poolManager:UnLoadAsset(titleLiveStr, titleLive, PoolManager.AssetType.GameObject) titleLive = nil end if titleLive2 then poolManager:UnLoadAsset(titleLiveStr2, titleLive2, PoolManager.AssetType.GameObject) titleLive2 = nil end live2dRoot = PlayerLiveView:New(this.live2dRootParent,2, curPlayerLiveViewData) live2dRoot:OnOpen(GetPlayerRoleSingleConFig().Scale7,nil,WALK_DIR.IDLE_LEFT) local curPlayerRole = ConfigManager.GetConfigData(ConfigName.PlayerRole,data.ItemId) local curArtResourcesConfig = ConfigManager.GetConfigData(ConfigName.ArtResourcesConfig,curPlayerRole.LiveAnimName) this.name.text = curArtResourcesConfig.Desc titleLiveStr = curArtResourcesConfig.Name titleLive = poolManager:LoadAsset(titleLiveStr, PoolManager.AssetType.GameObject) titleLive.transform:SetParent(this.live2dRootParent.transform) titleLive.transform.localPosition = Vector3.New(0,150,0) titleLive.transform.localScale = Vector3.New(0.5,0.5,0.5) Util.AddParticleSortLayer(titleLive,this.rootPanel.sortingOrder - sortingorder2) sortingorder2 = this.rootPanel.sortingOrder local curPlayerRole = ConfigManager.GetConfigData(ConfigName.PlayerRole,data.ItemId) local curArtResourcesConfig = ConfigManager.GetConfigData(ConfigName.ArtResourcesConfig,curPlayerRole.LiveAnimName) titleLiveStr2 = curArtResourcesConfig.Name titleLive2 = poolManager:LoadAsset(titleLiveStr, PoolManager.AssetType.GameObject) titleLive2.transform:SetParent(this.live2dRootParent2.transform) titleLive2.transform.localPosition = Vector3.New(0,0,0) titleLive2.transform.localScale = Vector3.New(1,1,1) Util.AddParticleSortLayer(titleLive2,this.rootPanel.sortingOrder - sortingorder) sortingorder = this.rootPanel.sortingOrder Util.AddOnceClick(this.goToBtn, function() if not isGet and not isUser then PopupTipPanel.ShowTip( curPlayerHeadIconConfig.ItemDescribe) elseif isGet and not isUser then NetManager.RequestChangeModifyDecoration(2,curPlayerHeadIconConfig.Id,function(msg) PlayerManager.SetPlayerDesignation(curPlayerHeadIconConfig.Id) this.ShowPanelData() PlayerManager.SetisRefreshMainPanelNpc(true) PopupTipPanel.ShowTip("已佩戴称号!") end) elseif isGet and isUser then NetManager.RequestChangeModifyDecoration(2,curPlayerHeadIconConfig.Id,function() PlayerManager.SetPlayerDesignation(0) this.ShowPanelData() PlayerManager.SetisRefreshMainPanelNpc(true) PopupTipPanel.ShowTip("已取消佩戴称号!") end) end end) end --界面关闭时调用(用于子类重写) function SettingPlayerTitle:OnClose() if live2dRoot then live2dRoot:OnClose() end if live2dRoot2 then live2dRoot2:OnClose() end end --界面销毁时调用(用于子类重写) function SettingPlayerTitle:OnDestroy() titleLive=nil titleLive2=nil titleLiveStr=nil titleLiveStr2=nil end return SettingPlayerTitle