import { _decorator, Component, Label, Node, Sprite, UITransform } from "cc"; import Utils from "../../Main/Common/Utils"; import { GButton } from "../../Main/Common/GButton"; import { DataManager, DataId } from "../data/DataManager"; import { GirlData } from "../data/GirlData"; import LanguageUtils from "../../Main/Common/LanguageUtils"; import ResManager from "../../Main/Manager/ResManager"; import { EnvData } from "../data/EnvData"; import { NavigationManager, PanelType } from "../manager/NavigationManager"; const { ccclass, property } = _decorator; @ccclass("RecomandItem") export class RecomandItem extends Component { private _nodeTab: any = {}; private recPic: Sprite; private girlName: Label; private tag: Label; private heartParent: Node; private hearts: Sprite[] = []; private chatBtn: Node; private id: number; init() { Utils.parseNode(this.node, this._nodeTab); this.recPic = this._nodeTab.recPic.getComponent(Sprite); this.girlName = this._nodeTab.name.getComponent(Label); this.tag = this._nodeTab.tag.getComponent(Label); this.heartParent = this._nodeTab.heartBg; this.heartParent.children.forEach((a) => this.hearts.push(a.getComponent(Sprite)) ); this.chatBtn = this._nodeTab.chatBtn; GButton.BandClick(this.chatBtn, this.chatToHer, this); GButton.BandClick(this.chatBtn, this.gotoDetail, this); } refresh(girlId: number) { this.id = girlId; const girlData = DataManager.I.getDataById(DataId.Girl); const category = girlData.getGrilCategoryById(girlId); const rectNameKey = girlData.getRecommendGrilName(); this.girlName.string = LanguageUtils.getText(rectNameKey); const tagkey = girlData.getGrilTagKey(category.toString(), girlId); this.tag.string = LanguageUtils.getText(tagkey); let avatarPath = girlData.getRecommendGrilAvatar(); const starCount = girlData.getStar(category.toString(), girlId); for (let i = 0; i < this.hearts.length; i++) { const element = this.hearts[i]; if (starCount > i) { ResManager.I.changeResourceSpriteFrame(element, "ui/common/ZY_UI_AX1"); } else { ResManager.I.changeResourceSpriteFrame(element, "ui/common/ZY_UI_AX2"); } } // 加载远程资源 const envData = DataManager.I.getDataById(DataId.Env); let newPath = envData.cdn + "/" + "Girls/" + avatarPath + ".png"; ResManager.I.changeRemoteSpriteFrame(this.recPic, newPath, () => { let sizeTran = this.recPic.node.parent.getComponent(UITransform); Utils.adjustBgPixelRatioToSize(sizeTran.contentSize, this.recPic.node, 1); }); } chatToHer() { const girlData = DataManager.I.getDataById(DataId.Girl); NavigationManager.Instance.setSelectedGirlId(this.id); NavigationManager.Instance.setSelectedCategoryId( girlData.getGrilCategoryById(this.id) ); NavigationManager.Instance.switchToPanel(PanelType.GIRL_DETAIL); } gotoDetail() { const girlData = DataManager.I.getDataById(DataId.Girl); NavigationManager.Instance.setSelectedGirlId(this.id); NavigationManager.Instance.setSelectedCategoryId( girlData.getGrilCategoryById(this.id) ); NavigationManager.Instance.switchToPanel(PanelType.GIRL_DETAIL); } }