SiliconLawEui.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Content.Client.Eui;
  2. using Content.Shared.Eui;
  3. using Content.Shared.Silicons.Laws;
  4. namespace Content.Client.Silicons.Laws.SiliconLawEditUi;
  5. public sealed class SiliconLawEui : BaseEui
  6. {
  7. private readonly EntityManager _entityManager;
  8. private SiliconLawUi _siliconLawUi;
  9. private EntityUid _target;
  10. public SiliconLawEui()
  11. {
  12. _entityManager = IoCManager.Resolve<EntityManager>();
  13. _siliconLawUi = new SiliconLawUi();
  14. _siliconLawUi.OnClose += () => SendMessage(new CloseEuiMessage());
  15. _siliconLawUi.Save.OnPressed += _ => SendMessage(new SiliconLawsSaveMessage(_siliconLawUi.GetLaws(), _entityManager.GetNetEntity(_target)));
  16. }
  17. public override void HandleState(EuiStateBase state)
  18. {
  19. if (state is not SiliconLawsEuiState s)
  20. {
  21. return;
  22. }
  23. _target = _entityManager.GetEntity(s.Target);
  24. _siliconLawUi.SetLaws(s.Laws);
  25. }
  26. public override void Opened()
  27. {
  28. _siliconLawUi.OpenCentered();
  29. }
  30. }