1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import { SmallLevelItem } from "../cfg/smallLevelItem";
- import { GameSysLogic } from "../update/gameSysLogic";
- import { NestCondition } from "./nestCondition";
- export class NestConditionMgr {
- conditionArr: NestCondition[] = [];
- cnt = 0;
- call: Function;
- init(levelData: SmallLevelItem){
- for (let index = 2; index <= 6; index++) {
- let nestKey = `nest${index}`;
- let intervalKey = `interval${index}`;
- if(levelData.data[nestKey] == '' || levelData.data[intervalKey] == '') break;
-
- let condition = new NestCondition();
- condition.name = `interval-${index}`;
- condition.fill(levelData.data[intervalKey]);
- this.conditionArr.push(condition);
- }
- }
- start(){
- this.cnt = 0;
- this.do();
- }
- destroy(){
- this.conditionArr.forEach(v=>{v.end()})
- this.conditionArr = [];
- }
- do(){
- if(this.cnt >= this.conditionArr.length) return;
-
- let condition = this.conditionArr[this.cnt];
- condition.call = ()=>{
- this.call && this.call(this.cnt);
- this.cnt ++;
- this.do();
- }
- condition.start();
- }
- isDone(){
- return this.cnt >= this.conditionArr.length;
- }
- }
|