ActivitiesNoticeItem.ts
1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { DummyNode, DummyRichText, DummySprite } from "../../common/CCDummyObjects";
import { ResUtils } from "../../common/utils/ResUtils";
import { ActivitiesItemModelManager } from "../model/ActivitiesItemModelManager";
const { ccclass, property } = cc._decorator;
@ccclass
export default class ActivitiesNoticeItem extends cc.Component {
@property({ type: cc.Sprite, displayName: "Background sprite" })
backgroundSprite: cc.Sprite = DummySprite;
@property({ type: cc.Node, displayName: "Click node" })
clickNode: cc.Node = DummyNode;
@property({ type: cc.Node, displayName: "RedDot node" })
redDotNode: cc.Node = DummyNode;
@property({ type: cc.RichText, displayName: "Background richText" })
describeRichText: cc.RichText = DummyRichText;
private _activityId: number;
private _callFunc: () => void;
async setData(activityId: number, canClick: boolean, describe: string, callback: () => void) {
this._activityId = activityId;
this._callFunc = callback;
this.backgroundSprite.spriteFrame = await ResUtils.loadRes(`textures/notice/activitiesItem/${activityId}`, cc.SpriteFrame);
this.clickNode.active = canClick;
this.describeRichText.string = describe;
this.refreshRedDot();
}
refreshRedDot() {
let isReaded = ActivitiesItemModelManager.getActivitiesReaded(this._activityId);
this.redDotNode.active = !isReaded;
}
onItemButtonClick() {
if (this._callFunc) {
this._callFunc();
}
}
}