import { _decorator, Component, Label, Node } from 'cc'; const { ccclass, property } = _decorator; @ccclass('RedPointInfo') export class RedPointInfo extends Component { // [1] @property({ type: Node, displayName: "红点", }) redNode: Node = null; @property({ type: Node, displayName: "红点New" }) newNode: Node = null; @property({ type: Node, displayName: "红点带数字" }) numNode: Node = null; @property({ type: Label, displayName: "红点数字" }) numNodeText: Label = null; @property({ type: Node, displayName: "红点绿色" }) blueNode: Node = null; @property({ type: Node, displayName: "红点满" }) fullNode: Node = null; private showType: number = -1; private showCount: number = 0; start() { this.updateRedPoint(this.showType, this.showCount); console.log("RedPointInfo start"); } /** * * @param type -1 不显示,0 红点,1 new ,2,数字展示,3绿色,4满 * @param count * @param ctrl */ public updateRedPoint(type: number = -1, count: number = 0) { this.showType = type; this.showCount = count; if (this.redNode == null) { return; } this.redNode.active = false; this.newNode.active = false; this.numNode.active = false; this.numNodeText.string = ''; this.blueNode.active = false; this.fullNode.active = false; switch (type) { case 0: this.redNode.active = true; break; case 1: this.newNode.active = true; break; case 2: this.numNode.active = true; this.numNodeText.string = count.toString(); break; case 3: this.blueNode.active = true; break; case 4: this.fullNode.active = true; break; } if (count > 0) { this.node.getChildByName("effect").active = true; } else { this.node.getChildByName("effect").active = false; } } update(deltaTime: number) { } }