Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / map / mark / WeaponMark.cs
@lijincheng lijincheng on 11 Mar 2023 1 KB 优化 ActivityMark
  1.  
  2. using Godot;
  3.  
  4. /// <summary>
  5. /// 针对武器生成位置的标记
  6. /// </summary>
  7. [Tool]
  8. public partial class WeaponMark : ActivityMark
  9. {
  10. /// <summary>
  11. /// 当前弹夹弹药量, 如果值小于0, 则使用默认弹药量
  12. /// </summary>
  13. [Export]
  14. public int CurrAmmon = -1;
  15.  
  16. /// <summary>
  17. /// 备用弹药容量, 如果值小于0, 则使用默认弹药量
  18. /// </summary>
  19. [Export]
  20. public int ResidueAmmo = -1;
  21. public override void _Ready()
  22. {
  23. DrawColor = Colors.Green;
  24. Type = ActivityIdPrefix.ActivityPrefixType.Weapon;
  25. Layer = RoomLayerEnum.NormalLayer;
  26. }
  27.  
  28. public override void Doing(RoomInfo roomInfo)
  29. {
  30. //创建武器
  31. var instance = ActivityObject.Create<Weapon>(GetItemId());
  32. if (CurrAmmon >= 0)
  33. {
  34. instance.SetCurrAmmo(CurrAmmon);
  35. }
  36.  
  37. if (ResidueAmmo >= 0)
  38. {
  39. instance.SetResidueAmmo(ResidueAmmo);
  40. }
  41. instance.PutDown(GlobalPosition, Layer);
  42. }
  43. }