9b75dc83a4b25d69b8368be8c1e04f04ae757499 11 KB

1234567891011
  1. {
  2. "code": "var Vector3 = Laya.Vector3;\r\nimport { AssetManager } from \"../Tools/AssetManager\";\r\nimport { EventManager, StageState } from \"../Tools/EventManager\";\r\nimport { GameTools } from \"../Tools/GameTools\";\r\nimport { ChaseNpc } from \"./ChaseNpc\";\r\nexport var HostageState;\r\n(function (HostageState) {\r\n HostageState[HostageState[\"Run\"] = 0] = \"Run\";\r\n HostageState[HostageState[\"Rescue\"] = 1] = \"Rescue\";\r\n HostageState[HostageState[\"Arrest\"] = 2] = \"Arrest\";\r\n})(HostageState || (HostageState = {}));\r\nexport class Hostage extends Laya.Script {\r\n constructor() {\r\n super();\r\n this._hostagespeed = 1;\r\n this.canmove = false;\r\n this.isdead = false;\r\n this.DownHit = new Laya.HitResult();\r\n this.FowardHit = new Laya.HitResult();\r\n this.offest = new Vector3();\r\n this.curpos = new Vector3();\r\n Hostage.ins = this;\r\n EventManager.StageOn(StageState.Start, this, this.Begin);\r\n }\r\n static get Instance() {\r\n if (Hostage.ins) {\r\n return Hostage.ins;\r\n }\r\n else {\r\n return new Hostage();\r\n }\r\n }\r\n onAwake() {\r\n this.m_hostagemodel = this.owner;\r\n this.m_hostageanimator = this.m_hostagemodel.getComponent(Laya.Animator);\r\n this.enemy = this.owner.parent.parent.getChildByName(\"enemy\").getChildAt(0);\r\n }\r\n Begin() {\r\n this.ChangeState(HostageState.Run);\r\n this.canmove = true;\r\n }\r\n onUpdate() {\r\n if (this.isdead) {\r\n this.ChangeState(HostageState.Arrest);\r\n return;\r\n }\r\n let npc = this.enemy.getComponent(ChaseNpc);\r\n if (npc.isdead || this.enemy == null || this.enemy.destroyed) {\r\n this.canmove = false;\r\n this.ChangeState(HostageState.Rescue);\r\n return;\r\n }\r\n this.RayCheck();\r\n if (this.canmove) {\r\n this.Move(new Vector3(0, 0, 1), this._hostagespeed);\r\n }\r\n }\r\n Move(_dir, _speed) {\r\n if (this.canmove) {\r\n var sp = GameTools.Instance.lerp(this._hostagespeed, _speed, 0.1);\r\n this._hostagespeed = sp;\r\n Vector3.scale(_dir, this._hostagespeed, this.offest);\r\n Vector3.add(this.m_hostagemodel.transform.position, this.offest, this.curpos);\r\n Vector3.lerp(this.m_hostagemodel.transform.position, this.curpos, 0.15, this.curpos);\r\n this.curpos = new Vector3(this.curpos.x, this.curpos.y, this.curpos.z);\r\n this.m_hostagemodel.transform.position = this.curpos;\r\n }\r\n }\r\n ChangeState(_state) {\r\n if (this.m_hostagestate == _state)\r\n return;\r\n this.m_hostagestate = _state;\r\n switch (this.m_hostagestate) {\r\n case HostageState.Run:\r\n this.Run();\r\n break;\r\n case HostageState.Arrest:\r\n this.Arrest();\r\n break;\r\n case HostageState.Rescue:\r\n this.Rescue();\r\n break;\r\n }\r\n }\r\n Run() {\r\n this.m_hostageanimator.play(\"run\");\r\n }\r\n Rescue() {\r\n this.m_hostageanimator.play(\"thank\");\r\n }\r\n Arrest() {\r\n this.m_hostageanimator.play(\"dierear\");\r\n this.canmove = false;\r\n }\r\n RayCheck() {\r\n if (this.DownRayCheck) {\r\n this.m_hostagemodel.transform.position = new Vector3(this.m_hostagemodel.transform.position.x, this.DownHit.point.y, this.m_hostagemodel.transform.position.z);\r\n }\r\n if (this.FowardRayCheck) {\r\n this.CrashBarrier();\r\n }\r\n }\r\n CrashBarrier() {\r\n var target = this.FowardHit.collider.owner.parent;\r\n if (target.name == \"stone\") {\r\n }\r\n else if (target.name == \"bonfire\") {\r\n this.ChangeState(HostageState.Arrest);\r\n }\r\n else if (target.name == \"big_fence\") {\r\n }\r\n else if (target.name == \"wood_Cylinder\") {\r\n }\r\n }\r\n get DownRayCheck() {\r\n var isDownHit = false;\r\n var startPos = new Vector3(this.m_hostagemodel.transform.position.x, this.m_hostagemodel.transform.position.y + 1.5, this.m_hostagemodel.transform.position.z + 0.5);\r\n var direction = new Vector3(0, -1, 0);\r\n var DownRay = new Laya.Ray(startPos, direction);\r\n if (AssetManager.Instance.mainscene.physicsSimulation.rayCast(DownRay, this.DownHit, 100)) {\r\n if (this.DownHit.collider.collisionGroup == 100) {\r\n isDownHit = true;\r\n }\r\n }\r\n return isDownHit;\r\n }\r\n get FowardRayCheck() {\r\n var isFowardHit = false;\r\n var startPos = new Vector3(this.m_hostagemodel.transform.position.x, this.m_hostagemodel.transform.position.y, this.m_hostagemodel.transform.position.z + 0.5);\r\n var direction = new Vector3(0, 0, 1);\r\n var DownRay = new Laya.Ray(startPos, direction);\r\n if (AssetManager.Instance.mainscene.physicsSimulation.rayCast(DownRay, this.FowardHit, 1)) {\r\n if (this.FowardHit.collider.collisionGroup == 100) {\r\n isFowardHit = true;\r\n }\r\n }\r\n return isFowardHit;\r\n }\r\n}\r\n//# sourceMappingURL=Hostage.js.map",
  3. "references": [
  4. "E:/LayaProject/ArcherWorrior/src/Tools/AssetManager.ts",
  5. "E:/LayaProject/ArcherWorrior/src/Tools/EventManager.ts",
  6. "E:/LayaProject/ArcherWorrior/src/Tools/GameTools.ts",
  7. "E:/LayaProject/ArcherWorrior/src/Game/ChaseNpc.ts"
  8. ],
  9. "map": "{\"version\":3,\"file\":\"Hostage.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Game/Hostage.ts\"],\"names\":[],\"mappings\":\"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\"}"
  10. }