Newer
Older
DungeonShooting / src / weapon / gun / OrdinaryGun.cs
@小李xl 小李xl on 12 Jul 2022 1 KB 添加弹药消耗, 按R换弹
  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 temp = new ThrowShell();
  19. var startPos = GlobalPosition + new Vector2(0, 5);
  20. var startHeight = 6;
  21. var direction = GlobalRotationDegrees + MathUtils.RandRangeInt(-30, 30) + 180;
  22. var xf = MathUtils.RandRangeInt(20, 60);
  23. var yf = MathUtils.RandRangeInt(60, 120);
  24. var rotate = MathUtils.RandRangeInt(-720, 720);
  25. var sprite = Attribute.ShellPack.Instance<Sprite>();
  26. temp.InitThrow(new Vector2(5, 10), startPos, startHeight, direction, xf, yf, rotate, sprite, sprite);
  27. RoomManager.Current.SortRoot.AddChild(temp);
  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. }