// Learn TypeScript: // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html // Learn Attribute: // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html import { SaveDataManager } from "../../component/SaveDataManager"; import { ADID, tMgr, WindowName } from "../../Global"; import { GamePlayTable, TableName, UserSkillTable } from "../../kernel/table/TableDefine"; import { UIBase } from "../UIBase"; import { UIManager } from "../UIManager"; import UITitle from "./UITitle"; const { ccclass, property } = cc._decorator; @ccclass export default class UIShop extends UIBase { @property(cc.Node) txtPackDiamond: cc.Node = null; @property(cc.Node) txtAdDiamond: cc.Node = null; @property(cc.Node) adNode: cc.Node = null; @property(cc.Node) btn_ad: cc.Node = null; constructor() { super(); this._useCloseEffect = false; this._usePopUpEffect = false; } //#region lifecycle protected onLoad(): void { this.txtPackDiamond.getComponent(cc.Label).string = (tMgr.getConfig(TableName.GAME_PLAY, 20) as GamePlayTable).Value.toString(); this.txtAdDiamond.getComponent(cc.Label).string = (tMgr.getConfig(TableName.GAME_PLAY, 14) as GamePlayTable).Value.toString(); let content = cc.find('scrollView/view/content', this.node); for (let i = 1; i <= 4; ++i) { let item = content.getChildByName('itemSkill' + i.toString()); item.getChildByName('btnGet').getComponentInChildren(cc.Label).string = (tMgr.getConfig(TableName.USER_SKILL, i) as UserSkillTable).Cost.toString(); item.getChildByName('icon').getComponentInChildren(cc.Label).string = (tMgr.getConfig(TableName.USER_SKILL, i) as UserSkillTable).BuyNum.toString(); } } protected onEnable(): void { this.refresh(); this.setAD(); } setAD() { // this.adNode.getComponent(CustomNativeAdView).showNativeAd((result) => { // if (result) { // this.btn_ad.active = true; // } else { // this.btn_ad.active = false; // } // }); this.btn_ad.getChildByName('Background').getChildByName('UI_General_Btn_yellow_ckgg').active = true; this.btn_ad.getChildByName('Background').getChildByName('UI_Finish_kxsx').active = false; } protected onDestroy(): void { UIManager.ins.cache.delete(WindowName.SHOP); // 此界面添加在场景中,会随场景一起销毁,将UIManager中的缓存也删除,避免后续取到被销毁的缓存 } hide_btn_ad() { this.btn_ad.active = false; } //#endregion //#region public method //#endregion //#region event onGetClick(e: cc.Event.EventTouch, customData: string) { if (customData == 'pack') { //AD 放广告,放完后调 getPack() // HeyGamePlatform.instance.showVideoAd(ADID.ADID_ADDCOIN, (_result) => { if (true) { this.getPack(); } else { console.log('视频播放失败'); } // }); } else if (customData == 'diamond') { //AD 放广告,放完后调 getDiamond() // HeyGamePlatform.instance.showVideoAd(ADID.ADID_ADDCOIN, (_result) => { if (true) { this.getDiamond(); } else { console.log('视频播放失败'); } // }); } else if (customData == 'ad') { //AD 纯看广告 } else if (customData.includes('skill')) { let skillId = Number(customData.slice(5)); let config = (tMgr.getConfig(TableName.USER_SKILL, skillId) as UserSkillTable); let wpos = (e.target as cc.Node).convertToWorldSpaceAR(cc.Vec3.ZERO); if (SaveDataManager.ins.adjustDiamond(-config.Cost, true, wpos)) { //扣钱成功 SaveDataManager.ins.setUserSkillNumDelta(skillId, config.BuyNum); } } } onCloseClick() { let titleNode = cc.find('Canvas/UITitle', cc.director.getScene()); titleNode.getComponent(UITitle).onShopCloseClick(); } //#endregion //#region private method private refresh() { let btnPackGet = cc.find('bg/pack/btnBuy', this.node); let btnPackBg = btnPackGet.getChildByName('Background'); let valid = (Date.now() > SaveDataManager.ins.runtimeData.shopDailyPackRefreshTime); btnPackGet.getComponent(cc.Button).interactable = valid; btnPackBg.getChildByName('txtFree').active = valid; btnPackBg.getChildByName('iconAd').active = valid; btnPackBg.getChildByName('txtGeted').active = !valid; } private getPack() { let valid = (Date.now() > SaveDataManager.ins.runtimeData.shopDailyPackRefreshTime); if (valid) { let config = (tMgr.getConfig(TableName.GAME_PLAY, 20) as GamePlayTable); //礼包钻石数量 SaveDataManager.ins.adjustDiamond(config.Value, true); SaveDataManager.ins.setUserSkillNumDelta(1, 1); SaveDataManager.ins.setUserSkillNumDelta(2, 1); SaveDataManager.ins.setUserSkillNumDelta(3, 1); SaveDataManager.ins.setUserSkillNumDelta(4, 1); let endTime = new Date(); endTime.setHours(23, 59, 59); SaveDataManager.ins.runtimeData.shopDailyPackRefreshTime = endTime.getTime(); SaveDataManager.ins.saveData(); this.refresh(); } } private getDiamond() { let config = (tMgr.getConfig(TableName.GAME_PLAY, 14) as GamePlayTable); SaveDataManager.ins.adjustDiamond(config.Value, true); } //#endregion }