var reGameStates = require('GameStates'); cc.Class({ extends: cc.Component, properties: { //名称 buildName: { default: null, type: cc.Label, }, //维护费 runingCost: { default: null, type: cc.Label, }, //库存 inventory: { default: null, type: cc.Label, }, //简介 synopsis: { default: null, type: cc.Label, }, //介绍图片 imageSprite: { default: null, type: cc.Sprite, }, //商品名称 commodityName: { default: null, type: cc.Label, }, //商品价格 commodityPrice: { default: null, type: cc.Label, }, strength: { default: null, type: cc.Label, }, //列表的对象 // CommodityItems: { // default: [], // visible: false, // }, //记录当前商品的信息 goodsArray: { default: null, visible: false, }, SalesInfoBg: { default: null, type: cc.Node }, ProductionInfoBg: { default: null, type: cc.Node }, //需要的农作物 materialCrops: { default: null, type: cc.Label, }, //需要的木材 materialWood: { default: null, type: cc.Label, }, //需要的矿石 materialMineral: { default: null, type: cc.Label, }, //除了商店,展开otherNode时候的模板 //名称 otherBuildName: { default: null, type: cc.Label, }, //维护费 otherRuningCost: { default: null, type: cc.Label, }, //库存 otherInventory: { default: null, type: cc.Label, }, //简介 otherSynopsis: { default: null, type: cc.Label, }, //介绍图片 otherImageSprite: { default: null, type: cc.Sprite, }, //商品名称 otherCommodityName: { default: null, type: cc.Label, }, //商品价格 otherCommodityPrice: { default: null, type: cc.Label, }, //销售或者生产力 otherProductivity: { default: null, type: cc.Label, }, }, onSetBuildingInfoView(buildingInfo) { switch (buildingInfo.buildType) { // //特殊建筑 // case reGameStates.BuildType.Special: // break; // //住房 // case reGameStates.BuildType.Housing: // break; case reGameStates.BuildType.Shop: this.inventory.string = buildingInfo._inventory; this.buildName.string = buildingInfo.buildingName; this.runingCost.string = buildingInfo.RunningCost; this.synopsis.string = buildingInfo.BuildingSynopsis; if (buildingInfo.BuildingSprite) this.imageSprite.spriteFrame = buildingInfo.BuildingSprite.spriteFrame; else this.imageSprite.spriteFrame = null; //显示当前商品信息 if (buildingInfo._goods) { this.commodityName.string = buildingInfo._goods.goodsName; this.commodityPrice.string = buildingInfo._goods.goodsPrice; //原材料 this.materialCrops.string = buildingInfo._goods.goodsMaterial.crops; this.materialWood.string = buildingInfo._goods.goodsMaterial.wood; this.materialMineral.string = buildingInfo._goods.goodsMaterial.mineral; } this.strength.string = buildingInfo.totalConsumption; //保存当前的商品信息 this.goodsArray = buildingInfo.goodsArray; if (this.SalesInfoBg) this.SalesInfoBg.active = true; if (this.ProductionInfoBg) this.ProductionInfoBg.active = false; break; //如果是农田,采木场,矿坑 case reGameStates.BuildType.Farmland: case reGameStates.BuildType.TimberYard: case reGameStates.BuildType.MiningPit: this.onSetProductionInfo(buildingInfo); let goodsArray = buildingInfo.goodsArray; let length = goodsArray.length; if (length == 0) { this.otherCommodityName.string = ''; this.otherCommodityPrice.string = ''; } else { //当前销售的商品 for (let i = 0; i < length; i++) { if (goodsArray[i].isItSale) { this.otherCommodityName.string = goodsArray[i].goodsName; this.otherCommodityPrice.string = goodsArray[i].goodsPrice; break; } } } break; case reGameStates.BuildType.Factory: //如果true,就是点击了工厂 this.onSetProductionInfo(buildingInfo); if (buildingInfo._goods) { this.otherCommodityName.string = buildingInfo._goods.goodsName; this.otherCommodityPrice.string = buildingInfo._goods.goodsPrice; } else { this.otherCommodityName.string = ''; this.otherCommodityPrice.string = ''; } break; } }, //显示销售的信息 onSetProductionInfo(buildingInfo) { this.otherInventory.string = buildingInfo._inventory; this.otherBuildName.string = buildingInfo.buildingName; this.otherRuningCost.string = buildingInfo.RunningCost; this.otherSynopsis.string = buildingInfo.BuildingSynopsis; if (buildingInfo.BuildingSprite) this.otherImageSprite.spriteFrame = buildingInfo.BuildingSprite.spriteFrame; else this.otherImageSprite.spriteFrame = null; this.otherProductivity.string = buildingInfo.totalConsumption; if (this.SalesInfoBg) this.SalesInfoBg.active = false; if (this.ProductionInfoBg) this.ProductionInfoBg.active = true; }, //显示商店信息 onSetShopInfo(buildingInfo) { //显示对应的父节点 this.inventory.string = buildingInfo._inventory; this.buildName.string = buildingInfo.buildingName; this.runingCost.string = buildingInfo.RunningCost; this.synopsis.string = buildingInfo.BuildingSynopsis; if (buildingInfo.BuildingSprite) this.imageSprite.spriteFrame = buildingInfo.BuildingSprite.spriteFrame; // cc.log('buildingInfo',buildingInfo); //显示当前商品信息 if (buildingInfo._goods) { this.commodityName.string = buildingInfo._goods.goodsName; this.commodityPrice.string = buildingInfo._goods.goodsPrice; //原材料 this.materialCrops.string = buildingInfo._goods.goodsMaterial.crops; this.materialWood.string = buildingInfo._goods.goodsMaterial.wood; this.materialMineral.string = buildingInfo._goods.goodsMaterial.mineral; } this.strength.string = buildingInfo.totalConsumption; //保存当前的商品信息 this.goodsArray = buildingInfo.goodsArray; if (this.SalesInfoBg) this.SalesInfoBg.active = true; if (this.ProductionInfoBg) this.ProductionInfoBg.active = false; }, //点击更换商品时候显示 // onSetCommodityInfo() { // //隐藏对应的父节点 // this.buildName.string = '商品列表'; // this.content = this.CommodityScrollView.content; // this.spacing = 10; // this.ClearItems(); // let length = this.goodsArray.length; // this.initialize(length, length); // }, //生成商品列表 // initialize: function (totalCount, spawnCount) { // this.content.height = totalCount * (this.CommodityTemplate.height + this.spacing) + this.spacing; // get total content height // for (let i = 0; i < spawnCount; ++i) { // spawn items, we only need to do this once // let item = cc.instantiate(this.CommodityTemplate); // item.active = true; // this.content.addChild(item); // item.setPosition(0, -item.height * (0.5 + i) - this.spacing * (i + 1)); // item.getComponent('CommodityItem').updateItem(i, i, this.goodsArray[i]); // this.CommodityItems.push(item); // } // }, //清空UI商品列表 // ClearItems() { // let length = this.CommodityItems.length; // for (let i = length - 1; i >= 0; i--) { // spawn items, we only need to do this once // this.CommodityItems[i].destroy(); // } // } });