Fixes the flash overlay being offset in separated UI mode (#18415)
This commit is contained in:
@@ -22,7 +22,7 @@ namespace Content.Client.Flash
|
|||||||
[Dependency] private readonly IEntityManager _entityManager = default!;
|
[Dependency] private readonly IEntityManager _entityManager = default!;
|
||||||
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||||
|
|
||||||
public override OverlaySpace Space => OverlaySpace.ScreenSpace;
|
public override OverlaySpace Space => OverlaySpace.WorldSpace;
|
||||||
private readonly ShaderInstance _shader;
|
private readonly ShaderInstance _shader;
|
||||||
private double _startTime = -1;
|
private double _startTime = -1;
|
||||||
private double _lastsFor = 1;
|
private double _lastsFor = 1;
|
||||||
@@ -61,18 +61,16 @@ namespace Content.Client.Flash
|
|||||||
if (percentComplete >= 1.0f)
|
if (percentComplete >= 1.0f)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var screenSpaceHandle = args.ScreenHandle;
|
var worldHandle = args.WorldHandle;
|
||||||
screenSpaceHandle.UseShader(_shader);
|
worldHandle.UseShader(_shader);
|
||||||
_shader.SetParameter("percentComplete", percentComplete);
|
_shader.SetParameter("percentComplete", percentComplete);
|
||||||
|
|
||||||
var screenSize = UIBox2.FromDimensions(new Vector2(0, 0), _displayManager.ScreenSize);
|
|
||||||
|
|
||||||
if (_screenshotTexture != null)
|
if (_screenshotTexture != null)
|
||||||
{
|
{
|
||||||
screenSpaceHandle.DrawTextureRect(_screenshotTexture, screenSize);
|
worldHandle.DrawTextureRectRegion(_screenshotTexture, args.WorldBounds);
|
||||||
}
|
}
|
||||||
|
|
||||||
screenSpaceHandle.UseShader(null);
|
worldHandle.UseShader(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void DisposeBehavior()
|
protected override void DisposeBehavior()
|
||||||
|
|||||||
Reference in New Issue
Block a user