{ "code": "var Vector3 = Laya.Vector3;\r\nimport { GameManager } from \"./GameManager\";\r\nimport { EventManager, StageState } from \"../Tools/EventManager\";\r\nimport { GameTools, Transform3DHelper } from \"../Tools/GameTools\";\r\nimport { PlayerControl } from \"./PlayerControl\";\r\nimport { AssetManager } from \"../Tools/AssetManager\";\r\nimport { Runner } from \"./Runner\";\r\nimport GamePool from \"../Tools/GamePool\";\r\nimport { AccountManager } from \"../Net/AccountManager\";\r\nimport InGameView from \"../View/InGameView\";\r\nimport { StageControl } from \"./StageControl\";\r\nimport { AudioManager, MusicType } from \"../Tools/AudioManager\";\r\nexport var NpcState;\r\n(function (NpcState) {\r\n NpcState[NpcState[\"Attack\"] = 0] = \"Attack\";\r\n NpcState[NpcState[\"Idle\"] = 1] = \"Idle\";\r\n NpcState[NpcState[\"Win\"] = 2] = \"Win\";\r\n NpcState[NpcState[\"Pursue\"] = 3] = \"Pursue\";\r\n NpcState[NpcState[\"Run\"] = 4] = \"Run\";\r\n NpcState[NpcState[\"Die\"] = 5] = \"Die\";\r\n})(NpcState || (NpcState = {}));\r\nexport class NpcRunner extends Laya.Script {\r\n constructor() {\r\n super();\r\n this.m_distance = 20;\r\n this.m_distanceatk = 5;\r\n this.DIE = false;\r\n this.m_npcspeed = 0;\r\n this.atked = false;\r\n this.wined = false;\r\n this.begin = false;\r\n this.frontdie = false;\r\n this.reardie = false;\r\n this.canmove = false;\r\n this.dir = new Vector3();\r\n this.currotV = new Vector3();\r\n this.currot = new Laya.Quaternion;\r\n this.CurrectRotate = new Laya.Quaternion();\r\n this.curspeed = 0;\r\n this.offest = new Vector3();\r\n this.curpos = new Vector3();\r\n this.die = false;\r\n NpcRunner.ins = this;\r\n EventManager.StageOn(StageState.Start, this, this.Begin);\r\n EventManager.StageOn(StageState.Lose, this, this.GameOver);\r\n EventManager.StageOn(StageState.Win, this, this.GameOver);\r\n EventManager.StageOn(StageState.Press, this, this.AddSpeed);\r\n EventManager.StageOn(StageState.UnPress, this, this.SlowSpeed);\r\n }\r\n static get Instance() {\r\n if (NpcRunner.ins) {\r\n return NpcRunner.ins;\r\n }\r\n else {\r\n return new NpcRunner();\r\n }\r\n }\r\n onAwake() {\r\n this.m_npcmodel = this.owner;\r\n this.m_npcanimator = this.owner.getComponent(Laya.Animator);\r\n this.player = PlayerControl.Instance.Player;\r\n this.m_distance = AccountManager.Instance.curplayerData.NpcRunDistance * 1.65;\r\n this.m_distanceatk = AccountManager.Instance.curplayerData.NpcAtkDistance * 1.65;\r\n let stage = Number(AccountManager.Instance.curplayerData.GainAccount(\"stage\"));\r\n if (stage == 1) {\r\n this.m_npcspeed = 0.1;\r\n }\r\n else {\r\n this.m_npcspeed = StageControl.Instance.curstage.npcspeed;\r\n }\r\n }\r\n Begin() {\r\n this.ChangeState(NpcState.Idle);\r\n this.begin = true;\r\n }\r\n onUpdate() {\r\n if (!this.begin)\r\n return;\r\n if (this.npc_state == NpcState.Die)\r\n return;\r\n if (this.frontdie || this.reardie) {\r\n this.ChangeState(NpcState.Die);\r\n return;\r\n }\r\n let stage = Number(AccountManager.Instance.curplayerData.GainAccount(\"stage\"));\r\n var distance = Vector3.distance(this.player.transform.position, this.m_npcmodel.transform.position);\r\n if (distance < this.m_distance && distance > this.m_distanceatk && !this.atked && stage > 2) {\r\n Vector3.subtract(this.player.transform.position, this.m_npcmodel.transform.position, this.currotV);\r\n Vector3.normalize(this.currotV, this.currotV);\r\n this.m_npcmodel.transform.lookAt(new Vector3(this.m_npcmodel.transform.position.x - this.currotV.x, this.m_npcmodel.transform.position.y, this.m_npcmodel.transform.position.z - this.currotV.z), new Vector3(0, 1, 0));\r\n this.NPCMoveDir = this.currotV;\r\n this.canmove = true;\r\n this.ChangeState(NpcState.Run);\r\n }\r\n else if (distance <= this.m_distanceatk && !this.atked && stage > 2) {\r\n Vector3.subtract(this.player.transform.position, this.m_npcmodel.transform.position, this.currotV);\r\n Vector3.normalize(this.currotV, this.currotV);\r\n this.m_npcmodel.transform.lookAt(new Vector3(this.m_npcmodel.transform.position.x - this.currotV.x, this.m_npcmodel.transform.position.y, this.m_npcmodel.transform.position.z - this.currotV.z), new Vector3(0, 1, 0));\r\n this.NPCMoveDir = this.currotV;\r\n this.atked = true;\r\n this.ChangeState(NpcState.Attack);\r\n }\r\n this.Move(this.NPCMoveDir, this.m_npcspeed);\r\n this.RayCheck();\r\n }\r\n Move(_dir, _speed) {\r\n if (this.canmove) {\r\n var sp = GameTools.Instance.lerp(this.curspeed, _speed, 0.1);\r\n this.curspeed = sp;\r\n Vector3.scale(_dir, this.curspeed, this.offest);\r\n Vector3.add(this.m_npcmodel.transform.position, this.offest, this.curpos);\r\n Vector3.lerp(this.m_npcmodel.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_npcmodel.transform.position = this.curpos;\r\n }\r\n }\r\n AddSpeed() {\r\n this.m_npcspeed = StageControl.Instance.curstage.npcspeed;\r\n }\r\n SlowSpeed() {\r\n this.m_npcspeed = StageControl.Instance.curstage.npcspeed / 2;\r\n }\r\n GameOver() {\r\n EventManager.StageOff(StageState.Press, this, this.AddSpeed);\r\n EventManager.StageOff(StageState.UnPress, this, this.SlowSpeed);\r\n EventManager.StageOff(StageState.Start, this, this.Begin);\r\n }\r\n ChangeState(_state) {\r\n if (this.npc_state == _state)\r\n return;\r\n this.npc_state = _state;\r\n switch (this.npc_state) {\r\n case NpcState.Attack:\r\n this.Attack();\r\n break;\r\n case NpcState.Pursue:\r\n this.Pursue();\r\n break;\r\n case NpcState.Win:\r\n this.Win();\r\n break;\r\n case NpcState.Idle:\r\n this.Idle();\r\n break;\r\n case NpcState.Run:\r\n this.Run();\r\n break;\r\n case NpcState.Die:\r\n this.Die();\r\n break;\r\n }\r\n }\r\n Idle() {\r\n this.m_npcanimator.play(\"idle\");\r\n }\r\n Attack() {\r\n this.m_npcanimator.play(\"atk\");\r\n Laya.timer.once(500, this, () => {\r\n this.canmove = false;\r\n });\r\n }\r\n Win() {\r\n this.m_npcanimator.play(\"win\");\r\n }\r\n Pursue() {\r\n }\r\n Run() {\r\n this.m_npcanimator.play(\"run\");\r\n }\r\n Die() {\r\n if (this.die)\r\n return;\r\n this.die = true;\r\n AudioManager.playMusic(MusicType.die);\r\n this.PiaoZi();\r\n EventManager.StageOff(StageState.Start, this, this.Begin);\r\n Laya.timer.once(500, this, () => {\r\n GamePool.Instance.RecoveryModel(this.m_npcmodel);\r\n });\r\n if (this.frontdie) {\r\n this.m_npcanimator.play(\"diefront\");\r\n }\r\n else if (this.reardie) {\r\n this.m_npcanimator.play(\"dierear\");\r\n }\r\n this.canmove = false;\r\n GameManager.Instance.KillNum++;\r\n InGameView.Instance.InitUI();\r\n }\r\n PiaoZi() {\r\n let headshoot = new Laya.Image();\r\n headshoot.skin = \"Game/res/textrue/headshoot.png\";\r\n headshoot.scaleX = 1;\r\n headshoot.scaleY = 1;\r\n headshoot.anchorX = 0.5;\r\n headshoot.anchorY = 0.5;\r\n Laya.stage.addChild(headshoot);\r\n Laya.timer.once(1000, this, () => {\r\n headshoot.visible = false;\r\n });\r\n GameManager.Instance.UIArray.push(headshoot);\r\n let UIPos = this.m_npcmodel.getChildByName(\"UIPos\");\r\n let screenpos1 = new Vector3();\r\n Laya.timer.frameLoop(1, this, this.UIFollow, [UIPos, headshoot, screenpos1]);\r\n }\r\n UIFollow(UIPos, UI, POS) {\r\n AssetManager.Instance.maincamera.worldToViewportPoint(UIPos.transform.position, POS);\r\n UI.pos(POS.x, POS.y);\r\n }\r\n RayCheck() {\r\n if (this.wined)\r\n return;\r\n let startpos = new Vector3(this.m_npcmodel.transform.position.x, this.m_npcmodel.transform.position.y + 1.5, this.m_npcmodel.transform.position.z);\r\n let dir = Transform3DHelper.getForward(this.m_npcmodel.transform);\r\n let ray = new Laya.Ray(startpos, dir);\r\n let hitres = new Laya.HitResult();\r\n let isHit = AssetManager.Instance.mainscene.physicsSimulation.rayCast(ray, hitres, 1, 200);\r\n if (isHit) {\r\n let target = hitres.collider.owner.parent;\r\n if (target.name == \"player\") {\r\n let runner = target.getComponent(Runner);\r\n let ani = target.getComponent(Laya.Animator);\r\n if (!runner.Invincible) {\r\n Laya.timer.once(150, this, () => {\r\n runner.isdead = true;\r\n this.wined = true;\r\n });\r\n }\r\n }\r\n else if (target.name == \"bonfire\") {\r\n this.ChangeState(NpcState.Die);\r\n this.wined = true;\r\n }\r\n else if (target.name == \"stone\") {\r\n }\r\n else if (target.name == \"\") {\r\n }\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=NpcRunner.js.map", "references": [ "D:/LayaProject/ArcherWorrior/src/Game/GameManager.ts", "D:/LayaProject/ArcherWorrior/src/Tools/EventManager.ts", "D:/LayaProject/ArcherWorrior/src/Tools/GameTools.ts", "D:/LayaProject/ArcherWorrior/src/Game/PlayerControl.ts", "D:/LayaProject/ArcherWorrior/src/Tools/AssetManager.ts", "D:/LayaProject/ArcherWorrior/src/Game/Runner.ts", "D:/LayaProject/ArcherWorrior/src/Tools/GamePool.ts", "D:/LayaProject/ArcherWorrior/src/Net/AccountManager.ts", "D:/LayaProject/ArcherWorrior/src/View/InGameView.ts", "D:/LayaProject/ArcherWorrior/src/Game/StageControl.ts", "D:/LayaProject/ArcherWorrior/src/Tools/AudioManager.ts" ], "map": "{\"version\":3,\"file\":\"NpcRunner.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Game/NpcRunner.ts\"],\"names\":[],\"mappings\":\"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\"}" }