UIBallSkin.ts 2.65 KB
// 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
}