Newer
Older
DungeonShooting / DungeonShooting_Godot / src / weapon / gun / OrdinaryGun.cs
  1. using System;
  2. using Godot;
  3.  
  4.  
  5. /// <summary>
  6. /// 普通的枪
  7. /// </summary>
  8. public class OrdinaryGun : Gun
  9. {
  10. protected override void Init()
  11. {
  12.  
  13. }
  14.  
  15. protected override void OnFire()
  16. {
  17. //创建一个弹壳
  18. var startPos = GlobalPosition + new Vector2(0, 5);
  19. var startHeight = 6;
  20. var direction = GlobalRotationDegrees + MathUtils.RandRangeInt(-30, 30) + 180;
  21. var xf = MathUtils.RandRangeInt(20, 60);
  22. var yf = MathUtils.RandRangeInt(60, 120);
  23. var rotate = MathUtils.RandRangeInt(-720, 720);
  24. var sprite = Attribute.ShellPack.Instance<Sprite>();
  25. sprite.StartThrow<ThrowGun>(new Vector2(5, 10), startPos, startHeight, direction, xf, yf, rotate, sprite);
  26. //创建抖动
  27. MainCamera.Main.ProssesDirectionalShake(Vector2.Right.Rotated(GlobalRotation) * 1.5f);
  28. }
  29.  
  30. protected override void OnShootBullet()
  31. {
  32. //创建子弹
  33. CreateBullet(Attribute.BulletPack, FirePoint.GlobalPosition, (FirePoint.GlobalPosition - OriginPoint.GlobalPosition).Angle());
  34. }
  35.  
  36. protected override void OnReload()
  37. {
  38. }
  39.  
  40. protected override void OnPickUp(Role master)
  41. {
  42. }
  43.  
  44. protected override void OnThrowOut()
  45. {
  46.  
  47. }
  48.  
  49. protected override void OnActive()
  50. {
  51. }
  52.  
  53. protected override void OnConceal()
  54. {
  55. }
  56.  
  57. }