CashMapDecoder.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. var CashData = require("CashData");
  2. var CashMapDecoder = cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. jsonName:"cash",
  6. cashList:{
  7. default:[],
  8. type:[CashData],
  9. },
  10. },
  11. //解析数据
  12. DecodeJson:function (event) {
  13. //cc.log("===解析现金数据===");
  14. var self = this;
  15. self.reCb = event;
  16. cc.loader.loadRes("json/"+self.jsonName, function (error, obj) {
  17. if(error)
  18. {
  19. //cc.log("+++解析出错,查下json+++" + error);
  20. self.reCb(false);
  21. return;
  22. }
  23. var jsonRoot = obj.json.cash;
  24. //cc.log("===数据长度===" + jsonRoot.length);
  25. for (var i = 0; i < jsonRoot.length; i++) {
  26. var cashD = new CashData();
  27. cashD.Id = jsonRoot[i].Id;
  28. cashD.cash = jsonRoot[i].cash;
  29. cashD.weight = jsonRoot[i].weight;
  30. self.cashList[i] = cashD;
  31. }
  32. self.reCb(true);
  33. });
  34. },
  35. //通过名字拿到当前的数据 不建议用,你要用我也没办法
  36. getDataByName:function (name) {
  37. var data = null;
  38. for (var i = this.cashList.length - 1; i >= 0; i--) {
  39. if(name == this.cashList[i].name)
  40. {
  41. data = this.cashList[i];
  42. break;
  43. }
  44. }
  45. return data;
  46. },
  47. //通过itemid获取数据
  48. getDataByItemId:function(itemId){
  49. var data = null;
  50. for (var i = this.cashList.length - 1; i >= 0; i--) {
  51. if(itemId == this.cashList[i].Id)
  52. {
  53. data = this.cashList[i];
  54. break;
  55. }
  56. }
  57. return data;
  58. },
  59. getJsonLength:function(){
  60. return this.cashList.length
  61. },
  62. });
  63. module.exports = CashMapDecoder;