LevelManager.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. var levelStates = require('LevelStates');
  2. cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. //空白预制 720 宽度todo
  6. Blank: {
  7. default: null,
  8. type: cc.Prefab
  9. },
  10. //起点 todo
  11. StartLine: {
  12. default: null,
  13. type: cc.Prefab
  14. },
  15. //终点 todo
  16. FinishLine: {
  17. default: null,
  18. type: cc.Prefab
  19. },
  20. //小的加速带
  21. SprintAB_10: {
  22. default: null,
  23. type: cc.Prefab
  24. },
  25. //中的加速带
  26. SprintAB_20: {
  27. default: null,
  28. type: cc.Prefab
  29. },
  30. //大的加速带
  31. SprintAB_30: {
  32. default: null,
  33. type: cc.Prefab
  34. },
  35. //长加速带
  36. LongABand: {
  37. default: null,
  38. type: cc.Prefab
  39. },
  40. //跳远沙坑
  41. LongJump_Bunker: {
  42. default: null,
  43. type: cc.Prefab
  44. },
  45. //跨栏垫
  46. Hurdle_Cushion: {
  47. default: null,
  48. type: cc.Prefab
  49. },
  50. //标枪模型
  51. Javelin_model: {
  52. default: null,
  53. type: cc.Prefab
  54. },
  55. //标枪距离模板
  56. Javelin_distanceModel: {
  57. default: null,
  58. type: cc.Prefab
  59. },
  60. //骑行模板
  61. BikeModel: {
  62. default: null,
  63. type: cc.Prefab
  64. },
  65. //当前生成的项目是什么,默认是短跑
  66. spawnSportsName: {
  67. default: levelStates.spawnSportsName.spawnAll,
  68. type: cc.Enum(levelStates.spawnSportsName)
  69. },
  70. //短跑项目
  71. SprintSports: {
  72. default: null,
  73. type: levelStates
  74. },
  75. //跳远项目
  76. LongJumpSports: {
  77. default: null,
  78. type: levelStates
  79. },
  80. //跨栏项目
  81. HurdleSports: {
  82. default: null,
  83. type: levelStates
  84. },
  85. //标枪项目
  86. JavelinSports: {
  87. default: null,
  88. type: levelStates
  89. },
  90. //骑行项目
  91. BikeSports: {
  92. default: null,
  93. type: levelStates
  94. },
  95. },
  96. onLoad() {
  97. GlobalData.levelManager = this;
  98. switch (this.spawnSportsName) {
  99. case levelStates.spawnSportsName.spawnAll:
  100. // console.log('初始化全部项目',this.spawnSportsName);
  101. this.initPrefabs(this.SprintSports);
  102. this.initPrefabs(this.LongJumpSports);
  103. this.initPrefabs(this.HurdleSports);
  104. this.initPrefabs(this.JavelinSports);
  105. this.initPrefabs(this.BikeSports);
  106. break;
  107. case levelStates.spawnSportsName.spawnSprint:
  108. // console.log('初始化短跑项目');
  109. this.initPrefabs(this.SprintSports);
  110. // console.log(this.SprintSports.itemPrefab);
  111. break;
  112. case levelStates.spawnSportsName.spawnLongJump:
  113. // console.log('初始化跳远项目');
  114. this.initPrefabs(this.LongJumpSports);
  115. // console.log(this.LongJumpSports.itemPrefab);
  116. break;
  117. case levelStates.spawnSportsName.spawnHurdle:
  118. // console.log('初始化跨栏项目');
  119. this.initPrefabs(this.HurdleSports);
  120. // console.log(this.HurdleSports.itemPrefab);
  121. break;
  122. case levelStates.spawnSportsName.spawnJavelin:
  123. // console.log('初始化标枪项目');
  124. this.initPrefabs(this.JavelinSports);
  125. // console.log(this.JavelinSports.itemPrefab);
  126. break;
  127. case levelStates.spawnSportsName.spawnBike:
  128. // console.log('初始化自行车项目');
  129. this.initPrefabs(this.BikeSports);
  130. // console.log(this.BikeSports.itemPrefab);
  131. break;
  132. }
  133. },
  134. //初始化预制
  135. initPrefabs(item) {
  136. for (var i = 0; i < item.itemArray.length; i++) {
  137. switch (item.itemArray[i]) {
  138. case levelStates.levelItem.Blank:
  139. item.itemPrefab.push(this.Blank);
  140. break;
  141. case levelStates.levelItem.StartLine:
  142. item.itemPrefab.push(this.StartLine);
  143. break;
  144. case levelStates.levelItem.FinishLine:
  145. item.itemPrefab.push(this.FinishLine);
  146. break;
  147. case levelStates.levelItem.SprintAB_10:
  148. item.itemPrefab.push(this.SprintAB_10);
  149. break;
  150. case levelStates.levelItem.SprintAB_20:
  151. item.itemPrefab.push(this.SprintAB_20);
  152. break;
  153. case levelStates.levelItem.SprintAB_30:
  154. item.itemPrefab.push(this.SprintAB_30);
  155. break;
  156. case levelStates.levelItem.LongABand:
  157. item.itemPrefab.push(this.LongABand);
  158. break;
  159. case levelStates.levelItem.LongJump_Bunker:
  160. item.itemPrefab.push(this.LongJump_Bunker);
  161. break;
  162. case levelStates.levelItem.Hurdle_Cushion:
  163. item.itemPrefab.push(this.Hurdle_Cushion);
  164. break;
  165. case levelStates.levelItem.Javelin_model:
  166. item.itemPrefab.push(this.Javelin_model);
  167. break;
  168. case levelStates.levelItem.Javelin_distanceModel:
  169. item.itemPrefab.push(this.Javelin_distanceModel);
  170. break;
  171. case levelStates.levelItem.BikeModel:
  172. item.itemPrefab.push(this.BikeModel);
  173. break;
  174. }
  175. }
  176. },
  177. });