import { _decorator, Component, Node, SpriteComponent, LabelComponent, ButtonComponent, loader, SpriteFrame } from 'cc'; import { NoticeManager } from '../../../engines/notices/NoticeManager'; import StringUtils from '../../../engines/utils/StringUtils'; import { PlatformManager } from '../../../Platform/PlatformManager'; import GameConfigManager from '../../models/GameConfigManager'; import { GameModel } from '../../models/GameModel'; const { ccclass, property } = _decorator; @ccclass('FenceItemRenderScript') export class FenceItemRenderScript extends Component { @property({ type:SpriteComponent }) icon:SpriteComponent=null; @property({ type:LabelComponent }) hpLabel:LabelComponent=null; @property({ type:LabelComponent }) nameLabel:LabelComponent=null; @property({ type:ButtonComponent }) freeBuyButton:ButtonComponent=null; @property({ type:LabelComponent }) freeBuyButtonLabel:LabelComponent=null; @property({ type:ButtonComponent }) diamondBuyButton:ButtonComponent=null; @property({ type:LabelComponent }) diamondBuyButtonLabel:LabelComponent=null; @property({ type:ButtonComponent }) GlodBuyButton:ButtonComponent=null; @property({ type:LabelComponent }) GlodBuyButtonLabel:LabelComponent=null; private data:any; start () { // Your initialization goes here. } UpdateItemRender(data:any):void{ this.data=data; let config:any=GameConfigManager.GetFenceConfig(data.id); //图标 loader.loadRes(config.icon+"/spriteFrame",SpriteFrame,(err:Error,asset:SpriteFrame)=>{ if(err!=null){ console.log("加载图标出错:"+config.icon); return; } this.icon.spriteFrame=asset; }) //等级 this.hpLabel.string="HP:"+config.hp.toString(); //名称 this.nameLabel.string=config.name; let price:number; if(data.id<=GameModel.single.currentFenceId){ this.freeBuyButton.node.active=this.diamondBuyButton.node.active=this.GlodBuyButton.node.active=false; }else{ //buyType 购买方式 0金币购买 1宝石购买 2看广告购买 if(data.buyType==0){//金币购买 this.freeBuyButton.node.active=this.diamondBuyButton.node.active=false; this.GlodBuyButton.node.active=true; price=config.buyConsume; this.GlodBuyButtonLabel.string=StringUtils.numberUtilsEn(price); }else if(data.buyType==1){//宝石购买 this.freeBuyButton.node.active=this.GlodBuyButton.node.active=false; this.diamondBuyButton.node.active=true; price=config.buyConsume; this.diamondBuyButtonLabel.string=StringUtils.numberUtilsEn(price); }else{//广告购买 this.diamondBuyButton.node.active=this.GlodBuyButton.node.active=false; this.freeBuyButton.node.active=true; } } } /** * 金币购买 */ GlodBuy():void{ if(this.BuyFence()){ NoticeManager.ShowPrompt("购买成功。"); } } /** * 钻石购买 */ DiamondBuy():void{ if(this.BuyFence()){ NoticeManager.ShowPrompt("购买成功。"); } } /** * 视频购买 */ VideoBuy():void{ PlatformManager.showRewardedVideo(()=>{ if(this.BuyFence()){ NoticeManager.ShowPrompt("购买成功。"); } }, ()=>{ NoticeManager.ShowPrompt("购买失败。"); }) } private BuyFence():boolean{ //金钱购买 if(this.data.buyType==0){ if(GameModel.single.gold