MapDataMgr.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. var CarMapDecoder = require("CarMapDecoder");
  2. var CompanyMapDecoder = require("CompanyMapDecoder");
  3. var GoodMapDecoder = require("GoodMapDecoder");
  4. var HouseMapDecoder = require("HouseMapDecoder");
  5. var MateMapDecoder = require("MateMapDecoder");
  6. var SkillMapDecoder = require("SkillMapDecoder");
  7. var CashMapDecoder = require("CashMapDecoder");
  8. var AchieveMapDecoder = require("AchieveMapDecoder");
  9. var EventMapDecoder = require("EventMapDecoder");
  10. var ItemType = require("ItemType");
  11. var MapDataMgr = cc.Class({
  12. extends: cc.Component,
  13. properties: {
  14. carMap:null,
  15. companyMap:null,
  16. goodsMap:null,
  17. houseMap:null,
  18. mateMap:null,
  19. skillMap:null,
  20. cashMap:null,
  21. achieveMap:null,
  22. eventDataMap:null,
  23. decodeAll:0,
  24. },
  25. checkInitMapSuc:function(){
  26. if(this.decodeAll == 100)
  27. {
  28. //cc.log("数据解析完了");
  29. }
  30. },
  31. //初始化解析数据表
  32. initMaps:function () {
  33. cc.log("开始解析数据了");
  34. cc.Mgr.Parse = false;
  35. this.goodsMap = new GoodMapDecoder();
  36. this.cashMap = new CashMapDecoder();
  37. this.houseMap = new HouseMapDecoder();
  38. this.companyMap = new CompanyMapDecoder();
  39. this.carMap = new CarMapDecoder();
  40. this.mateMap = new MateMapDecoder();
  41. this.skillMap = new SkillMapDecoder();
  42. this.achieveMap = new AchieveMapDecoder();
  43. this.eventDataMap = new EventMapDecoder();
  44. var self = this;
  45. this.decodeAll = 0;
  46. this.carMap.DecodeJson(function(result){
  47. if(result)
  48. {
  49. self.decodeAll +=10;
  50. //cc.log("===解析数据成功=== 汽车" + self.decodeAll);
  51. if(self.decodeAll == 100)
  52. {
  53. cc.Mgr.Parse = true;
  54. cc.director.GlobalEvent.emit(cc.Mgr.Event.ParseFinish, {});
  55. }
  56. }
  57. });
  58. this.companyMap.DecodeJson(function(result){
  59. if(result)
  60. {
  61. self.decodeAll +=10;
  62. //cc.log("===解析数据成功=== 公司" + self.decodeAll);
  63. if(self.decodeAll == 100)
  64. {
  65. cc.Mgr.Parse = true;
  66. cc.director.GlobalEvent.emit(cc.Mgr.Event.ParseFinish, {});
  67. }
  68. }
  69. });
  70. this.houseMap.DecodeJson(function(result){
  71. if(result)
  72. {
  73. self.decodeAll +=10;
  74. //cc.log("===解析数据成功=== 房子"+ self.decodeAll);
  75. if(self.decodeAll == 100)
  76. {
  77. cc.Mgr.Parse = true;
  78. cc.director.GlobalEvent.emit(cc.Mgr.Event.ParseFinish, {});
  79. }
  80. }
  81. });
  82. this.mateMap.DecodeJson(function(result){
  83. if(result)
  84. {
  85. self.decodeAll +=10;
  86. //cc.log("===解析数据成功=== 小伙伴" + self.decodeAll);
  87. if(self.decodeAll == 100)
  88. {
  89. cc.Mgr.Parse = true;
  90. cc.director.GlobalEvent.emit(cc.Mgr.Event.ParseFinish, {});
  91. }
  92. }
  93. });
  94. this.skillMap.DecodeJson(function(result){
  95. if(result)
  96. {
  97. self.decodeAll +=10;
  98. //cc.log("===解析数据成功=== 技能" + self.decodeAll);
  99. if(self.decodeAll == 100)
  100. {
  101. cc.Mgr.Parse = true;
  102. cc.director.GlobalEvent.emit(cc.Mgr.Event.ParseFinish, {});
  103. }
  104. }
  105. });
  106. this.cashMap.DecodeJson(function(result){
  107. if(result)
  108. {
  109. self.decodeAll +=10;
  110. //cc.log("===解析数据成功=== 现金" + self.decodeAll);
  111. if(self.decodeAll == 100)
  112. {
  113. cc.Mgr.Parse = true;
  114. cc.director.GlobalEvent.emit(cc.Mgr.Event.ParseFinish, {});
  115. }
  116. }
  117. });
  118. this.achieveMap.DecodeJson(function(result){
  119. if(result)
  120. {
  121. self.decodeAll +=10;
  122. //cc.log("===解析数据成功=== 成就" + self.decodeAll);
  123. if(self.decodeAll == 100)
  124. {
  125. cc.Mgr.Parse = true;
  126. cc.director.GlobalEvent.emit(cc.Mgr.Event.ParseFinish, {});
  127. }
  128. }
  129. });
  130. this.eventDataMap.DecodeJson(function(result){
  131. if(result)
  132. {
  133. self.decodeAll +=10;
  134. //cc.log("===解析数据成功=== 事件" + self.decodeAll);
  135. if(self.decodeAll == 100)
  136. {
  137. cc.Mgr.Parse = true;
  138. cc.director.GlobalEvent.emit(cc.Mgr.Event.ParseFinish, {});
  139. }
  140. }
  141. });
  142. this.goodsMap.DecodeJson(function(result){
  143. if(result)
  144. {
  145. self.decodeAll +=20;
  146. //cc.log("===解析数据成功=== 货物" + self.decodeAll);
  147. if(self.decodeAll == 100)
  148. {
  149. cc.Mgr.Parse = true;
  150. cc.director.GlobalEvent.emit(cc.Mgr.Event.ParseFinish, {});
  151. }
  152. }
  153. });
  154. },
  155. getDataByItemTypeAndId:function(itemType, itemId){
  156. var data = null;
  157. //cc.log("ItemType = " + itemType + " Id = " + itemId);
  158. switch(itemType)
  159. {
  160. case ItemType.Cash:
  161. data = this.cashMap.getDataByItemId(itemId);
  162. break;
  163. case ItemType.Goods:
  164. data = this.goodsMap.getDataByItemId(itemId);
  165. break;
  166. case ItemType.Skill:
  167. data = this.skillMap.getDataByItemId(itemId);
  168. break;
  169. case ItemType.Company:
  170. data = this.companyMap.getDataByItemId(itemId);
  171. break;
  172. case ItemType.House:
  173. data = this.houseMap.getDataByItemId(itemId);
  174. break;
  175. case ItemType.Car:
  176. data = this.carMap.getDataByItemId(itemId);
  177. break;
  178. case ItemType.Mate:
  179. data = this.mateMap.getDataByItemId(itemId);
  180. break;
  181. case ItemType.Achieve:
  182. data = this.achieveMap.getDataByItemId(itemId);
  183. break;
  184. case ItemType.EventData:
  185. data = this.eventDataMap.getDataByItemId(itemId);
  186. break;
  187. }
  188. return data;
  189. },
  190. getDataLengthByItemType:function(itemType){
  191. var len = 0;
  192. switch(itemType)
  193. {
  194. case ItemType.Cash:
  195. len = this.cashMap.getJsonLength();
  196. break;
  197. case ItemType.Goods:
  198. len = this.goodsMap.getJsonLength();
  199. break;
  200. case ItemType.Skill:
  201. len = this.skillMap.getJsonLength();
  202. break;
  203. case ItemType.Company:
  204. len = this.companyMap.getJsonLength();
  205. break;
  206. case ItemType.House:
  207. len = this.houseMap.getJsonLength();
  208. break;
  209. case ItemType.Car:
  210. len = this.carMap.getJsonLength();
  211. break;
  212. case ItemType.Mate:
  213. len = this.mateMap.getJsonLength();
  214. break;
  215. case ItemType.Achieve:
  216. len = this.achieveMap.getJsonLength();
  217. break;
  218. case ItemType.EventData:
  219. len = this.eventDataMap.getJsonLength();
  220. break;
  221. }
  222. return len;
  223. },
  224. getDataListByItemType:function(itemType){
  225. var dataList = null;
  226. //cc.log("拿数据 = " + itemType);
  227. switch(itemType)
  228. {
  229. case ItemType.Cash:
  230. dataList = this.cashMap.getDataList();
  231. break;
  232. case ItemType.Goods:
  233. dataList = this.goodsMap.getDataList();
  234. break;
  235. case ItemType.Skill:
  236. dataList = this.skillMap.getDataList();
  237. break;
  238. case ItemType.Company:
  239. dataList = this.companyMap.getDataList();
  240. break;
  241. case ItemType.House:
  242. dataList = this.houseMap.getDataList();
  243. break;
  244. case ItemType.Car:
  245. dataList = this.carMap.getDataList();
  246. break;
  247. case ItemType.Mate:
  248. dataList = this.mateMap.getDataList();
  249. break;
  250. case ItemType.Achieve:
  251. dataList = this.achieveMap.getDataList();
  252. break;
  253. case ItemType.EventData:
  254. dataList = this.eventDataMap.getDataList();
  255. break;
  256. }
  257. //cc.log("取得数据 " + dataList.length);
  258. return dataList;
  259. },
  260. //专门给技能的数据获取用
  261. getSkillListById:function(Id)
  262. {
  263. return this.skillMap.getSkillListById(Id);
  264. },
  265. getSkillDataByTwoId:function(Id, subId){
  266. return this.skillMap.getSkillDataByTwoId(Id);
  267. },
  268. getUpgradeCostByTwoId:function(Id, subId, tolv)
  269. {
  270. return this.skillMap.getUpgradeCostByTwoId(Id, subId, tolv);
  271. },
  272. getSkillAddBonusByTwoIdAndLv:function (Id, subId, tolv) {
  273. return this.skillMap.getSkillAddBonusByTwoIdAndLv(Id, subId, tolv);
  274. },
  275. //获取对应性别的购买物品
  276. getDataListBySex:function(Sex){
  277. return this.goodsMap.getDataListBySex(Sex);
  278. },
  279. });
  280. module.exports = MapDataMgr;