Made all overlays compatible with the new Overlay changes in engine.
This commit is contained in:
parent
7a983062a9
commit
86f74b35d1
7 changed files with 25 additions and 15 deletions
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using Content.Shared.GameObjects.Components.Weapons;
|
||||
using Robust.Client.Graphics.Drawing;
|
||||
|
|
@ -116,7 +116,7 @@ namespace Content.Client.GameObjects.Components.Weapons
|
|||
Duration = duration;
|
||||
}
|
||||
|
||||
protected override void Draw(DrawingHandleBase handle)
|
||||
protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
|
||||
{
|
||||
var elapsedTime = (_timer.CurTime - StartTime).TotalSeconds;
|
||||
if (elapsedTime > Duration)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Shared.AI;
|
||||
|
|
@ -174,6 +174,7 @@ namespace Content.Client.GameObjects.EntitySystems.AI
|
|||
|
||||
// TODO: Add a box like the debug one and show the most recent path stuff
|
||||
public override OverlaySpace Space => OverlaySpace.ScreenSpace;
|
||||
private readonly ShaderInstance _shader;
|
||||
|
||||
public PathfindingDebugMode Modes { get; set; } = PathfindingDebugMode.None;
|
||||
|
||||
|
|
@ -202,7 +203,7 @@ namespace Content.Client.GameObjects.EntitySystems.AI
|
|||
|
||||
public DebugPathfindingOverlay() : base(nameof(DebugPathfindingOverlay))
|
||||
{
|
||||
Shader = IoCManager.Resolve<IPrototypeManager>().Index<ShaderPrototype>("unshaded").Instance();
|
||||
_shader = IoCManager.Resolve<IPrototypeManager>().Index<ShaderPrototype>("unshaded").Instance();
|
||||
_eyeManager = IoCManager.Resolve<IEyeManager>();
|
||||
_playerManager = IoCManager.Resolve<IPlayerManager>();
|
||||
}
|
||||
|
|
@ -455,13 +456,14 @@ namespace Content.Client.GameObjects.EntitySystems.AI
|
|||
|
||||
#endregion
|
||||
|
||||
protected override void Draw(DrawingHandleBase handle)
|
||||
protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
|
||||
{
|
||||
if (Modes == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
handle.UseShader(_shader);
|
||||
var screenHandle = (DrawingHandleScreen) handle;
|
||||
var viewport = _eyeManager.GetWorldViewport();
|
||||
|
||||
|
|
|
|||
|
|
@ -17,15 +17,17 @@ namespace Content.Client.Graphics.Overlays
|
|||
#pragma warning restore 649
|
||||
|
||||
public override OverlaySpace Space => OverlaySpace.WorldSpace;
|
||||
private readonly ShaderInstance _shader;
|
||||
|
||||
public CircleMaskOverlay() : base(nameof(SharedOverlayID.CircleMaskOverlay))
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
Shader = _prototypeManager.Index<ShaderPrototype>("CircleMask").Instance();
|
||||
_shader = _prototypeManager.Index<ShaderPrototype>("CircleMask").Instance();
|
||||
}
|
||||
|
||||
protected override void Draw(DrawingHandleBase handle)
|
||||
protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
|
||||
{
|
||||
handle.UseShader(_shader);
|
||||
var worldHandle = (DrawingHandleWorld)handle;
|
||||
var viewport = _eyeManager.GetWorldViewport();
|
||||
worldHandle.DrawRect(viewport, Color.White);
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ namespace Content.Client.Graphics.Overlays
|
|||
#pragma warning restore 649
|
||||
|
||||
public override OverlaySpace Space => OverlaySpace.ScreenSpace;
|
||||
private readonly ShaderInstance _shader;
|
||||
private double _startTime;
|
||||
private int lastsFor = 5000;
|
||||
private Texture _screenshotTexture;
|
||||
|
|
@ -34,7 +35,7 @@ namespace Content.Client.Graphics.Overlays
|
|||
public FlashOverlay() : base(nameof(SharedOverlayID.FlashOverlay))
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
Shader = _prototypeManager.Index<ShaderPrototype>("FlashedEffect").Instance().Duplicate();
|
||||
_shader = _prototypeManager.Index<ShaderPrototype>("FlashedEffect").Instance().Duplicate();
|
||||
|
||||
_startTime = _gameTiming.CurTime.TotalMilliseconds;
|
||||
_displayManager.Screenshot(ScreenshotType.BeforeUI, image =>
|
||||
|
|
@ -44,10 +45,11 @@ namespace Content.Client.Graphics.Overlays
|
|||
});
|
||||
}
|
||||
|
||||
protected override void Draw(DrawingHandleBase handle)
|
||||
protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
|
||||
{
|
||||
handle.UseShader(_shader);
|
||||
var percentComplete = (float) ((_gameTiming.CurTime.TotalMilliseconds - _startTime) / lastsFor);
|
||||
Shader?.SetParameter("percentComplete", percentComplete);
|
||||
_shader?.SetParameter("percentComplete", percentComplete);
|
||||
|
||||
var screenSpaceHandle = handle as DrawingHandleScreen;
|
||||
var screenSize = UIBox2.FromDimensions((0, 0), _displayManager.ScreenSize);
|
||||
|
|
|
|||
|
|
@ -16,15 +16,17 @@ namespace Content.Client.Graphics.Overlays
|
|||
[Dependency] private readonly IEyeManager _eyeManager;
|
||||
#pragma warning restore 649
|
||||
public override OverlaySpace Space => OverlaySpace.WorldSpace;
|
||||
private readonly ShaderInstance _shader;
|
||||
|
||||
public GradientCircleMaskOverlay() : base(nameof(SharedOverlayID.GradientCircleMaskOverlay))
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
Shader = _prototypeManager.Index<ShaderPrototype>("GradientCircleMask").Instance();
|
||||
_shader = _prototypeManager.Index<ShaderPrototype>("GradientCircleMask").Instance();
|
||||
}
|
||||
|
||||
protected override void Draw(DrawingHandleBase handle)
|
||||
protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
|
||||
{
|
||||
handle.UseShader(_shader);
|
||||
var worldHandle = (DrawingHandleWorld)handle;
|
||||
var viewport = _eyeManager.GetWorldViewport();
|
||||
worldHandle.DrawRect(viewport, Color.White);
|
||||
|
|
|
|||
|
|
@ -26,11 +26,12 @@ namespace Content.Client.Parallax
|
|||
private Texture _parallaxTexture;
|
||||
|
||||
public override OverlaySpace Space => OverlaySpace.ScreenSpaceBelowWorld;
|
||||
private readonly ShaderInstance _shader;
|
||||
|
||||
public ParallaxOverlay() : base(nameof(ParallaxOverlay))
|
||||
{
|
||||
IoCManager.InjectDependencies(this);
|
||||
Shader = _prototypeManager.Index<ShaderPrototype>("unshaded").Instance();
|
||||
_shader = _prototypeManager.Index<ShaderPrototype>("unshaded").Instance();
|
||||
|
||||
if (_parallaxManager.ParallaxTexture == null)
|
||||
{
|
||||
|
|
@ -42,13 +43,14 @@ namespace Content.Client.Parallax
|
|||
}
|
||||
}
|
||||
|
||||
protected override void Draw(DrawingHandleBase handle)
|
||||
protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
|
||||
{
|
||||
if (_parallaxTexture == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
handle.UseShader(_shader);
|
||||
var screenHandle = (DrawingHandleScreen) handle;
|
||||
|
||||
var (sizeX, sizeY) = _parallaxTexture.Size;
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit f0c59f21b0409109d95e84157c8ec90e245fd848
|
||||
Subproject commit a5125a05613ea9dd395f8ab26b5754f60a72567d
|
||||
Loading…
Add table
Reference in a new issue