import TableView from "../../component/TableView"; import { BannerAdType, ProductType } from "../../data/GameData"; import ItemName from "./ItemName"; const { ccclass, property } = cc._decorator; @ccclass export default class FarmMap extends cc.Component { @property({ displayName: '种类', type: ItemName }) private itemName: ItemName[] = []; @property({ displayName: '滚动视图', type: cc.ScrollView }) private scroll_view: cc.ScrollView = null; @property(TableView) private tableview: TableView = null; private curChooseId: number = 1; onLoad() { } onEnable() { mk.ad.showBanner(BannerAdType.banner_click_4); } onDisable() { mk.ad.destoryBanner(); } start() { gData.farmMapData.setChooseType(ProductType.nzw); let list_data = gData.gameData.getProductArrByType(ProductType.nzw); //let list_data = [{}, {}, {}, {}, {}, {}]; this.scroll_view.node.emit('srollview-init', list_data) this.scroll_view.vertical = false; cc.tween(this.node).delay(0.06).call(() => { let allItem = this.tableview.getFrontPositionItemByCount(5); for (let i = 0; i != allItem.length; ++i) { //allItem[i].active = true; allItem[i].x = 600; cc.tween(allItem[i]).delay(i * 0.1 + 0.2).to(0.3, { x: 0 }, cc.easeSineOut()).start(); } }).delay(1).call(() => { this.scroll_view.vertical = true; }).start(); //this.itemName[1].toggle.interactable = false; this.refreshBtnState(); } private refreshBtnState() { let index = 0; for (let key in ProductType) { let max = gData.gameData.getMaxProductExtra(ProductType[key]); if (max) { this.itemName[index].toggle.interactable = true; let list_data = gData.gameData.getProductArrByType(ProductType[key]); let isShowRed = false; for (let i = 0; i != list_data.length; ++i) { if (list_data[i].picture <= max) { let state = gData.gameData.getFarmMapRewardState(this.getIndex(list_data[i])); if (state == 0) { isShowRed = true; break; } } } this.itemName[index].setShowUIState(false, isShowRed, ProductType[key]); } else { this.itemName[index].toggle.interactable = false; this.itemName[index].setShowUIState(true, false, ProductType[key]); } ++index; } } update(dt) { if (gData.farmMapData.isStateChange) { this.refreshBtnState(); } if (gData.farmMapData.init_award) { gData.farmMapData.init_award = false; gData.reward.adData = gData.farmMapData.adData; mk.ui.openPanel('module/reward/reward'); } } getIndex(data) { let index: any = {}; index.i = 0; index.j = 0; switch (data.tab) { case '农作物': index.i = 0; index.j = data.picture - 10001; break; case '动物': index.i = 1; index.j = data.picture - 20001; break; case '爆米花厂': index.i = 2; index.j = data.picture - 20004; break; case '糕点铺': index.i = 3; index.j = data.picture - 20013; break; case '制糖厂': index.i = 4; index.j = data.picture - 20010; break; case '炼乳厂': index.i = 5; index.j = data.picture - 20007; break; case '功夫面馆': index.i = 6; index.j = data.picture - 20025; break; case '快餐店': index.i = 7; index.j = data.picture - 20019; break; } return index; } private clickToggleBtn(event, customEvenData) { mk.audio.playEffect('button'); let id = parseInt(customEvenData); if (id == this.curChooseId) return; this.curChooseId = id; let list_data: any; switch (id) { case 1: gData.farmMapData.setChooseType(ProductType.nzw); list_data = gData.gameData.getProductArrByType(ProductType.nzw); break; case 2: gData.farmMapData.setChooseType(ProductType.dw); list_data = gData.gameData.getProductArrByType(ProductType.dw); break; case 3: gData.farmMapData.setChooseType(ProductType.bmhc); list_data = gData.gameData.getProductArrByType(ProductType.bmhc); break; case 4: gData.farmMapData.setChooseType(ProductType.gdp); list_data = gData.gameData.getProductArrByType(ProductType.gdp); break; case 5: gData.farmMapData.setChooseType(ProductType.ztc); list_data = gData.gameData.getProductArrByType(ProductType.ztc); break; case 6: gData.farmMapData.setChooseType(ProductType.lrc); list_data = gData.gameData.getProductArrByType(ProductType.lrc); break; case 7: gData.farmMapData.setChooseType(ProductType.gfmg); list_data = gData.gameData.getProductArrByType(ProductType.gfmg); break; case 8: gData.farmMapData.setChooseType(ProductType.kcd); list_data = gData.gameData.getProductArrByType(ProductType.kcd); break; default: break; } this.scroll_view.node.emit('srollview-init', list_data) } private clickCloseBtn() { mk.audio.playEffect('closeButton'); } }