UIBallSkin.ts
2.65 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
// Learn TypeScript:
// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
// Learn Attribute:
// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
import { tMgr, WindowName } from "../../Global";
import { TableName } from "../../kernel/table/TableDefine";
import BallSkinItem from "../../prefabs/BallSkinItem";
import { UIBase } from "../UIBase";
import { UIManager } from "../UIManager";
import UITitle from "./UITitle";
const { ccclass, property } = cc._decorator;
@ccclass
export default class UIBallSkin extends UIBase {
private _idList: number[] = [];
private _prefab: cc.Node;
constructor() {
super();
this._useCloseEffect = false;
this._usePopUpEffect = false;
}
//#region lifecycle
protected onLoad(): void {
}
protected onEnable(): void {
this.setAD();
}
setAD() {
this._prefab = this.node.getChildByName('BallSkinItem');
let maxId = tMgr.getTableMaxID(TableName.BALL_SKIN);
let container = cc.find('scrollView/view/content', this.node);
container.removeAllChildren();
container.getComponent(cc.Layout).updateLayout();
let adAdded: boolean = false;
for (let i = 1; i <= maxId; ++i) {
let config = tMgr.getConfig(TableName.BALL_SKIN, i);
config && this._idList.push(i);
let item = cc.instantiate(this._prefab);
item.active = true;
let container = cc.find('scrollView/view/content', this.node);
container.addChild(item);
// if (i == 5 && !adAdded) {
// adAdded = true;
// //插入广告节点
// item.getComponent(BallSkinItem).setBallSkinItem(-1);
// --i;
// }
// else {
item.getComponent(BallSkinItem).setBallSkinItem(i);
// }
}
}
protected onDisable(): void {
}
protected onDestroy(): void {
UIManager.ins.cache.delete(WindowName.BALL_SKIN); // 此界面添加在场景中,会随场景一起销毁,将UIManager中的缓存也删除,避免后续取到被销毁的缓存
}
//#endregion
//#region public method
//#endregion
//#region event
onCloseClick() {
// UIManager.ins.closeWindow(WindowName.BALL_SKIN);
let titleNode = cc.find('Canvas/UITitle', cc.director.getScene());
titleNode.getComponent(UITitle).onBallSkinCloseClick();
}
//#endregion
//#region private method
//#endregion
}