83a82b0566df5e9e119588e37a1f189ebaf2864d 16 KB

12345678910111213141516
  1. {
  2. "code": "var Vector3 = Laya.Vector3;\r\nimport PoolManager from \"../Util/PoolManager\";\r\nimport { AssetManager } from \"./AssetManager\";\r\nimport { SceneManager } from \"./SceneManager\";\r\nimport { Player } from \"./Player\";\r\nimport { GameUtils } from \"../Util/GameUtils\";\r\nimport { EventManager, EventType } from \"./EventManager\";\r\nimport { ColliderLay } from \"./DataMaker\";\r\nimport { RigObj } from \"../Util/RigObj\";\r\nexport class Bullet {\r\n constructor(_form, _startpos, _type, _speed) {\r\n this.cut = false;\r\n this.life = 10;\r\n this.clear = false;\r\n this.follower = false;\r\n this.curpos = new Vector3();\r\n this.currot = new Laya.Quaternion();\r\n this.firedir = new Vector3();\r\n this.tridis = 0.5;\r\n this.formonster = _form;\r\n this.type = _type;\r\n this.bulletspeed = _speed;\r\n this.cursprite = PoolManager.GetSprite3D(AssetManager.bullet.getValue(this.type));\r\n SceneManager.mainscene.addChild(this.cursprite);\r\n this.cursprite.transform.position = _startpos;\r\n if (this.type == 1 || this.type == 2) {\r\n this.tw = PoolManager.GetSprite3D(AssetManager.effect.getValue(1));\r\n this.cursprite.addChild(this.tw);\r\n this.tw.transform.localPosition = new Vector3(0, 0, 0);\r\n }\r\n this.upsprite = this.cursprite.getChildAt(1);\r\n this.downsprite = this.cursprite.getChildAt(0);\r\n this.curcollider = this.cursprite.getChildAt(2).getComponent(Laya.PhysicsCollider);\r\n this.curcollider.collisionGroup = ColliderLay.bullet;\r\n this.OnInit();\r\n }\r\n OnInit() {\r\n EventManager.On(EventType.Cut, this, this.OnCut);\r\n }\r\n OnCut(_collider) {\r\n if (_collider != this.curcollider || this.cut)\r\n return;\r\n this.BeCut();\r\n }\r\n Clear() {\r\n if (this.clear)\r\n return;\r\n this.clear = true;\r\n Laya.timer.clearAll(this);\r\n Laya.timer.clear(this, this.FireLoop);\r\n if (this.tw)\r\n this.tw.destroy();\r\n if (this.uprig)\r\n this.uprig.Clear();\r\n if (this.downrig)\r\n this.downrig.Clear();\r\n if (this.cuteffect)\r\n PoolManager.RecoverSprite3D(this.cuteffect);\r\n if (this.copysprite) {\r\n var dieupsprite1 = this.copysprite.getChildAt(1);\r\n dieupsprite1.active = true;\r\n PoolManager.RecoverSprite3D(this.copysprite);\r\n }\r\n this.downsprite.active = true;\r\n PoolManager.RecoverSprite3D(this.cursprite);\r\n EventManager.Off(EventType.Cut, this, this.OnCut);\r\n }\r\n Fire(_startdir, _target = null, _follower = false) {\r\n this.firetarget = _target;\r\n this.firedir = _startdir ? _startdir : this.firedir;\r\n this.follower = _follower;\r\n if (_follower && this.type != 2) {\r\n var taretpos = this.firetarget.transform.position.clone();\r\n var lookpos = new Vector3(taretpos.x, this.cursprite.transform.position.y, taretpos.z);\r\n Laya.Quaternion.lookAt(lookpos, this.cursprite.transform.position, new Vector3(0, 1, 0), this.currot);\r\n this.currot.invert(this.currot);\r\n this.cursprite.transform.rotation = this.currot;\r\n }\r\n if (_target != null) {\r\n var sfsf = _target.transform.position.clone();\r\n var bullethight = sfsf.y > 1.2 ? sfsf.y : 1.2;\r\n var targetpos = new Vector3(sfsf.x, bullethight, sfsf.z);\r\n Vector3.subtract(targetpos, this.cursprite.transform.position, this.firedir);\r\n }\r\n this.follower = this.follower && _target != null;\r\n Vector3.normalize(this.firedir, this.firedir);\r\n Vector3.scale(this.firedir, this.bulletspeed, this.firedir);\r\n Laya.timer.frameLoop(1, this, this.FireLoop);\r\n Laya.timer.once(this.life * 1000, this, this.Clear);\r\n }\r\n FireLoop() {\r\n Vector3.add(this.cursprite.transform.position, this.firedir, this.curpos);\r\n Vector3.lerp(this.cursprite.transform.position, this.curpos, 0.12, this.curpos);\r\n this.cursprite.transform.position = this.curpos;\r\n if (this.follower) {\r\n var sfsf = this.firetarget.transform.position.clone();\r\n var bullethight = sfsf.y > 1.2 ? sfsf.y : 1.2;\r\n var targetpos = new Vector3(sfsf.x, bullethight, sfsf.z);\r\n Vector3.subtract(targetpos, this.cursprite.transform.position, this.firedir);\r\n Vector3.normalize(this.firedir, this.firedir);\r\n Vector3.scale(this.firedir, this.bulletspeed, this.firedir);\r\n if (this.type != 2) {\r\n var taretpos = this.firetarget.transform.position.clone();\r\n var lookpos = new Vector3(taretpos.x, this.cursprite.transform.position.y, taretpos.z);\r\n Laya.Quaternion.lookAt(lookpos, this.cursprite.transform.position, new Vector3(0, 1, 0), this.currot);\r\n this.currot.invert(this.currot);\r\n Laya.Quaternion.slerp(this.cursprite.transform.rotation, this.currot, 0.2, this.currot);\r\n this.cursprite.transform.rotation = this.currot;\r\n }\r\n }\r\n if (this.type == 2) {\r\n this.cursprite.transform.rotate(new Vector3(0, 0.1, 0));\r\n }\r\n if (this.displayer < this.tridis) {\r\n this.Clear();\r\n EventManager.Trigger(EventType.Hit, [this.formonster]);\r\n }\r\n }\r\n BeCut() {\r\n this.cut = true;\r\n if (this.tw) {\r\n this.tw.destroy();\r\n this.tw = null;\r\n }\r\n Laya.timer.clear(this, this.FireLoop);\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.copysprite = PoolManager.GetSprite3D(AssetManager.bullet.getValue(this.type));\r\n SceneManager.mainscene.addChild(this.copysprite);\r\n this.copysprite.transform.position = this.cursprite.transform.position.clone();\r\n this.copysprite.transform.rotationEuler = this.cursprite.transform.rotationEuler.clone();\r\n var dieupsprite = this.copysprite.getChildAt(1);\r\n dieupsprite.active = false;\r\n this.uprig = new RigObj(this.copysprite, null, 1);\r\n this.uprig.minhight = 1;\r\n this.uprig.AddForce(new Laya.Vector3(0, 1, 0.1), 0.5);\r\n this.downsprite.active = false;\r\n this.downrig = new RigObj(this.cursprite, () => {\r\n this.Clear();\r\n }, 1.2);\r\n this.downrig.minhight = 1;\r\n this.downrig.AddForce(new Laya.Vector3(0, 1, 0.1), 0.3);\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 = GameUtils.Vector32Length(mainplayerpos, curpos);\r\n return dis;\r\n }\r\n}\r\n//# sourceMappingURL=Bullet.js.map",
  3. "references": [
  4. "D:/Ver/samuraiflash/laya/samuraiflash/src/Main/Role.ts",
  5. "D:/Ver/samuraiflash/laya/samuraiflash/src/Util/PoolManager.ts",
  6. "D:/Ver/samuraiflash/laya/samuraiflash/src/Main/AssetManager.ts",
  7. "D:/Ver/samuraiflash/laya/samuraiflash/src/Main/SceneManager.ts",
  8. "D:/Ver/samuraiflash/laya/samuraiflash/src/Main/Player.ts",
  9. "D:/Ver/samuraiflash/laya/samuraiflash/src/Util/GameUtils.ts",
  10. "D:/Ver/samuraiflash/laya/samuraiflash/src/Main/EventManager.ts",
  11. "D:/Ver/samuraiflash/laya/samuraiflash/src/Main/DataMaker.ts",
  12. "D:/Ver/samuraiflash/laya/samuraiflash/src/Util/RigObj.ts"
  13. ],
  14. "map": "{\"version\":3,\"file\":\"Bullet.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Main/Bullet.ts\"],\"names\":[],\"mappings\":\"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\"}"
  15. }