1
0

ResearchSystem.PointSource.cs 779 B

123456789101112131415161718192021222324
  1. using Content.Server.Power.EntitySystems;
  2. using Content.Server.Research.Components;
  3. using Content.Shared.Research.Components;
  4. namespace Content.Server.Research.Systems;
  5. public sealed partial class ResearchSystem
  6. {
  7. private void InitializeSource()
  8. {
  9. SubscribeLocalEvent<ResearchPointSourceComponent, ResearchServerGetPointsPerSecondEvent>(OnGetPointsPerSecond);
  10. }
  11. private void OnGetPointsPerSecond(Entity<ResearchPointSourceComponent> source, ref ResearchServerGetPointsPerSecondEvent args)
  12. {
  13. if (CanProduce(source))
  14. args.Points += source.Comp.PointsPerSecond;
  15. }
  16. public bool CanProduce(Entity<ResearchPointSourceComponent> source)
  17. {
  18. return source.Comp.Active && this.IsPowered(source, EntityManager);
  19. }
  20. }