123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- import { _decorator, Component, Node, JsonAsset, find, LabelComponent } from 'cc';
- import { GUIManager } from '../../../engines/gui/GUIManager';
- import { GUIMediator } from '../../../engines/gui/GUIMediator';
- import { DataModelEventType } from '../../../engines/models/DataModelEventType';
- 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';
- import { GamePropertys } from '../../models/GamePropertys';
- import { UIConst } from '../UIConst';
- import { DayItemScript } from './DayItemScript';
- const { ccclass, property } = _decorator;
- @ccclass('SignMediator')
- export class SignMediator extends GUIMediator {
- @property({
- type: LabelComponent
- })
- glodLabel: LabelComponent = null;
- @property({
- type: LabelComponent
- })
- glodLabel1: LabelComponent = null;
- @property({
- type: LabelComponent
- })
- diamondLabel: LabelComponent = null;
-
- @property({
- type:Node
- })
- dayListNode:Node=null;
- OnShow(data?:any):void{
- this.data=data;
- this.RefreshView();
- this.AddEvent();
- }
- OnHide():void{
- this.RemoveEvent();
- }
- private AddEvent():void{
- GameModel.single.AddEvent(DataModelEventType.PROPERTY_CHANGED,this,this.GameModelPropertyChanged,0);
- }
- private RemoveEvent():void{
- GameModel.single.RemoveEvent(DataModelEventType.PROPERTY_CHANGED,this,this.GameModelPropertyChanged);
- }
- /**
- * 属性改变
- */
- private GameModelPropertyChanged(key:string):void{
- switch (key) {
- case GamePropertys.signGetRecord:
- this.CallNextFrame(this.RefreshView.bind(this));
- break;
- case GamePropertys.gold:
- this.CallNextFrame(this.RefreshGlod.bind(this));
- break;
- case GamePropertys.diamond:
- this.CallNextFrame(this.RefreshDiamond.bind(this));
- break;
- }
- }
- private RefreshGlod(): void {
- if (this.glodLabel != null) {
- this.glodLabel.string = StringUtils.numberUtilsEn(GameModel.single.gold);
- }
- this.glodLabel1.string = StringUtils.numberUtilsEn(GameModel.single.fullEarnings) + "/秒";
- }
- private RefreshDiamond(): void {
- if (this.diamondLabel != null) {
- this.diamondLabel.string = GameModel.single.diamond.toString();
- }
- }
- private RefreshView():void{
- let jsonAsset:JsonAsset=GameConfigManager.GetConfig("Sign");
- let json:any=jsonAsset.json;
- let config:any[]=json;
- let itemConfig:any;
-
- let itemScript:DayItemScript;
- let itemNode:Node;
- for (let index = 0; index < config.length; index++) {
- itemConfig=config[index];
- itemNode=find("Day"+(index+1),this.dayListNode);
- itemScript=itemNode.getComponent(DayItemScript);
- itemScript.UpdateItemRender(itemConfig);
- }
- }
- GetAward():void{
- if(GameModel.single.GetSignAwardIndex()<0){
- NoticeManager.ShowPrompt("没有可领取的奖励!");
- return;
- }
- PlatformManager.showRewardedVideo(()=>{
- GameModel.single.AutoSignAward();
- },()=>{
- NoticeManager.ShowPrompt("看视频失败");
- });
- }
-
- CloseButtonClickHandler():void{
- GUIManager.single.Show(UIConst.PREPARE_UI);
- this.HideSelf();
- }
- }
|