import { _decorator, Label, Node, Sprite, VideoPlayer, instantiate } from "cc"; import li_BaseView from "db://assets/Scripts/Main/Common/li_BaseView"; import ResManager from "db://assets/Scripts/Main/Manager/ResManager"; import { DetailImageItem } from "./DetailImageItem"; import { NavigationManager } from "../../manager/NavigationManager"; import ConfigManager from "../../manager/ConfigManager"; const { ccclass, property } = _decorator; @ccclass("GirlDetailPanel") export class GirlDetailPanel extends li_BaseView { @property(Sprite) avatar: Sprite; @property(VideoPlayer) avatarVideo: VideoPlayer; @property(Label) girlName: Label; @property(Node) starParent: Node; @property(Label) tags: Label; @property(Label) descName: Label; @property(Label) descAge: Label; @property(Label) desc: Label; @property(Node) chatBtn: Node; id = 0; @property(DetailImageItem) imgItemInst: DetailImageItem; @property(Node) imgsLayout: Node; openUIDataCT(data) { this.id = data; } onLoadCT() { super.onLoadCT(); this.imgItemInst.node.active = false; this.refresh(this.id); } setVideEnable(enable: boolean) { this.avatarVideo.enabled = enable; if (enable) { this.avatarVideo.play(); } } refresh(index: number) { console.log(index); const dataDetail = ConfigManager.tables.TbGirlsDetail.get(this.id); const data = ConfigManager.tables.TbGirls.get(this.id); this.girlName.string = this.descName.string = data.name; if (dataDetail.pics[0].endsWith("video")) { ResManager.I.changeBundleVideo( this.avatarVideo, dataDetail.pics[0], "Chat18x" ); } if (dataDetail.pics.length > 1) { for (let i = this.imgsLayout.children.length - 1; i >= 0; i--) { this.imgsLayout.children[i].destroy(); } for (let i = 1; i < dataDetail.pics.length; i++) { const path = dataDetail.pics[i]; let newNode = instantiate(this.imgItemInst.node); let item = newNode.getComponent(DetailImageItem); item.refresh(path, this); newNode.active = true; this.imgsLayout.addChild(newNode); } } this.desc.string = dataDetail.detailDesc; let desc = ""; for (let i = 0; i < data.tag.length; i++) { if (i != 0) desc += "\n"; desc += data.tag[i]; } this.tags.string = desc; for (let i = 0; i < 5; i++) { this.starParent.children[i].active = i < data.starCount; } this.descAge.string = data.age.toString(); this.desc.string = dataDetail.detailDesc; this.id = data.id; } OnClickChatBtn() { NavigationManager.Instance.navigateToChat(this.id); this.onClose(); } returnBtn() { this.onClose(); NavigationManager.Instance.navigateToGirlList(1001); //ViewManager.I.openBundlesView("GirlListPanel"); } }