var levelStates = require('LevelStates'); cc.Class({ extends: cc.Component, properties: { //空白预制 720 宽度todo Blank: { default: null, type: cc.Prefab }, //起点 todo StartLine: { default: null, type: cc.Prefab }, //终点 todo FinishLine: { default: null, type: cc.Prefab }, //小的加速带 SprintAB_10: { default: null, type: cc.Prefab }, //中的加速带 SprintAB_20: { default: null, type: cc.Prefab }, //大的加速带 SprintAB_30: { default: null, type: cc.Prefab }, //长加速带 LongABand: { default: null, type: cc.Prefab }, //跳远沙坑 LongJump_Bunker: { default: null, type: cc.Prefab }, //跨栏垫 Hurdle_Cushion: { default: null, type: cc.Prefab }, //标枪模型 Javelin_model: { default: null, type: cc.Prefab }, //标枪距离模板 Javelin_distanceModel: { default: null, type: cc.Prefab }, //骑行模板 BikeModel: { default: null, type: cc.Prefab }, //当前生成的项目是什么,默认是短跑 spawnSportsName: { default: levelStates.spawnSportsName.spawnAll, type: cc.Enum(levelStates.spawnSportsName) }, //短跑项目 SprintSports: { default: null, type: levelStates }, //跳远项目 LongJumpSports: { default: null, type: levelStates }, //跨栏项目 HurdleSports: { default: null, type: levelStates }, //标枪项目 JavelinSports: { default: null, type: levelStates }, //骑行项目 BikeSports: { default: null, type: levelStates }, }, onLoad() { GlobalData.levelManager = this; switch (this.spawnSportsName) { case levelStates.spawnSportsName.spawnAll: // console.log('初始化全部项目',this.spawnSportsName); this.initPrefabs(this.SprintSports); this.initPrefabs(this.LongJumpSports); this.initPrefabs(this.HurdleSports); this.initPrefabs(this.JavelinSports); this.initPrefabs(this.BikeSports); break; case levelStates.spawnSportsName.spawnSprint: // console.log('初始化短跑项目'); this.initPrefabs(this.SprintSports); // console.log(this.SprintSports.itemPrefab); break; case levelStates.spawnSportsName.spawnLongJump: // console.log('初始化跳远项目'); this.initPrefabs(this.LongJumpSports); // console.log(this.LongJumpSports.itemPrefab); break; case levelStates.spawnSportsName.spawnHurdle: // console.log('初始化跨栏项目'); this.initPrefabs(this.HurdleSports); // console.log(this.HurdleSports.itemPrefab); break; case levelStates.spawnSportsName.spawnJavelin: // console.log('初始化标枪项目'); this.initPrefabs(this.JavelinSports); // console.log(this.JavelinSports.itemPrefab); break; case levelStates.spawnSportsName.spawnBike: // console.log('初始化自行车项目'); this.initPrefabs(this.BikeSports); // console.log(this.BikeSports.itemPrefab); break; } }, //初始化预制 initPrefabs(item) { for (var i = 0; i < item.itemArray.length; i++) { switch (item.itemArray[i]) { case levelStates.levelItem.Blank: item.itemPrefab.push(this.Blank); break; case levelStates.levelItem.StartLine: item.itemPrefab.push(this.StartLine); break; case levelStates.levelItem.FinishLine: item.itemPrefab.push(this.FinishLine); break; case levelStates.levelItem.SprintAB_10: item.itemPrefab.push(this.SprintAB_10); break; case levelStates.levelItem.SprintAB_20: item.itemPrefab.push(this.SprintAB_20); break; case levelStates.levelItem.SprintAB_30: item.itemPrefab.push(this.SprintAB_30); break; case levelStates.levelItem.LongABand: item.itemPrefab.push(this.LongABand); break; case levelStates.levelItem.LongJump_Bunker: item.itemPrefab.push(this.LongJump_Bunker); break; case levelStates.levelItem.Hurdle_Cushion: item.itemPrefab.push(this.Hurdle_Cushion); break; case levelStates.levelItem.Javelin_model: item.itemPrefab.push(this.Javelin_model); break; case levelStates.levelItem.Javelin_distanceModel: item.itemPrefab.push(this.Javelin_distanceModel); break; case levelStates.levelItem.BikeModel: item.itemPrefab.push(this.BikeModel); break; } } }, });