68c6a3767aedd14a90c868d597eea9f7e48fa37a 6.5 KB

12345678910111213
  1. {
  2. "code": "import { PoolManager } from \"./PoolManager\";\r\nimport { Mathf } from \"../Util/Mathf\";\r\nvar Vector3 = Laya.Vector3;\r\nimport { Player } from \"./Player\";\r\nimport { PlayerManager } from \"./PlayerManager\";\r\nimport { CfgManager } from \"./CfgManager\";\r\nimport GameDefined from \"./GameDefined\";\r\nimport { AnimatorClip } from \"./DefinedType\";\r\nexport default class DisplayerCarController {\r\n constructor() {\r\n this.gunId = -1;\r\n this.glassId = -1;\r\n this.hatId = -1;\r\n this.bodyId = -1;\r\n this.legId = -1;\r\n }\r\n static get Instance() {\r\n return DisplayerCarController.instance || (DisplayerCarController.instance = new DisplayerCarController());\r\n }\r\n InitDis(par) {\r\n if (!this._scene) {\r\n this._scene = new Laya.Scene3D();\r\n this._camera = new Laya.Camera();\r\n this._camera.enableHDR = false;\r\n this._scene.addChild(this._camera);\r\n this._light = new Laya.DirectionLight();\r\n this._light.transform.rotation = new Laya.Quaternion(0.3535534, 0.3535534, 0.1464466, -0.8535535);\r\n this._light.intensity = 0.45;\r\n this._light.color = new Vector3(1, 1, 1);\r\n this._scene.addChild(this._light);\r\n this._point = new Laya.Sprite3D();\r\n this._point.transform.position = new Vector3(0, 0.2, 0);\r\n this._scene.addChild(this._point);\r\n this._camera.viewport = new Laya.Viewport(par.x, par.y, par.width, par.height);\r\n this._camera.orthographic = false;\r\n this._camera.enableHDR = false;\r\n this._camera.clearFlag = 2;\r\n this._camera.fieldOfView = 50;\r\n this._camera.transform.position = new Vector3(-0.01, 1.29, 3.17);\r\n this._camera.transform.rotation = new Laya.Quaternion(-0.01526248, -0.03349996, -0.0005116393, 0.9993221);\r\n }\r\n par.addChild(this._scene);\r\n this.CreatePlayer();\r\n }\r\n CreatePlayer() {\r\n if (!this.player) {\r\n let p = PoolManager.Instance.SetActiveObject(PoolManager.pooltype.player);\r\n if (p)\r\n this.player = p;\r\n this.playerBehavior = this.player.addComponent(Player);\r\n this._point.addChild(this.player);\r\n this.player.transform.localPosition = Mathf.VecZero;\r\n this.player.transform.localRotationEuler = Mathf.VecZero;\r\n }\r\n for (let index = 0; index < 4; index++) {\r\n let a = index;\r\n Laya.timer.frameOnce(a + 1, this, this.SetPlayer, [a + 1], false);\r\n }\r\n }\r\n SetPlayer(a) {\r\n if (a == 1) {\r\n this.SetGuns();\r\n return;\r\n }\r\n if (a == 2) {\r\n this.SetGlass();\r\n return;\r\n }\r\n if (a == 3) {\r\n this.SetHats();\r\n return;\r\n }\r\n if (a == 4) {\r\n this.SetBody();\r\n this.SetLeg();\r\n return;\r\n }\r\n }\r\n SetGuns(id) {\r\n if (!id)\r\n id = PlayerManager.Instance.equip_gun;\r\n if (this.gunId == id)\r\n return;\r\n this.gunId = id;\r\n if (this.playerBehavior) {\r\n let name = CfgManager.Instance.GetThemeGun(this.gunId)[\"prefab\"];\r\n let gun = PoolManager.Instance.SetActiveObject(name);\r\n this.playerBehavior.SetGun(gun);\r\n }\r\n }\r\n SetGlass(id) {\r\n if (!id)\r\n id = PlayerManager.Instance.equip_glass;\r\n if (this.glassId == id)\r\n return;\r\n this.glassId = id;\r\n let cfg = CfgManager.Instance.GetGlass(this.glassId);\r\n if (!cfg)\r\n return;\r\n let name = cfg[\"prefab\"];\r\n if (this.playerBehavior) {\r\n let glass = PoolManager.Instance.SetActiveObject(name);\r\n this.playerBehavior.SetGlass(glass);\r\n }\r\n }\r\n SetHats(id) {\r\n if (!id)\r\n id = PlayerManager.Instance.equip_hat;\r\n if (this.hatId == id)\r\n return;\r\n this.hatId = id;\r\n let cfg = CfgManager.Instance.GetHat(this.hatId);\r\n if (!cfg)\r\n return;\r\n let name = cfg[\"prefab\"];\r\n if (this.playerBehavior) {\r\n let hat = PoolManager.Instance.SetActiveObject(name);\r\n this.playerBehavior.SetHat(hat);\r\n }\r\n }\r\n SetBody(id) {\r\n if (!id)\r\n id = PlayerManager.Instance.equip_body;\r\n if (this.bodyId == id)\r\n return;\r\n this.bodyId = id;\r\n if (this.playerBehavior) {\r\n let name = CfgManager.Instance.GetBody(this.bodyId)[\"prefab\"];\r\n let t = Laya.loader.getRes(GameDefined.bodyTexture + name + \".png\");\r\n this.playerBehavior.SetLeg(t);\r\n }\r\n }\r\n SetLeg(id) {\r\n if (!id)\r\n id = PlayerManager.Instance.equip_leg;\r\n if (this.legId == id)\r\n return;\r\n this.legId = id;\r\n if (this.playerBehavior) {\r\n let name = CfgManager.Instance.GetLeg(this.legId)[\"prefab\"];\r\n let t = Laya.loader.getRes(GameDefined.legTexture + name + \".png\");\r\n this.playerBehavior.SetBody(t);\r\n }\r\n }\r\n PlayAni() {\r\n if (this.playerBehavior)\r\n this.playerBehavior.PlayAni(AnimatorClip.animator.GetOff, null, true);\r\n }\r\n Reset() {\r\n if (this.player) {\r\n PoolManager.Instance.SetDisableObject(this.player);\r\n this.player = null;\r\n this.playerBehavior.RemoveSelf();\r\n }\r\n if (this._scene)\r\n this._scene.removeSelf();\r\n this.gunId = -1;\r\n this.glassId = -1;\r\n this.hatId = -1;\r\n this.bodyId = -1;\r\n this.legId = -1;\r\n }\r\n}\r\n",
  3. "references": [
  4. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PoolManager.ts",
  5. "D:/GitProject/GunGang/gungang_laya/gungang/src/Util/Mathf.ts",
  6. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/Player.ts",
  7. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PlayerManager.ts",
  8. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/CfgManager.ts",
  9. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/GameDefined.ts",
  10. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/DefinedType.ts"
  11. ]
  12. }