5fb2f27de6752a112b80dd4107e931f33a907c4a 13 KB

12345678910111213141516171819202122232425262728
  1. {
  2. "code": "import { AnimatorClip, GunCfgKay } from \"./DefinedType\";\r\nimport { PoolManager } from \"./PoolManager\";\r\nimport { Player } from \"./Player\";\r\nimport { Mathf } from \"../Util/Mathf\";\r\nimport { PlayerCar } from \"./PlayerCar\";\r\nimport { EventType, EventManager } from \"./EventManager\";\r\nimport RoadController from \"./RoadController\";\r\nimport { GlobalVariable } from \"../game_module/GlobalVariable\";\r\nimport Road from \"./Road\";\r\nimport AIController from \"./AIController\";\r\nimport AimController from \"./AimController\";\r\nimport ViewManager from \"./ViewManager\";\r\nimport InputController from \"./InputController\";\r\nimport { PlayerBullet } from \"./PlayerBullet\";\r\nimport { SceneController } from \"./SceneController\";\r\nimport GameManager from \"./GameManager\";\r\nimport { CameraState } from \"./CameraBehavior\";\r\nimport GameDefined from \"./GameDefined\";\r\nimport { PlayerManager } from \"./PlayerManager\";\r\nimport { CfgManager } from \"./CfgManager\";\r\nimport { WXSdk } from \"../game_module/WXSdk\";\r\nimport { SettingController } from \"./SettingController\";\r\nexport default class PlayerController {\r\n constructor() {\r\n this.isShoot = false;\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 this.tarRoadPos = 0;\r\n this.isReload = false;\r\n this.isStopA = true;\r\n this.isAtked = false;\r\n }\r\n static get Instance() {\r\n return this.instance || (this.instance = new PlayerController());\r\n }\r\n InitPlayerCar(playercar) {\r\n if (!playercar)\r\n return;\r\n this.playerCar = playercar;\r\n this.playerCarBehavior = this.playerCar.addComponent(PlayerCar);\r\n this.TopViewPoint = this.playerCar.getChildByName(\"TopViewPoint\").transform;\r\n this.FailViewPoint = this.playerCar.getChildByName(\"FailViewPoint\").transform;\r\n this.WinViewPoint = this.playerCar.getChildByName(\"WinViewPoint\").transform;\r\n this.ViewPoint = this.playerCar.getChildByName(\"ViewPoint\").transform;\r\n this.getoffPoint = this.playerCar.getChildByName(\"getoffPoint\");\r\n }\r\n SetPlayerSkin() {\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.getoffPoint.addChild(this.player);\r\n this.player.transform.localPosition = Mathf.VecZero;\r\n this.player.transform.localRotationEuler = Mathf.VecZero;\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 this.SetPlayAttr(this.gunId);\r\n }\r\n }\r\n SetPlayAttr(gunId) {\r\n let id = CfgManager.Instance.GetThemeGun(gunId)[\"gun_id\"];\r\n let cfg = CfgManager.Instance.GetGun(id);\r\n PlayerManager.bulletCount = cfg[GunCfgKay.key.ammo];\r\n PlayerManager.bulletAttack = cfg[GunCfgKay.key.power];\r\n PlayerManager.bulletTime = cfg[GunCfgKay.key.shoot_time];\r\n PlayerManager.addbullettime = cfg[GunCfgKay.key.reload];\r\n this.curbulletCount = PlayerManager.bulletCount;\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 PlayerAni(pp, callback) {\r\n if (!this.playerBehavior)\r\n return;\r\n this.playerBehavior.PlayAni(pp, callback);\r\n }\r\n StartGame() {\r\n Laya.timer.once(1000, this, this.StartMove);\r\n }\r\n StartMove() {\r\n if (this.playerCarBehavior)\r\n this.playerCarBehavior.StartMove();\r\n this.CreateAiForPlayer();\r\n }\r\n CreateAiForPlayer() {\r\n if (!AIController.Instance.CheckIsNeedCreateCar())\r\n return;\r\n let road = RoadController.Instance.JundgePlayerAtRoad(this.playerCar.transform);\r\n if (road) {\r\n this.tarRoad = road;\r\n console.log(road.name);\r\n this.tarRoadPos = this.tarRoad.transform.localPositionZ + (GlobalVariable.roadlong >> 1);\r\n console.log(this.tarRoadPos);\r\n }\r\n }\r\n EnemyDeadCreate() {\r\n if (!AIController.Instance.CheckIsNeedCreateCar())\r\n return;\r\n let road = RoadController.Instance.JundgePlayerAtRoad(this.playerCar.transform);\r\n let _roadB = road.getComponent(Road);\r\n let t = _roadB.GetSpaw(this.playerCar.transform.localPositionZ);\r\n console.log(\"tttt\", t);\r\n if (t)\r\n _roadB.CreateAiBySpaw(t);\r\n else {\r\n let name = road.name;\r\n let ss = name[name.length - 1];\r\n let index = Number(ss);\r\n console.log(\"index\", index);\r\n index = index + 1 > 3 ? 0 : index + 1;\r\n let x = RoadController.Instance.roadList[index];\r\n let s = x.getComponent(Road);\r\n if (s)\r\n s.CreateAiBySpaw(2);\r\n }\r\n }\r\n CheackCreateCarPos(tar) {\r\n if (this.tarRoadPos == 0)\r\n return;\r\n let d = tar - this.tarRoadPos;\r\n if (d < 0)\r\n return;\r\n this.tarRoadPos = 0;\r\n if (!AIController.Instance.CheckIsNeedCreateCar())\r\n return;\r\n let _roadB = this.tarRoad.getComponent(Road);\r\n _roadB.CreateForAi();\r\n }\r\n Hit() {\r\n if (this.isReload) {\r\n SettingController.Instance.PlayerGunReload(PlayerManager.Instance.eneny_gun_id);\r\n ViewManager.Instance.ShowTips(\"装弹中.......\", 2);\r\n return;\r\n }\r\n if (this.playerBehavior) {\r\n this.isStopA = false;\r\n this.PlayerAni(AnimatorClip.animator.PlayerShoot, () => {\r\n if (this.isStopA)\r\n return;\r\n this.isShoot = true;\r\n AimController.Instance.CreateRay();\r\n WXSdk.ShortVibrate();\r\n PlayerController.instance.curbulletCount--;\r\n EventManager.event(EventType.Event.RefreshBulletCount);\r\n if (PlayerController.instance.curbulletCount <= 0) {\r\n this.CreateAddBullet();\r\n return;\r\n }\r\n Laya.timer.loop(PlayerManager.bulletTime * 1000, this, this.LoopHit);\r\n });\r\n }\r\n }\r\n LoopHit() {\r\n WXSdk.ShortVibrate();\r\n AimController.Instance.CreateRay();\r\n PlayerController.instance.curbulletCount--;\r\n EventManager.event(EventType.Event.RefreshBulletCount);\r\n if (PlayerController.instance.curbulletCount <= 0) {\r\n this.CreateAddBullet();\r\n return;\r\n }\r\n }\r\n StopHit() {\r\n if (this.isReload)\r\n return;\r\n Laya.timer.clear(this, this.LoopHit);\r\n this.isStopA = true;\r\n this.isShoot = false;\r\n if (this.playerBehavior) {\r\n this.playerBehavior.PlayAni(AnimatorClip.animator.IdelatCar);\r\n }\r\n }\r\n CreateAddBullet() {\r\n InputController.Instance.OffMouseUp();\r\n this.isReload = true;\r\n Laya.timer.once(PlayerManager.addbullettime * 1000, this, () => {\r\n PlayerController.instance.curbulletCount = PlayerManager.bulletCount;\r\n EventManager.event(EventType.Event.RefreshBulletCount);\r\n this.isReload = false;\r\n });\r\n }\r\n CreatePlayerBullet(tarP) {\r\n let bullet = PoolManager.Instance.SetActiveObject(PoolManager.pooltype.PlayerBullet);\r\n let bs = bullet.addComponent(PlayerBullet);\r\n SceneController.Instance._bullets.addChild(bullet);\r\n bs.SetStartP(this.playerBehavior.FxMuzzle, tarP);\r\n SettingController.Instance.PlayerGunFire(PlayerManager.Instance.eneny_gun_id);\r\n if (this.playerBehavior)\r\n this.playerBehavior.CreateFireEffect();\r\n }\r\n PlayerAtked(type) {\r\n if (this.isShoot || type) {\r\n if (this.isAtked)\r\n return;\r\n InputController.Instance._Switch = false;\r\n InputController.Instance.OffMouseUp();\r\n this.isAtked = true;\r\n this.playerBehavior.CreateDeaeEffect();\r\n WXSdk.LongVibrate();\r\n SceneController.Instance.SetCameraType(CameraState.top, 1);\r\n this.PlayerAni(AnimatorClip.animator.Dead, () => {\r\n GameManager.Instance.Pause();\r\n });\r\n }\r\n else {\r\n }\r\n }\r\n Easter() {\r\n this.isAtked = false;\r\n this.PlayerAni(AnimatorClip.animator.IdelatCar);\r\n }\r\n Reset() {\r\n this.isAtked = false;\r\n this.tarRoadPos = 0;\r\n this.isShoot = false;\r\n this.isStopA = true;\r\n this.isReload = false;\r\n this.curbulletCount = PlayerManager.bulletCount;\r\n if (this.playerCarBehavior)\r\n this.playerCarBehavior.Reset();\r\n if (PlayerManager.Instance.istry) {\r\n PlayerManager.Instance.Reset();\r\n this.SetGuns();\r\n }\r\n }\r\n PlayrCarReset() {\r\n if (this.playerCar)\r\n this.playerCar.transform.localPosition = Mathf.VecZero;\r\n }\r\n}\r\n",
  3. "references": [
  4. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/DefinedType.ts",
  5. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PoolManager.ts",
  6. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/Player.ts",
  7. "D:/GitProject/GunGang/gungang_laya/gungang/src/Util/Mathf.ts",
  8. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PlayerCar.ts",
  9. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/EventManager.ts",
  10. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/RoadController.ts",
  11. "D:/GitProject/GunGang/gungang_laya/gungang/src/game_module/GlobalVariable.ts",
  12. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/Road.ts",
  13. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/AIController.ts",
  14. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/AimController.ts",
  15. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/InputController.ts",
  16. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PlayerBullet.ts",
  17. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/SceneController.ts",
  18. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/GameManager.ts",
  19. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/CameraBehavior.ts",
  20. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/GameDefined.ts",
  21. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/PlayerManager.ts",
  22. "D:/GitProject/GunGang/gungang_laya/gungang/src/Util/Game_Tool.ts",
  23. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/CfgManager.ts",
  24. "D:/GitProject/GunGang/gungang_laya/gungang/src/game_module/WXSdk.ts",
  25. "D:/GitProject/GunGang/gungang_laya/gungang/src/GameLogic/SettingController.ts"
  26. ]
  27. }