Add scroll zooming for admins and ghosts (#14061)
* Add scroll zooming for admins * Bunch of work * Kinda better kinda worse scrolling * shared code * nyoom * house md * Fixes * Log spam * Fixes --------- Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
This commit is contained in:
29
Content.Server/Movement/Systems/ContentEyeSystem.cs
Normal file
29
Content.Server/Movement/Systems/ContentEyeSystem.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using Content.Shared.Movement.Components;
|
||||
using Content.Shared.Movement.Systems;
|
||||
|
||||
namespace Content.Server.Movement.Systems;
|
||||
|
||||
public sealed class ContentEyeSystem : SharedContentEyeSystem
|
||||
{
|
||||
public override void Update(float frameTime)
|
||||
{
|
||||
base.Update(frameTime);
|
||||
|
||||
var eyeQuery = GetEntityQuery<SharedEyeComponent>();
|
||||
|
||||
foreach (var (_, comp) in EntityQuery<ActiveContentEyeComponent, ContentEyeComponent>(true))
|
||||
{
|
||||
var uid = comp.Owner;
|
||||
|
||||
// Use a separate query jjuussstt in case any actives mistakenly hang around.
|
||||
if (!eyeQuery.TryGetComponent(comp.Owner, out var eyeComp) ||
|
||||
eyeComp.Zoom.Equals(comp.TargetZoom))
|
||||
{
|
||||
RemComp<ActiveContentEyeComponent>(comp.Owner);
|
||||
continue;
|
||||
}
|
||||
|
||||
UpdateEye(uid, comp, eyeComp, frameTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user