//#region 文件引入 import { _decorator, Button, Component, Label, Node, sp, Sprite,Animation, RichText, tween } from "cc"; import BaseUIForm from "../../Mgr_UI/BaseUIForm"; import TimeUtils from "../../ExUtils/TimeUtils"; import GDUtils from "../../ExCUtils/GDUtils"; //#endregion 文件引入 const {ccclass, property,menu} = _decorator; @ccclass("PopPassInfoUI_Proxy") export default class PopPassInfoUI_Proxy extends BaseUIForm{ //#region 节点自动生成 @property(Node) n_timeinfo: Node = null; @property(Label) lab_time: Label = null; @property(Label) lab_time_title: Label = null; @property(Node) n_time_star: Node = null; @property(Node) n_fightinfo: Node = null; @property(Label) lab_fight: Label = null; @property(Label) lab_fight_title: Label = null; @property(Node) n_fight_star: Node = null; //#endregion 节点自动生成 onButtonClick(button:Button){ /**点击事件触发*/ switch (button) { default: ConsoleEx.Log(button); break; } } protected start(): void { const passtime = this.mDataMgr.Pass.record_times; CNodeUtils.switchText(this.lab_time,TimeUtils.makeTimeLeftString(passtime, "分")); CNodeUtils.switchText(this.lab_fight, this.mDataMgr.Role.fighting); // 时间评级 const rating = this.mDataMgr.Pass.timeRatingConfig; // 计算时间星星数量 const timeStars = rating.starFormula(passtime); this.createStars(this.n_time_star, timeStars, rating.starLevel); this.lab_time_title.color = this.lab_time_title.color.fromHEX(GDUtils.GetQualityColorHEX(rating.starLevel)); CNodeUtils.switchText(this.lab_time_title, rating.title); // 战力评级 const fightingRating = this.mDataMgr.Pass.fightingRatingConfig; // 计算战力星星数量 const fightStars = fightingRating.starFormula(this.mDataMgr.Role.fighting); this.createStars(this.n_fight_star, fightStars, fightingRating.starLevel); this.lab_fight_title.color = this.lab_fight_title.color.fromHEX(GDUtils.GetQualityColorHEX(fightingRating.starLevel)); CNodeUtils.switchText(this.lab_fight_title, fightingRating.title); } private createStars(tNode: Node, starCount: number, starLevel: number) { // 限制星星数量不超过5个 starCount = Math.min(starCount, 5); for (let i = 0; i < tNode.children.length; i++) { let star = tNode.children[i]; CNodeUtils.setActive(star, i < starCount); if(i < starCount){ let starIcon:Sprite = star.getComponent(Sprite); starIcon.color = GDUtils.GetQualityColor(starLevel); } } } }