import { _decorator, Component, Node, SkeletalAnimationComponent, AnimationComponent, loader, Prefab, CameraComponent, CCInteger, url } from 'cc';
import { GUIManager } from '../../engines/gui/GUIManager';
import { UIConst } from '../ui/UIConst';
import { GameController } from '../ui/fightings/GameController';
import { GameModel } from '../models/GameModel';
import GameConfigManager from '../models/GameConfigManager';
import { LoadingView } from '../../engines/loadingView/LoadingView';
import BufferManager from '../../engines/buffers/BufferManager';
const { ccclass, property } = _decorator;

@ccclass('FightingScene')
export class FightingScene extends Component {
    /* class member could be defined like this */
    // dummy = '';

    /* use `property` decorator if your want the member to be serializable */
    // @property
    // serializableDummy = 0;

    @property({
        type:AnimationComponent
    })
    leftHand:AnimationComponent=null;

    @property({
        type:AnimationComponent
    })
    rightHand:AnimationComponent=null;

    @property({
        type:CameraComponent
    })
    camrea:CameraComponent=null;

    @property({
        type:Node
    })
    LeftEndPos:Node=null;

    @property({
        type:Node
    })
    MiddleEndPos:Node=null;
    
    @property({
        type:Node
    })
    RightEndPos:Node=null;

    @property({
        type:Node
    })
    LeftStartPos:Node=null;

    @property({
        type:Node
    })
    MiddleStartPos:Node=null;
    
    @property({
        type:Node
    })
    RightStartPos:Node=null;
    
     /**
     * 怪物弹坑
     */
    @property({
        type:Prefab
    })
    monsterZhouDanPrefab:Prefab=null;

    onLoad(){
        console.log("进入Fighting场景");
    }

    start () {
        // GameController.single.Init(this.leftHand,this.rightHand);
        
        // // Your initialization goes here.
        // GUIManager.single.Show(UIConst.FIGHTING_UI);
        GUIManager.single.Show(UIConst.FIGHTING_UI);
    }

    update (deltaTime: number) {
        GameController.single.Update(deltaTime);
        GameModel.single.CheckEarnings();
        BufferManager.Tick(deltaTime);
    }
}
