// Learn TypeScript:
//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
// Learn Attribute:
//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html

import User from "../../FrameWork/User/User";
import List from "../../Platform/th/List";
import ChuShiXieHuiManager from "../Manager/ChuShiXieHuiManager";
import ChuShiXieHuiItemNode from "./ChuShiXieHuiItemNode";

const { ccclass, property } = cc._decorator;

@ccclass
export default class ChengJiu extends cc.Component {

    @property(cc.Prefab)
    item: cc.Prefab = null;

    @property(List)
    listCJ: List = null;
    dataListCJ: any[];
    Config: ({ configId: number; icon: string; isNeedAd: boolean; descLab: string; miaoshu: string; moneystr: number; dengji: number; goodids: any[]; isShenQing?: undefined; ganxiezhi?: undefined; } | { configId: number; icon: string; isNeedAd: boolean; descLab: string; miaoshu: string; moneystr: number; dengji: number; isShenQing: boolean; goodids?: undefined; ganxiezhi?: undefined; } | { configId: number; icon: string; isNeedAd: boolean; descLab: string; miaoshu: string; moneystr: number; dengji: number; goodids?: undefined; isShenQing?: undefined; ganxiezhi?: undefined; } | { configId: number; icon: string; isNeedAd: boolean; descLab: string; miaoshu: string; moneystr: number; dengji: number; ganxiezhi: number; goodids?: undefined; isShenQing?: undefined; } | { configId: number; icon: string; isNeedAd: boolean; descLab: string; miaoshu: string; moneystr: number; dengji: number; ganxiezhi: number; isShenQing: boolean; goodids?: undefined; })[];


    // LIFE-CYCLE CALLBACKS:

    // onLoad () {}
    // Config = [
    //     { configId: 0, icon: 'res/三级面点师', isNeedAd: false, descLab: '三级面点师', miaoshu: '等级:300', moneystr: 8000000000, dengji: 300, goodids: [] },
    //     { configId: 1, icon: 'res/厨神', isNeedAd: false, descLab: '协会会员', miaoshu: '等级:400', moneystr: 400000000000, dengji: 400 },
    //     { configId: 2, icon: 'res/二级面点师', isNeedAd: false, descLab: '二级面点师', miaoshu: '等级:600', moneystr: 100000000000000, dengji: 600 },
    //     { configId: 3, icon: 'res/一级面点师', isNeedAd: false, descLab: '一级面点师', miaoshu: '等级:900', moneystr: 1000000000000000000, dengji: 900 },
    //     { configId: 4, icon: 'res/厨神', isNeedAd: false, descLab: '协会副会长', miaoshu: '等级:1000', moneystr: 6000000000000000000, dengji: 1000 },
    //     { configId: 5, icon: 'res/特一级面点师', isNeedAd: false, descLab: '特一级面点师', miaoshu: '等级:1200', moneystr: 4000000000000000000000, dengji: 1200, isShenQing: true },
    //     { configId: 6, icon: 'res/厨神', isNeedAd: false, descLab: '厨神', miaoshu: '等级:1500', moneystr: 2000000000000000000000000000, dengji: 1500, ganxiezhi: 50,  isShenQing: true },
    //     { configId: 7, icon: 'res/厨神', isNeedAd: false, descLab: '协会会长', miaoshu: '等级:1400', moneystr: 200000000000000000000000, dengji: 1400, ganxiezhi: 100, isShenQing: true },
    // ]

    start() {
        this.Config = ChuShiXieHuiManager.getManagerConfigs()
        this.scheduleOnce(() => {
            this.setList()
        }, 0.01)
    }

    setList() {
        let array = this.Config
        this.dataListCJ = []
        for (let n = 0; n < array.length; n++) {
            this.dataListCJ.push(array[n]);
        }
        this.listCJ.numItems = this.dataListCJ.length;

        // let index = TanWeiManager.getLockItemIndex()
        let ChuShiXieHuiLevel = User.getChuShiXieHuiLevel()
        let index = 0
        for (let i = 0; i < ChuShiXieHuiLevel.length; i++) {
            if (ChuShiXieHuiLevel[i] != 1) {
                index = i
                break
            }
            
        }
        this.listCJ.scrollTo(index)
    }
    onListMGridRender(item: cc.Node, idx: number) {

        let config = this.dataListCJ[idx]
        // console.log(config)
        let danItem: ChuShiXieHuiItemNode = item.getComponent('ChuShiXieHuiItemNode')
        danItem.init(config)
    }

    onTouchClose() {
        this.node.removeFromParent()
        this.node.destroy()
    }

    // update (dt) {}
}