| 12345678910111213141516171819202122232425262728293031323334353637 |
- using Content.Server.GameTicking;
- using Content.Shared.Eye;
- using Content.Shared.Revenant.Components;
- using Content.Shared.Revenant.EntitySystems;
- using Robust.Server.GameObjects;
- namespace Content.Server.Revenant.EntitySystems;
- public sealed class CorporealSystem : SharedCorporealSystem
- {
- [Dependency] private readonly VisibilitySystem _visibilitySystem = default!;
- [Dependency] private readonly GameTicker _ticker = default!;
- public override void OnStartup(EntityUid uid, CorporealComponent component, ComponentStartup args)
- {
- base.OnStartup(uid, component, args);
- if (TryComp<VisibilityComponent>(uid, out var visibility))
- {
- _visibilitySystem.RemoveLayer((uid, visibility), (int) VisibilityFlags.Ghost, false);
- _visibilitySystem.AddLayer((uid, visibility), (int) VisibilityFlags.Normal, false);
- _visibilitySystem.RefreshVisibility(uid, visibility);
- }
- }
- public override void OnShutdown(EntityUid uid, CorporealComponent component, ComponentShutdown args)
- {
- base.OnShutdown(uid, component, args);
- if (TryComp<VisibilityComponent>(uid, out var visibility) && _ticker.RunLevel != GameRunLevel.PostRound)
- {
- _visibilitySystem.AddLayer((uid, visibility), (int) VisibilityFlags.Ghost, false);
- _visibilitySystem.RemoveLayer((uid, visibility), (int) VisibilityFlags.Normal, false);
- _visibilitySystem.RefreshVisibility(uid, visibility);
- }
- }
- }
|