gameData.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. import GameConfig from "./GameConfig";
  2. import ReadCsv from "./ReadCsv";
  3. const {ccclass, property} = cc._decorator;
  4. @ccclass
  5. export default class gameData extends cc.Component {
  6. static _instance: gameData = null!;
  7. public static instance()
  8. {
  9. if (!this._instance)
  10. {
  11. this._instance = new gameData();
  12. }
  13. return this._instance;
  14. }
  15. /**子弹数据 */
  16. public bullet_Config = [];
  17. /**综合数据 */
  18. public game_Const = [];
  19. /**关卡数据 */
  20. public level_Config = [];
  21. /** 怪物数据*/
  22. public monster_Config = [];
  23. /**塔数据 */
  24. public tower_Config = [];
  25. /**每关怪物出场顺序 */
  26. public timeLevel_Config = [];
  27. /**技能数据 */
  28. public skill_Config = [];
  29. /**ui界面技能升级数据 */
  30. public uiSkill_Config = [];
  31. /**音乐音效数据 */
  32. public audio_Config = [];
  33. private readcount = 0;
  34. public readGameData(callback)
  35. {
  36. this.readcount = 0;
  37. let self = this;
  38. //子弹数据
  39. ReadCsv.instance().CSVToArray("data/bullet_Config",function (data) {
  40. self.bullet_Config = data;
  41. // console.log("self.bullet_Config:"+data);
  42. self.readOver(callback);
  43. });
  44. //综合数据
  45. ReadCsv.instance().CSVToArray("data/game_Const",function (data) {
  46. self.game_Const = data;
  47. // console.log("self.game_Const:"+data);
  48. self.readOver(callback);
  49. });
  50. //关卡数据
  51. ReadCsv.instance().CSVToArray("data/level_Config",function (data) {
  52. self.level_Config = data;
  53. // console.log("self.level_Config:"+data);
  54. self.readOver(callback);
  55. });
  56. //怪物数据
  57. ReadCsv.instance().CSVToArray("data/monster_Config",function (data) {
  58. self.monster_Config = data;
  59. // console.log("self.monster_Config:"+data);
  60. self.readOver(callback);
  61. });
  62. //塔数据
  63. ReadCsv.instance().CSVToArray("data/tower_Config",function (data) {
  64. self.tower_Config = data;
  65. // console.log("self.tower_Config:"+data);
  66. self.readOver(callback);
  67. });
  68. //技能数据
  69. ReadCsv.instance().CSVToArray("data/skill_Config",function (data) {
  70. self.skill_Config = data;
  71. // console.log("self.tower_Config:"+data);
  72. self.readOver(callback);
  73. });
  74. //ui界面技能升级数据
  75. ReadCsv.instance().CSVToArray("data/talent_Config",function (data) {
  76. self.uiSkill_Config = data;
  77. // console.log("self.tower_Config:"+data);
  78. self.readOver(callback);
  79. });
  80. //音乐数据
  81. ReadCsv.instance().CSVToArray("data/audio_Config",function (data) {
  82. self.audio_Config = data;
  83. // console.log("self.tower_Config:"+data);
  84. self.readOver(callback);
  85. });
  86. }
  87. private readOver(callback)
  88. {
  89. this.readcount++;
  90. if (this.readcount == 8) {
  91. if (callback) {
  92. callback();
  93. }
  94. }
  95. }
  96. /**读取每关怪物出场数据 */
  97. public readLevel(level:number,callback)
  98. {
  99. let self = this;
  100. ReadCsv.instance().CSVToArray("data/level_"+level,function (data) {
  101. self.timeLevel_Config = data;
  102. if (callback){
  103. callback();
  104. }
  105. });
  106. }
  107. }