1234567891011 |
- {
- "code": "var Vector3 = Laya.Vector3;\r\nimport { AssetManager } from \"../Tools/AssetManager\";\r\nimport { GameTools } from \"../Tools/GameTools\";\r\nimport { DispatcherControl, StageState } from \"../Tools/DispatcherControl\";\r\nexport class NpcControl {\r\n constructor() {\r\n this.NpcCharacter = true;\r\n this.FowardHit = new Laya.HitResult();\r\n this.move = true;\r\n this.ChargeSpeed = 0;\r\n this.rundir = new Laya.Vector3();\r\n this.rolepos = new Laya.Vector3();\r\n this.curspeed = 0;\r\n NpcControl.ins = this;\r\n DispatcherControl.StageOn(StageState.Start, this, this.Start);\r\n DispatcherControl.StageOn(StageState.Lose, this, this.GameOver);\r\n DispatcherControl.StageOn(StageState.Win, this, this.GameOver);\r\n DispatcherControl.StageOn(StageState.TimeOver, this, this.GameOver);\r\n }\r\n static get Instance() {\r\n if (NpcControl.ins) {\r\n return NpcControl.ins;\r\n }\r\n else {\r\n return new NpcControl();\r\n }\r\n }\r\n Init(_model, _characterdata) {\r\n var Npc = new NpcControl();\r\n Npc.CurCharacterData = _characterdata;\r\n Npc.CurCharacterData.Model = _model;\r\n Npc.CurCharacterData.Animator = _model.getComponent(Laya.Animator);\r\n return Npc;\r\n }\r\n Start() {\r\n Laya.timer.frameLoop(1, this, this.LateUpdate);\r\n }\r\n GameOver() {\r\n Laya.timer.clear(this, this.LateUpdate);\r\n }\r\n LateUpdate() {\r\n this.RayCheck();\r\n this.Move();\r\n }\r\n Move() {\r\n if (this.move) {\r\n if (this.NpcCharacter) {\r\n var speed = this.CurCharacterData.Speed;\r\n this.ChargeSpeed = GameTools.Instance.lerp(this.ChargeSpeed, 0, 0.1);\r\n speed = this.CurCharacterData.Speed + this.ChargeSpeed;\r\n this.curspeed = GameTools.Instance.lerp(this.curspeed, speed, 0.04);\r\n Vector3.scale(new Vector3(0, 0, 1), this.curspeed, this.rundir);\r\n Vector3.add(this.CurCharacterData.Model.transform.position, this.rundir, this.rolepos);\r\n Vector3.lerp(this.CurCharacterData.Model.transform.position, this.rolepos, 0.15, this.rolepos);\r\n this.CurCharacterData.Model.transform.position = this.rolepos;\r\n }\r\n }\r\n }\r\n RayCheck() {\r\n if (this.FowardRayCheck) {\r\n let dir = Math.random();\r\n if (dir < 0.25) {\r\n this.CurCharacterData.Model.transform.rotationEuler = new Vector3(this.CurCharacterData.Model.transform.rotationEuler.x, 90, this.CurCharacterData.Model.transform.rotationEuler.z);\r\n }\r\n else if (dir >= 0.25 && dir < 0.5) {\r\n this.CurCharacterData.Model.transform.rotationEuler = new Vector3(this.CurCharacterData.Model.transform.rotationEuler.x, -90, this.CurCharacterData.Model.transform.rotationEuler.z);\r\n }\r\n else if (dir >= 0.5 && dir < 0.75) {\r\n this.CurCharacterData.Model.transform.rotationEuler = new Vector3(this.CurCharacterData.Model.transform.rotationEuler.x, 180, this.CurCharacterData.Model.transform.localRotationEuler.z);\r\n }\r\n else if (dir >= 0.75 && dir < 1) {\r\n this.CurCharacterData.Model.transform.rotationEuler = new Vector3(this.CurCharacterData.Model.transform.rotationEuler.x, -180, this.CurCharacterData.Model.transform.rotationEuler.z);\r\n }\r\n }\r\n }\r\n get FowardRayCheck() {\r\n var isFowardHit = false;\r\n var startPos = new Vector3(this.CurCharacterData.Model.transform.position.x, this.CurCharacterData.Model.transform.position.y + 0.5, this.CurCharacterData.Model.transform.position.z);\r\n var direction = new Vector3(0, 0, 1);\r\n var FowardRay = new Laya.Ray(startPos, direction);\r\n if (AssetManager.Instance.mainscene.physicsSimulation.rayCast(FowardRay, this.FowardHit, 0.5)) {\r\n if (this.FowardHit.collider.collisionGroup == 200 && this.FowardHit.collider != this.ForwardTarget || this.FowardHit.collider.owner.name == \"Wall\" || this.FowardHit.collider.owner.name == \"build\") {\r\n this.ForwardTarget = this.FowardHit.collider;\r\n isFowardHit = true;\r\n }\r\n }\r\n return isFowardHit;\r\n }\r\n}\r\n//# sourceMappingURL=NpcControl.js.map",
- "references": [
- "D:/LayaProject/zombieinfect/src/Main/CharacterData.ts",
- "D:/LayaProject/zombieinfect/src/Tools/AssetManager.ts",
- "D:/LayaProject/zombieinfect/src/Tools/GameTools.ts",
- "D:/LayaProject/zombieinfect/src/Tools/DispatcherControl.ts"
- ],
- "map": "{\"version\":3,\"file\":\"NpcControl.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Main/NpcControl.ts\"],\"names\":[],\"mappings\":\"AAAA,IAAO,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAmB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE5F,MAAM,OAAO,UAAU;IAYnB;QARO,iBAAY,GAAW,IAAI,CAAC;QAE5B,cAAS,GAAkB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhD,SAAI,GAAW,IAAI,CAAC;QAEpB,gBAAW,GAAU,CAAC,CAAC;QAmC9B,WAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,YAAO,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,aAAQ,GAAG,CAAC,CAAC;QAlCT,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC;QACtB,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAC,IAAI,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAC,IAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IACM,MAAM,KAAK,QAAQ;QACtB,IAAG,UAAU,CAAC,GAAG,EAAC;YACd,OAAO,UAAU,CAAC,GAAG,CAAA;SACxB;aACG;YACA,OAAO,IAAI,UAAU,EAAE,CAAC;SAC3B;IACL,CAAC;IACD,IAAI,CAAC,MAAoB,EAAC,cAA4B;QAClD,IAAI,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,GAAG,CAAC,gBAAgB,GAAG,cAAc,CAAC;QACtC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,MAAM,CAAC;QACpC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAkB,CAAC;QACpF,OAAO,GAAG,CAAC;IACf,CAAC;IACD,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAC,IAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IACD,UAAU;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAID,IAAI;QACA,IAAG,IAAI,CAAC,IAAI,EAAC;YACT,IAAG,IAAI,CAAC,YAAY,EAAC;gBACjB,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBASpC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrE,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;gBAG3D,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACpE,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/F,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;aACjE;SACJ;IACL,CAAC;IAED,QAAQ;QACJ,IAAG,IAAI,CAAC,cAAc,EAAC;YACnB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,IAAG,GAAG,GAAC,IAAI,EAAC;gBACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAC,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACrL;iBACI,IAAG,GAAG,IAAE,IAAI,IAAI,GAAG,GAAC,GAAG,EAAC;gBACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAC,CAAC,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtL;iBACI,IAAG,GAAG,IAAE,GAAG,IAAI,GAAG,GAAC,IAAI,EAAC;gBACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAC,GAAG,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;aAC3L;iBACI,IAAG,GAAG,IAAE,IAAI,IAAI,GAAG,GAAC,CAAC,EAAC;gBACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAC,CAAC,GAAG,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACvL;SACJ;IACL,CAAC;IAGA,IAAI,cAAc;QACf,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,QAAQ,GAAW,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAC,GAAG,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3L,IAAI,SAAS,GAAW,IAAI,OAAO,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAY,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAC,SAAS,CAAC,CAAC;QAC1D,IAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,EAAC,GAAG,CAAC,EAAC;YACvF,IAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,EAAC;gBAC/L,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAC7C,WAAW,GAAG,IAAI,CAAC;aACtB;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ\"}"
- }
|