FightingMediator.ts 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import GUIMediator from "../../../engines/gui/GUIMediator";
  2. import UI_Fight from "../../../ui/Fight/UI_Fight";
  3. import GameModel from "../../models/GameModel";
  4. import GameController from "./GameController";
  5. export default class FightingMediator extends GUIMediator
  6. {
  7. private sprintTime:number=2000;
  8. private sprintCDTime:number=3000;
  9. protected OnShow():void{
  10. this.RefreshView();
  11. }
  12. protected OnHide():void{
  13. }
  14. private RefreshView():void{
  15. this.view.m_txtGg.text="第"+GameModel.single.currentLevel+"关";
  16. }
  17. protected AddEvents():void{
  18. this.view.m_btnLeft.on(fgui.Event.TOUCH_BEGIN,this.LeftButtonTouchBegin,this);
  19. this.view.m_btnLeft.on(fgui.Event.TOUCH_END,this.LeftButtonTouchEnd,this);
  20. this.view.m_btnRight.on(fgui.Event.TOUCH_BEGIN,this.RightButtonTouchBegin,this);
  21. this.view.m_btnRight.on(fgui.Event.TOUCH_END,this.RightButtonTouchEnd,this);
  22. this.view.m_btnTop.onClick(this.TopButtonClick,this);
  23. }
  24. protected RemoveEvents():void{
  25. this.view.m_btnLeft.off(fgui.Event.TOUCH_BEGIN,this.LeftButtonTouchBegin,this);
  26. this.view.m_btnLeft.off(fgui.Event.TOUCH_END,this.LeftButtonTouchEnd,this);
  27. this.view.m_btnRight.off(fgui.Event.TOUCH_BEGIN,this.RightButtonTouchBegin,this);
  28. this.view.m_btnRight.off(fgui.Event.TOUCH_END,this.RightButtonTouchEnd,this);
  29. this.view.m_btnTop.offClick(this.TopButtonClick,this);
  30. }
  31. private LeftButtonTouchBegin():void{
  32. GameController.single.player.isLeft=true;
  33. }
  34. private LeftButtonTouchEnd():void{
  35. GameController.single.player.isLeft=false;
  36. }
  37. private RightButtonTouchBegin():void{
  38. GameController.single.player.isRight=true;
  39. }
  40. private RightButtonTouchEnd():void{
  41. GameController.single.player.isRight=false;
  42. }
  43. private TopButtonClick():void{
  44. this.sprintTime=GameController.single.carConfig.sprintTime*1000;
  45. this.sprintCDTime=GameController.single.carConfig.sprintCDTime*1000;
  46. let currentTime:number=cc.sys.now();
  47. //CD
  48. if(currentTime-GameModel.single.lastSprintTime<this.sprintCDTime){
  49. return;
  50. }else{
  51. GameController.single.player.isSprint=true;
  52. GameModel.single.lastSprintTime=currentTime;
  53. }
  54. }
  55. Tick(dt:number):void{
  56. if(GameController.single!=null&&GameController.single.player!=null&&GameController.single.player.isSprint==true){
  57. let currentTime:number=cc.sys.now();
  58. if(currentTime-GameModel.single.lastSprintTime>this.sprintTime){
  59. GameController.single.player.isSprint=false;
  60. }
  61. }
  62. }
  63. get view():UI_Fight{
  64. return this._view as UI_Fight;
  65. }
  66. }