acd71e5bc57ae58b26229088324e4af4309ab6e7 36 KB

1234567891011121314151617181920212223242526
  1. {
  2. "code": "import { Role, RoleState } from \"./Role\";\r\nvar Vector3 = Laya.Vector3;\r\nimport { AssetManager } from \"./AssetManager\";\r\nimport PoolManager from \"../Util/PoolManager\";\r\nimport { SceneManager } from \"./SceneManager\";\r\nimport { ColliderLay } from \"./DataMaker\";\r\nimport { EventManager, EventType } from \"./EventManager\";\r\nimport { LevelManager } from \"./LevelManager\";\r\nimport { Player } from \"./Player\";\r\nimport { RigObj } from \"../Util/RigObj\";\r\nimport { Bullet } from \"./Bullet\";\r\nimport { GameManager } from \"./GameManager\";\r\nimport { AudioControl, VoiceType } from \"./AudioControl\";\r\nimport { TtSdk } from \"../Util/TtSdk\";\r\nimport { PlayerAccount } from \"../Network/PlayerAccount\";\r\nimport { InputManager } from \"./InputManager\";\r\nexport class Shooter extends Role {\r\n constructor() {\r\n super(...arguments);\r\n this.awakespeed = 0.3;\r\n this.awakedistance = 10;\r\n this.attackdistance = 10;\r\n this.attackrate = 1;\r\n this.bulletspeed = 1;\r\n this.life = false;\r\n this.movedir = new Vector3();\r\n this.movepos = new Vector3();\r\n this.moverot = new Laya.Quaternion;\r\n }\r\n static Create(_data) {\r\n var roleid = _data.id;\r\n var roleasset = AssetManager.enemy.getValue(1);\r\n var model = PoolManager.GetSprite3D(roleasset);\r\n SceneManager.mainscene.addChild(model);\r\n model.transform.position = new Vector3(_data.startpos.x, _data.startpos.y, _data.startpos.z);\r\n model.transform.rotationEuler = new Vector3(model.transform.rotationEuler.x, 360 - _data.startpos.w, model.transform.rotationEuler.z);\r\n var monster = model.addComponent(Shooter);\r\n monster.mdata = _data;\r\n monster.provocationclip = _data.monsterconfig.provocationclip;\r\n var neck = model.getChildAt(0).getChildAt(0).getChildAt(1).getChildAt(0).getChildAt(2).getChildAt(0);\r\n monster.headpoint = neck.getChildAt(0).getChildAt(0);\r\n monster.weaponpoint = neck.getChildAt(2).getChildAt(0).getChildAt(0).getChildAt(0).getChildAt(0);\r\n monster.Init(model);\r\n monster.collider = model.getChildAt(1).getComponent(Laya.PhysicsCollider);\r\n monster.collider.collisionGroup = ColliderLay.monster;\r\n monster.collider.enabled = true;\r\n monster.SkinShow(monster.mdata.monsterconfig.masktype, monster.mdata.monsterconfig.weapontype);\r\n monster.awakedistance = _data.monsterconfig.recognition;\r\n monster.attackdistance = _data.monsterconfig.attack_range;\r\n monster.movespeed = _data.monsterconfig.move_speed;\r\n monster.attackrate = _data.monsterconfig.frequency;\r\n monster.bulletspeed = _data.monsterconfig.bullet_speed;\r\n monster.upsprite = model.getChildAt(0).getChildAt(2);\r\n monster.upsprite.active = true;\r\n monster.downsprite = model.getChildAt(0).getChildAt(1);\r\n monster.downsprite.active = true;\r\n monster.OnInit();\r\n return monster;\r\n }\r\n OnInit() {\r\n this.mlevel = LevelManager.Instance.curlevel;\r\n this.RegEvent();\r\n if (this.mdata.boos) {\r\n this.cursprite.transform.setWorldLossyScale(new Vector3(1.5, 1.5, 1.5));\r\n }\r\n }\r\n OnClear() {\r\n EventManager.Off(EventType.Cut, this, this.OnCut);\r\n EventManager.Off(EventType.Running, this, this.OnRunning);\r\n Laya.timer.clearAll(this);\r\n Laya.timer.clear(this, this.AttackLoop);\r\n Laya.timer.clear(this, this.MoveLoop);\r\n Laya.timer.clear(this, this.OnLife);\r\n this.SkinShow(0, 0);\r\n this.curanimator.speed = 1;\r\n if (this.cuteffect)\r\n PoolManager.RecoverSprite3D(this.cuteffect);\r\n if (this.diedownsprite) {\r\n var dieani = this.diedownsprite.getChildAt(0).getComponent(Laya.Animator);\r\n dieani.speed = 1;\r\n PoolManager.RecoverSprite3D(this.diedownsprite);\r\n }\r\n }\r\n RegEvent() {\r\n EventManager.On(EventType.Cut, this, this.OnCut);\r\n EventManager.On(EventType.Running, this, this.OnRunning);\r\n }\r\n WithPlaying() {\r\n if (this.mdata.boos) {\r\n Player.mainpalyer.FindBoos(this);\r\n }\r\n }\r\n OnCut(_collider) {\r\n if (_collider != this.collider)\r\n return;\r\n TtSdk.Shake(false);\r\n AudioControl.PlayVoice(VoiceType.cut);\r\n if (this.AttackTarget)\r\n this.StopMove();\r\n this.ChangeState(RoleState.Die, !PlayerAccount.CurAccountData.cuteffect);\r\n }\r\n get displayer() {\r\n var curpos = this.cursprite.transform.position.clone();\r\n var mainplayerpos = Player.mainpalyer.cursprite.transform.position.clone();\r\n var dis = Vector3.distance(mainplayerpos, curpos);\r\n return dis;\r\n }\r\n OnRunning(_playerpos) {\r\n if (this.life)\r\n return;\r\n var curpos = this.cursprite.transform.position.clone();\r\n var dis = Vector3.distance(_playerpos, curpos);\r\n if (dis < this.attackdistance && this.currolestate == RoleState.Idle) {\r\n this.ChangeState(RoleState.Attack);\r\n }\r\n if (this.AttackTarget)\r\n this.cursprite.transform.rotation = this.RotLook(this.AttackTarget.transform.position, false);\r\n }\r\n OnLife() {\r\n if (Player.mainpalyer.currolestate == RoleState.Die || Player.mainpalyer.currolestate == RoleState.Win)\r\n return;\r\n if (this.currolestate == RoleState.Idle) {\r\n this.ChangeState(RoleState.Attack);\r\n }\r\n if (this.AttackTarget)\r\n this.cursprite.transform.rotation = this.RotLook(this.AttackTarget.transform.position, false);\r\n }\r\n onStateChange(_state, _data) {\r\n Laya.timer.clear(this, this.AttackLoop);\r\n Laya.timer.clear(this, this.MoveLoop);\r\n Laya.timer.clear(this, this.OnLife);\r\n if (_state == RoleState.Awake) {\r\n this.OnEnterAwake();\r\n }\r\n else if (_state == RoleState.Die) {\r\n this.OnEnterDie(_data);\r\n }\r\n else if (_state == RoleState.Attack) {\r\n this.OnEnterAttack();\r\n }\r\n else if (_state == RoleState.Idle) {\r\n this.OnEnterIdle();\r\n }\r\n }\r\n OnEnterIdle() {\r\n if (this.curweaponid == 5) {\r\n this.curanimator.crossFade(\"dartsidle\", 0.2);\r\n }\r\n else if (this.curweaponid == 6) {\r\n this.curanimator.crossFade(\"gunidle\", 0.2);\r\n }\r\n else if (this.curweaponid == 7) {\r\n this.curanimator.crossFade(\"paoboosidle\", 0.2);\r\n }\r\n if (this.life) {\r\n Laya.timer.frameOnce(80, this, () => {\r\n Laya.timer.clear(this, this.OnLife);\r\n Laya.timer.frameLoop(1, this, this.OnLife);\r\n });\r\n }\r\n }\r\n OnEnterAttack() {\r\n this.life = true;\r\n Laya.timer.clear(this, this.AttackLoop);\r\n this.AttackLoop();\r\n this.AttackTarget = Player.mainpalyer.cursprite;\r\n this.cursprite.transform.rotation = this.RotLook(this.AttackTarget.transform.position, false);\r\n }\r\n AttackLoop() {\r\n if (this.curweaponid == 5) {\r\n this.curanimator.crossFade(\"darts\", 0.2);\r\n }\r\n else if (this.curweaponid == 6) {\r\n this.curanimator.play(\"shoot\");\r\n }\r\n else if (this.curweaponid == 7) {\r\n this.curanimator.crossFade(\"paoboosattack\", 0.2);\r\n }\r\n Laya.timer.frameOnce(30, this, () => {\r\n if (this.currolestate != RoleState.Die)\r\n this.Fire();\r\n });\r\n var attackrate = 100 / this.attackrate;\r\n Laya.timer.frameOnce(attackrate, this, () => {\r\n this.ChangeState(RoleState.Idle);\r\n });\r\n }\r\n Fire() {\r\n if (!InputManager.caninput)\r\n return;\r\n var bulletid;\r\n var firepo;\r\n var follow = false;\r\n var speed = this.mdata.monsterconfig.bullet_speed;\r\n if (this.curweaponid == 5) {\r\n bulletid = 2;\r\n firepo = this.curweapon.transform.position;\r\n }\r\n else if (this.curweaponid == 6) {\r\n bulletid = 1;\r\n firepo = this.firepoint.transform.position;\r\n }\r\n else if (this.curweaponid == 7) {\r\n bulletid = 3;\r\n firepo = this.curweapon.transform.position;\r\n follow = true;\r\n }\r\n if (this.mdata.monsterconfig.bulletamount == 1) {\r\n var bullet = new Bullet(this, firepo, bulletid, speed);\r\n bullet.Fire(null, Player.mainpalyer.cursprite, follow);\r\n }\r\n else if (this.mdata.monsterconfig.bulletamount == 2) {\r\n var bullet1 = new Bullet(this, firepo, bulletid, speed);\r\n bullet1.Fire(null, Player.mainpalyer.cursprite, follow);\r\n var dir = new Vector3();\r\n Vector3.subtract(Player.mainpalyer.cursprite.transform.position, bullet1.cursprite.transform.position, dir);\r\n var ggy = Math.atan(dir.z / dir.x) * 180 / Math.PI;\r\n var f = Vector3.scalarLength(dir);\r\n if (dir.x > 0)\r\n ggy += 180;\r\n console.log(\"angle:\", ggy);\r\n var ggy1 = ggy + 5;\r\n var xf1 = dir.x > 0 ? Math.abs(Math.sin(ggy1)) : -Math.abs(Math.sin(ggy1));\r\n var zf1 = dir.z > 0 ? Math.abs(Math.sin(ggy1)) : -Math.abs(Math.sin(ggy1));\r\n dir = new Vector3(xf1 * f, dir.y, zf1 * f);\r\n var bullet2 = new Bullet(this, firepo, bulletid, speed);\r\n bullet2.Fire(dir, null, follow);\r\n }\r\n else if (this.mdata.monsterconfig.bulletamount == 3) {\r\n var bullet = new Bullet(this, firepo, bulletid, speed);\r\n bullet.Fire(null, Player.mainpalyer.cursprite, follow);\r\n var dir = new Vector3();\r\n Vector3.subtract(Player.mainpalyer.cursprite.transform.position, bullet.cursprite.transform.position, dir);\r\n var ggy = Math.atan(dir.z / dir.x) * 180 / Math.PI;\r\n var f = Vector3.scalarLength(dir);\r\n if (dir.x > 0)\r\n ggy += 180;\r\n var ggy1 = ggy + 5;\r\n var xf1 = dir.x > 0 ? Math.abs(Math.sin(ggy1)) : -Math.abs(Math.sin(ggy1));\r\n var zf1 = dir.z > 0 ? Math.abs(Math.sin(ggy1)) : -Math.abs(Math.sin(ggy1));\r\n dir = new Vector3(xf1 * f, dir.y, zf1 * f);\r\n var bullet2 = new Bullet(this, firepo, bulletid, speed);\r\n bullet2.Fire(dir, null, follow);\r\n var dir2 = new Vector3();\r\n var ggy2 = ggy + 10;\r\n var xf2 = dir.x > 0 ? Math.abs(Math.sin(ggy2)) : -Math.abs(Math.sin(ggy2));\r\n var zf2 = dir.z > 0 ? Math.abs(Math.sin(ggy2)) : -Math.abs(Math.sin(ggy2));\r\n dir2 = new Vector3(xf2 * f, dir.y, zf2 * f);\r\n var bullet3 = new Bullet(this, firepo, bulletid, speed);\r\n bullet3.Fire(dir2, null, follow);\r\n }\r\n }\r\n OnEnterAwake() {\r\n EventManager.Off(EventType.Running, this, this.OnRunning);\r\n this.curanimator.play(\"run\");\r\n this.SetMove(Player.mainpalyer.cursprite);\r\n }\r\n SetMove(_target) {\r\n this.AttackTarget = _target;\r\n this.movespeed = this.awakespeed;\r\n Laya.timer.clear(this, this.MoveLoop);\r\n Laya.timer.frameLoop(1, this, this.MoveLoop);\r\n }\r\n StopMove() {\r\n Laya.timer.clear(this, this.MoveLoop);\r\n this.AttackTarget = null;\r\n }\r\n MoveLoop() {\r\n if (this.AttackTarget) {\r\n var mpos = this.cursprite.transform.position.clone();\r\n Vector3.subtract(this.AttackTarget.transform.position, mpos, this.movedir);\r\n Vector3.normalize(this.movedir, this.movedir);\r\n Vector3.scale(this.movedir, this.movespeed, this.movedir);\r\n Vector3.add(mpos, this.movedir, this.movepos);\r\n Vector3.lerp(mpos, this.movepos, 0.12, this.movepos);\r\n this.cursprite.transform.position = this.movepos;\r\n this.cursprite.transform.rotation = this.RotLook(this.AttackTarget.transform.position);\r\n if (this.displayer < this.attackdistance) {\r\n this.ChangeState(RoleState.Attack);\r\n }\r\n }\r\n }\r\n RotLook(_targetpos, _lerp = true) {\r\n var mpos = this.cursprite.transform.position.clone();\r\n _targetpos = new Vector3(_targetpos.x, mpos.y, _targetpos.z);\r\n Laya.Quaternion.lookAt(_targetpos, mpos, new Vector3(0, 1, 0), this.moverot);\r\n this.moverot.invert(this.moverot);\r\n if (_lerp)\r\n Laya.Quaternion.slerp(this.cursprite.transform.rotation, this.moverot, 0.2, this.moverot);\r\n this.cursprite.transform.rotation = this.moverot;\r\n return this.moverot;\r\n }\r\n BeBoom() {\r\n this.ChangeState(RoleState.Die, true);\r\n }\r\n OnEnterDie(_die = false) {\r\n GameManager.Instance.goldnum += LevelManager.Instance.curlevel.leveldata.missiondata.masterdrop;\r\n if (_die) {\r\n this.collider.enabled = false;\r\n this.curanimator.play(\"die\");\r\n if (this.mdata.boos)\r\n EventManager.Trigger(EventType.BoosDie, [this]);\r\n Laya.timer.frameOnce(80, this, () => {\r\n this.FallLand(this.cursprite.transform.position.y - 1, () => {\r\n this.Clear();\r\n });\r\n });\r\n return;\r\n }\r\n var cutasset = AssetManager.effect.getValue(4);\r\n this.cuteffect = PoolManager.GetSprite3D(cutasset);\r\n SceneManager.mainscene.addChild(this.cuteffect);\r\n this.cuteffect.transform.position = this.upsprite.transform.position.clone();\r\n this.diedownsprite = PoolManager.GetSprite3D(AssetManager.enemy.getValue(1));\r\n SceneManager.mainscene.addChild(this.diedownsprite);\r\n this.diedownsprite.transform.position = this.cursprite.transform.position.clone();\r\n this.diedownsprite.transform.rotationEuler = this.cursprite.transform.rotationEuler.clone();\r\n if (this.mdata.boos) {\r\n this.diedownsprite.transform.setWorldLossyScale(new Vector3(1.5, 1.5, 1.5));\r\n }\r\n var dieupsprite = this.diedownsprite.getChildAt(0).getChildAt(2);\r\n dieupsprite.active = false;\r\n var dieupsprite2 = this.diedownsprite.getChildAt(0).getChildAt(1);\r\n dieupsprite2.active = true;\r\n var dieani = this.diedownsprite.getChildAt(0).getComponent(Laya.Animator);\r\n dieani.speed = 0;\r\n var diec = this.diedownsprite.getChildAt(1).getComponent(Laya.PhysicsCollider);\r\n diec.enabled = false;\r\n var downrig = new RigObj(this.diedownsprite, null, 1, 1);\r\n downrig.minhight = 1;\r\n downrig.AddForce(new Laya.Vector3(0, 1, 0.5), 0.3);\r\n this.curanimator.speed = 0;\r\n this.downsprite.active = false;\r\n var mrig = new RigObj(this.cursprite, () => {\r\n mrig.Clear();\r\n this.Clear();\r\n }, 1);\r\n mrig.AddForce(new Laya.Vector3(0, 1, 1), 0.5, 2);\r\n if (this.mdata.boos)\r\n EventManager.Trigger(EventType.BoosDie, [this]);\r\n }\r\n OnEnterLose() {\r\n }\r\n onUpdate() {\r\n }\r\n EscapeLoop() {\r\n }\r\n AwakeLoop() {\r\n }\r\n SkinShow(headid, weaponid) {\r\n for (var i = 0; i < this.headpoint.numChildren; i++) {\r\n var head = this.headpoint.getChildAt(i);\r\n head.active = headid - 1 == i;\r\n }\r\n for (var i = 0; i < this.weaponpoint.numChildren; i++) {\r\n var weapon = this.weaponpoint.getChildAt(i);\r\n if (weaponid - 1 == i) {\r\n this.curweapon = weapon;\r\n this.curweapon.active = true;\r\n this.curweaponid = weaponid;\r\n if (weaponid == 6) {\r\n this.firepoint = this.curweapon.getChildAt(1);\r\n }\r\n }\r\n else {\r\n weapon.active = false;\r\n }\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=Shooter.js.map",
  3. "references": [
  4. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/Role.ts",
  5. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/AssetManager.ts",
  6. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Util/PoolManager.ts",
  7. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/SceneManager.ts",
  8. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/DataMaker.ts",
  9. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/EventManager.ts",
  10. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Util/GameUtils.ts",
  11. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/LevelMaker.ts",
  12. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/LevelManager.ts",
  13. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/Player.ts",
  14. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Util/PathMove.ts",
  15. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Util/RigObj.ts",
  16. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/Warrior.ts",
  17. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/Bullet.ts",
  18. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/GameManager.ts",
  19. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/AudioControl.ts",
  20. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Util/TtSdk.ts",
  21. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Network/PlayerAccount.ts",
  22. "C:/Users/Administrator/Desktop/ddccc/ddccc/src/Main/InputManager.ts"
  23. ],
  24. "map": "{\"version\":3,\"file\":\"Shooter.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Main/Shooter.ts\"],\"names\":[],\"mappings\":\"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\"}"
  25. }