20272a3f20bbb8b07cc4eabd9ad96b16146d28fe 3.9 KB

1234567891011
  1. {
  2. "code": "var Event = Laya.Event;\r\nvar MouseManager = Laya.MouseManager;\r\nimport PlayerController from \"./PlayerController\";\r\nimport { Mathf } from \"../Util/Mathf\";\r\nimport AimController from \"./AimController\";\r\nexport default class InputController {\r\n constructor() {\r\n this._switch = false;\r\n this._isCanClick = true;\r\n this.clickD = false;\r\n this._mousePos = Mathf.VecZero;\r\n this.tempMouse = Mathf.VecZero;\r\n this.clickCount = 0;\r\n }\r\n static get Instance() {\r\n return this.instance || (this.instance = new InputController());\r\n }\r\n InitMouseEvent() {\r\n Laya.stage.on(Event.MOUSE_DOWN, this, this.OnClickDown);\r\n Laya.stage.on(Event.MOUSE_OUT, this, this.OnClickUp);\r\n }\r\n OnClickDown(e) {\r\n if (!this._isCanClick || !this._switch)\r\n return;\r\n if (e.target instanceof Laya.UIComponent)\r\n return;\r\n this.clickD = true;\r\n Laya.stage.on(Event.MOUSE_UP, this, this.OnClickUp);\r\n Laya.stage.on(Event.MOUSE_MOVE, this, this.OnSlider);\r\n this._mousePos.x = MouseManager.instance.mouseX;\r\n this._mousePos.y = MouseManager.instance.mouseY;\r\n this.MouseD();\r\n }\r\n MouseD() {\r\n PlayerController.Instance.Hit();\r\n }\r\n OnClickUp(e) {\r\n if (!this._isCanClick || !this._switch)\r\n return;\r\n if (e.target instanceof Laya.UIComponent)\r\n return;\r\n if (!this.clickD)\r\n return;\r\n this.MouseU();\r\n }\r\n OffMouseEvent() {\r\n Laya.stage.off(Event.MOUSE_DOWN, this, this.OnClickDown);\r\n Laya.stage.off(Event.MOUSE_UP, this, this.OnClickUp);\r\n Laya.stage.off(Event.MOUSE_OUT, this, this.OnClickUp);\r\n }\r\n OffMouseUp() {\r\n this.clickD = false;\r\n Laya.stage.off(Event.MOUSE_MOVE, this, this.OnSlider);\r\n Laya.stage.off(Event.MOUSE_UP, this, this.OnClickUp);\r\n AimController.Instance.StopSlider();\r\n PlayerController.Instance.StopHit();\r\n }\r\n MouseU() {\r\n this.clickD = false;\r\n Laya.stage.off(Event.MOUSE_MOVE, this, this.OnSlider);\r\n Laya.stage.off(Event.MOUSE_UP, this, this.OnClickUp);\r\n AimController.Instance.StopSlider();\r\n PlayerController.Instance.StopHit();\r\n }\r\n OnSlider(e) {\r\n this.tempMouse.x = MouseManager.instance.mouseX;\r\n this.tempMouse.y = MouseManager.instance.mouseY;\r\n let offestX = this.tempMouse.x - this._mousePos.x;\r\n let offestZ = this.tempMouse.y - this._mousePos.y;\r\n if (offestX >= 0)\r\n offestX = offestX < 20 ? offestX : 20;\r\n if (offestX < 0)\r\n offestX = offestX > -20 ? offestX : -20;\r\n if (offestZ >= 0)\r\n offestZ = offestZ < 20 ? offestZ : 20;\r\n if (offestZ < 0)\r\n offestZ = offestZ > -20 ? offestZ : -20;\r\n AimController.Instance.OnSlider(offestX, offestZ);\r\n this._mousePos.x = this.tempMouse.x;\r\n this._mousePos.y = this.tempMouse.y;\r\n }\r\n OpenInput() {\r\n this.clickCount++;\r\n if (this.clickCount > 1)\r\n return;\r\n this._isCanClick = true;\r\n }\r\n CloseInput() {\r\n this.clickCount--;\r\n if (this.clickCount > 0)\r\n return;\r\n this._isCanClick = false;\r\n this.clickD = false;\r\n }\r\n set _Switch(value) {\r\n this._switch = value;\r\n }\r\n}\r\n",
  3. "references": [
  4. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/SceneController.ts",
  5. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/EventManager.ts",
  6. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PlayerController.ts",
  7. "D:/GitProject/GunGang/gungang_laya/gungang/src/Util/Mathf.ts",
  8. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/AimController.ts"
  9. ]
  10. }