AutoSynthesisMediator.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import { _decorator, Component, Node, LabelComponent } from 'cc';
  2. import BufferManager from '../../../engines/buffers/BufferManager';
  3. import IBuffer from '../../../engines/buffers/IBuffer';
  4. import { GUIManager } from '../../../engines/gui/GUIManager';
  5. import { GUIMediator } from '../../../engines/gui/GUIMediator';
  6. import { DataModelEventType } from '../../../engines/models/DataModelEventType';
  7. import { NoticeManager } from '../../../engines/notices/NoticeManager';
  8. import { PlatformManager } from '../../../Platform/PlatformManager';
  9. import AutoSyntheticBuffer from '../../buffers/AutoSyntheticBuffer';
  10. import GameConfigManager from '../../models/GameConfigManager';
  11. import { GameModel } from '../../models/GameModel';
  12. import { GamePropertys } from '../../models/GamePropertys';
  13. import { UIConst } from '../UIConst';
  14. const { ccclass, property } = _decorator;
  15. @ccclass('AutoSynthesisMediator')
  16. export class AutoSynthesisMediator extends GUIMediator {
  17. @property({
  18. type:LabelComponent
  19. })
  20. diamondLabel:LabelComponent=null;
  21. private consume:number=20;
  22. private time:number=300*1000;
  23. start():void{
  24. this.consume=GameConfigManager.getGlobalValue("AutoSyntheticDiamondConsume");
  25. this.time=GameConfigManager.getGlobalValue("autoSyntheticTime")*1000;
  26. }
  27. OnShow(data?:any):void{
  28. PlatformManager.hideBanner();
  29. super.OnShow(data);
  30. this.RefreshView();
  31. }
  32. OnHide():void{
  33. PlatformManager.showBanner();
  34. }
  35. private RefreshView():void{
  36. this.diamondLabel.string=this.consume.toString();
  37. }
  38. /**
  39. * 钻石按钮点击
  40. */
  41. DiamondButtonClickHandler():void{
  42. if(GameModel.single.diamond>this.consume){
  43. if(this.AddBuffer()){
  44. //扣钱
  45. GameModel.single.diamond-=this.consume;
  46. this.CloseButtonClickHandler();
  47. }
  48. }else{
  49. NoticeManager.ShowPrompt("钻石不足");
  50. }
  51. }
  52. /**
  53. * 视频按钮点击
  54. */
  55. VideoButtonClickHandler():void{
  56. PlatformManager.showRewardedVideo(()=>{
  57. this.AddBuffer();
  58. this.CloseButtonClickHandler();
  59. },()=>{
  60. NoticeManager.ShowPrompt("看视频失败");
  61. });
  62. }
  63. /**
  64. * 关闭按钮点击
  65. */
  66. CloseButtonClickHandler():void{
  67. GUIManager.single.Show(UIConst.PREPARE_UI);
  68. this.HideSelf();
  69. }
  70. private AddBuffer():boolean{
  71. let buffers:IBuffer[]=BufferManager.GetBufferGroup("AutoSynthesis");
  72. if(buffers!=null&&buffers.length>0){
  73. NoticeManager.ShowPrompt("自动合成已开启");
  74. return false;
  75. }
  76. let buffer:AutoSyntheticBuffer=new AutoSyntheticBuffer("AutoSynthesis",this.time);
  77. BufferManager.RunBuffer(buffer);
  78. return true;
  79. }
  80. }