Viewport improvements (#3765)

This commit is contained in:
Pieter-Jan Briers
2021-04-19 09:52:40 +02:00
committed by GitHub
parent 8e2fc49357
commit 147a54c642
40 changed files with 1173 additions and 418 deletions

View File

@@ -107,7 +107,7 @@ namespace Content.Client.StationEvents
_alphaRateOfChange[entity] = 1.0f / (float) (transitionTime - currentTime).TotalSeconds;
}
protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
protected override void Draw(in OverlayDrawArgs args)
{
// PVS should control the overlay pretty well so the overlay doesn't get instantiated unless we're near one...
var playerEntity = _playerManager.LocalPlayer?.ControlledEntity;
@@ -124,7 +124,7 @@ namespace Content.Client.StationEvents
.EntityQuery<RadiationPulseComponent>(true)
.ToList();
var screenHandle = (DrawingHandleScreen) handle;
var screenHandle = args.ScreenHandle;
var viewport = _eyeManager.GetWorldViewport();
foreach (var grid in _mapManager.FindGridsIntersecting(playerEntity.Transform.MapID, viewport))
@@ -134,7 +134,7 @@ namespace Content.Client.StationEvents
if (!pulse.Draw || grid.Index != pulse.Owner.Transform.GridID) continue;
// TODO: Check if viewport intersects circle
var circlePosition = _eyeManager.WorldToScreen(pulse.Owner.Transform.WorldPosition);
var circlePosition = args.ViewportControl!.WorldToScreen(pulse.Owner.Transform.WorldPosition);
// change to worldhandle when implemented
screenHandle.DrawCircle(