AutoSynthesisMediator.ts 2.1 KB

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