12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- var EventData = require("EventTipData");
- var EventCost = require("EventCost");
- var EventResult = require("EventResult");
- var EventMapDecoder = cc.Class({
- extends: cc.Component,
- properties: {
- jsonName:"events",
- eventList:{
- default:[],
- type:[EventData],
- },
- },
- //解析数据
- 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.events;
- //cc.log("===数据长度===" + jsonRoot.length);
- for (var i = 0; i < jsonRoot.length; i++) {
- var eventData = new EventData();
- eventData.Id = jsonRoot[i].Id;
- //eventData.icon = jsonRoot[i].icon;
- eventData.name = jsonRoot[i].name;
- eventData.desId = jsonRoot[i].desId;
- //消耗
- for (var j = 0; j < jsonRoot[i].cost.length ; j++) {
- var cData = new EventCost();
- var dt = jsonRoot[i].cost[j];
- cData.costType = dt[0];
- cData.costNum = dt[1];
- cData.desId = dt[2];
- eventData.cost[j] = cData;
- }
- //正向两种结果
- for (var j = 0; j < jsonRoot[i].Yresult.length; j++) {
- var cData = new EventResult();
- var data = jsonRoot[i].Yresult[j];
- cData.rewardType = data[0];
- cData.rewardNum = data[1];
- cData.rewardId = data[2]; //如果奖励的是金钱等 则id 为0
- cData.desId = data[3];
- eventData.YResults[j] = cData;
- }
- //负向两种结果
- for (var j = 0; j < jsonRoot[i].Nresult.length; j++) {
- var cData = new EventResult();
- var data = jsonRoot[i].Nresult[j];
- cData.rewardType = data[0];
- cData.rewardNum = data[1];
- cData.rewardId = data[2]; //如果奖励的是金钱等 则id 为0
- cData.desId = data[3];
- eventData.NResults[j] = cData;
- }
- self.eventList[i] = eventData;
- }
- self.reCb(true);
- });
- },
- //通过itemid获取数据
- getDataByItemId:function(itemId){
- var data = null;
- for (var i = this.eventList.length - 1; i >= 0; i--) {
- if(itemId == this.eventList[i].Id)
- {
- data = this.eventList[i];
- break;
- }
- }
- return data;
- },
- getJsonLength:function(){
- return this.eventList.length
- },
- getDataList:function(){
- return this.eventList;
- },
-
- });
- module.exports = EventMapDecoder;
|