1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- var CompanyData = require("CompanyData");
- var ProData = require("ProData");
- var CompanyMapDecoder = cc.Class({
- extends: cc.Component,
- properties: {
- jsonName:"company",
- companyList:{
- default:[],
- type:[CompanyData],
- },
- },
- //解析数据
- DecodeJson:function (event) {
- //cc.log("===解析公司数据===");
- var self = this;
- self.reCb = event;
- cc.loader.loadRes("json/"+self.jsonName, function (error, obj) {
- if(error)
- {
- //cc.log("+++解析出错,查下json+++" + error);
- self.reCb(false);
- return;
- }
-
- var jsonRoot = obj.json.company;
- //cc.log("===数据长度===" + jsonRoot.length);
- for (var i = 0; i < jsonRoot.length; i++) {
- var comData = new CompanyData();
- comData.Id = jsonRoot[i].Id;
- comData.icon = jsonRoot[i].icon;
- comData.name = jsonRoot[i].name;
- comData.inPrice = jsonRoot[i].inPrice;
- comData.outPrice = jsonRoot[i].outPrice; //破产点
- comData.LimitYear = jsonRoot[i].LimitYear;
- comData.bonusRatio = jsonRoot[i].bonusRatio;
- //买到后刷这个比例
- for (var j = 0; j < jsonRoot[i].proList.length; j++) {
- var proD = new ProData();
- proD.lowRatio = jsonRoot[i].proList[j][0];
- proD.upRatio = jsonRoot[i].proList[j][1];
- proD.weight = jsonRoot[i].proList[j][2];
- comData.proList[j] = proD;
- }
- //没有买时候刷这个比例
- for (var j = 0; j < jsonRoot[i].unList.length; j++) {
- var proD = new ProData();
- proD.lowRatio = jsonRoot[i].unList[j][0];
- proD.upRatio = jsonRoot[i].unList[j][1];
- proD.weight = jsonRoot[i].unList[j][2];
- comData.unList[j] = proD;
- }
- self.companyList[i] = comData;
- }
- self.reCb(true);
- });
- },
- //通过名字拿到当前的数据 不建议用,你要用我也没办法
- getDataByName:function (name) {
- var data = null;
- for (var i = this.companyList.length - 1; i >= 0; i--) {
- if(name == this.companyList[i].name)
- {
- data = this.companyList[i];
- break;
- }
- }
- return data;
- },
- //通过itemid获取数据
- getDataByItemId:function(itemId){
- var data = null;
- for (var i = this.companyList.length - 1; i >= 0; i--) {
- if(itemId == this.companyList[i].Id)
- {
- data = this.companyList[i];
- break;
- }
- }
- return data;
- },
- getJsonLength:function(){
- return this.companyList.length
- },
- getDataList:function(){
- return this.companyList;
- },
- });
- module.exports = CompanyMapDecoder;
|