--坐骑 local SettingPlayerRide = quick_class("SettingPlayerRide") local this = SettingPlayerRide local live2dRoot local live2dRoot2 local curPlayerHeadIconConfig local curItemConfig local curUserRideConFig function SettingPlayerRide:ctor(mainPanel, gameObject) self.mainPanel = mainPanel self.gameObject = gameObject self:InitComponent(gameObject) self:BindEvent() end local curUserRideId --初始化组件(用于子类重写) function SettingPlayerRide:InitComponent(gameObject) this.live2dRootParent = Util.GetGameObject(gameObject, "live2dRootParent") this.live2dRootParent2 = Util.GetGameObject(gameObject, "live2dRootParent2") this.name = Util.GetGameObject(gameObject, "name/Text"):GetComponent("Text") SetTextVerTial(this.name,Vector3.New(120,10,0),nil,nil,5) 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 SettingPlayerRide:BindEvent() end --添加事件监听(用于子类重写) function SettingPlayerRide:AddListener() end --移除事件监听(用于子类重写) function SettingPlayerRide:RemoveListener() end --界面打开时调用(用于子类重写) function SettingPlayerRide:OnOpen() end --界面打开或者重新打开后,界面刷新时调用(用于子类重写) function SettingPlayerRide:OnShow() PlayerManager.SetPlayerRideRedPoint(PlayerTitleRideSkinRedPointTypeStr.Ride,0) this.ShowPanelData() end --显示信息 function this.ShowPanelData() local rideList = ConfigManager.GetAllConfigsDataByKey(ConfigName.PlayerHeadIcon,"Type",PlayerHeadIconType.Ride) --设置滚动区信息 curUserRideId = PlayerManager.GetPlayerRide() curUserRideConFig = rideList[1] this.scrollView:SetData(rideList,function(index,root) this.ShowRideInfo(root,rideList[index]) end, not false, not false) if curUserRideId > 0 then curUserRideConFig = ConfigManager.GetConfigData(ConfigName.PlayerHeadIcon,curUserRideId) this.SingleRideClickShowInfo(curUserRideConFig) else this.SingleRideClickShowInfo(curUserRideConFig) end end function this.ShowRideInfo(go,data) local PlayerHeadIconConfig = data LogBlue("PlayerHeadIconConfig "..PlayerHeadIconConfig.Id) local itemConFig = ConfigManager.GetConfigData(ConfigName.ItemConfig,PlayerHeadIconConfig.ItemId) local PlayerRoleConFig = ConfigManager.GetConfigData(ConfigName.PlayerRole,PlayerHeadIconConfig.ItemId) Util.GetGameObject(go, "iconMask/icon"):GetComponent("Image").sprite = Util.LoadSprite(GetResourcePath(PlayerRoleConFig.LargeIcon)) 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.userMountList[PlayerHeadIconConfig.Id] then isGet = true end local isUser = false if PlayerManager.GetPlayerRide() == 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) 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.userMountList[curPlayerHeadIconConfig.Id],curUserRideId == curPlayerHeadIconConfig.Id curItemConfig = ConfigManager.GetConfigData(ConfigName.ItemConfig,curPlayerHeadIconConfig.ItemId) local rideData = PlayerManager.userMountList[curPlayerHeadIconConfig.Id] this.name.text = GetLanguageStrById(curItemConfig.Name) this.getInfo.text = GetLanguageStrById(curItemConfig.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 = Language[12270] elseif isGet and isUser then this.goToBtnText.text =Language[12271] 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 = curPlayerHeadIconConfig.Id, } live2dRoot = PlayerLiveView:New(this.live2dRootParent,2, curPlayerLiveViewData) live2dRoot:OnOpen(GetPlayerRoleSingleConFig().Scale7,nil,WALK_DIR.IDLE_LEFT) local ridePlayerLiveViewData = { ride = curPlayerHeadIconConfig.Id, } live2dRoot2 = PlayerLiveView:New(this.live2dRootParent2,2, ridePlayerLiveViewData) live2dRoot2:OnOpen(GetPlayerRoleSingleConFig().Scale8,nil,WALK_DIR.IDLE_LEFT) Util.AddOnceClick(this.goToBtn, function() if not isGet and not isUser then PopupTipPanel.ShowTip( curItemConfig.ItemDescribe) elseif isGet and not isUser then NetManager.RequestChangeModifyDecoration(3,curPlayerHeadIconConfig.Id,function(msg) PlayerManager.SetPlayerRide(curPlayerHeadIconConfig.Id) this.ShowPanelData() PlayerManager.SetisRefreshMainPanelNpc(true) PopupTipPanel.ShowTip(Language[12272]) end) elseif isGet and isUser then NetManager.RequestChangeModifyDecoration(3,0,function() PlayerManager.SetPlayerRide(0) this.ShowPanelData() PlayerManager.SetisRefreshMainPanelNpc(true) PopupTipPanel.ShowTip(Language[12273]) end) end end) end --界面关闭时调用(用于子类重写) function SettingPlayerRide:OnClose() if live2dRoot then live2dRoot:OnClose() end if live2dRoot2 then live2dRoot2:OnClose() end end --界面销毁时调用(用于子类重写) function SettingPlayerRide:OnDestroy() end return SettingPlayerRide