1
0

BlockWritingSystem.cs 625 B

1234567891011121314151617181920
  1. namespace Content.Shared.Paper;
  2. /// <summary>
  3. /// A system that prevents those with the IlliterateComponent from writing on paper.
  4. /// Has no effect on reading ability.
  5. /// </summary>
  6. public sealed class BlockWritingSystem : EntitySystem
  7. {
  8. public override void Initialize()
  9. {
  10. base.Initialize();
  11. SubscribeLocalEvent<BlockWritingComponent, PaperWriteAttemptEvent>(OnPaperWriteAttempt);
  12. }
  13. private void OnPaperWriteAttempt(Entity<BlockWritingComponent> entity, ref PaperWriteAttemptEvent args)
  14. {
  15. args.FailReason = entity.Comp.FailWriteMessage;
  16. args.Cancelled = true;
  17. }
  18. }