Injector sprite fix (#9011)
This commit is contained in:
@@ -53,16 +53,19 @@ public sealed class SubFloorHideSystem : SharedSubFloorHideSystem
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Is there some layer that is always visible?
|
// Is there some layer that is always visible?
|
||||||
if (args.Sprite.LayerMapTryGet(SubfloorLayers.FirstLayer, out var firstLayer))
|
var hasVisibleLayer = false;
|
||||||
|
foreach (var layerKey in component.VisibleLayers)
|
||||||
{
|
{
|
||||||
var layer = args.Sprite[firstLayer];
|
if (!args.Sprite.LayerMapTryGet(layerKey, out var layerIndex))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var layer = args.Sprite[layerIndex];
|
||||||
layer.Visible = true;
|
layer.Visible = true;
|
||||||
layer.Color = layer.Color.WithAlpha(1f);
|
layer.Color = layer.Color.WithAlpha(1f);
|
||||||
args.Sprite.Visible = true;
|
hasVisibleLayer = true;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
args.Sprite.Visible = revealed;
|
args.Sprite.Visible = hasVisibleLayer || revealed;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateAll()
|
private void UpdateAll()
|
||||||
@@ -73,8 +76,3 @@ public sealed class SubFloorHideSystem : SharedSubFloorHideSystem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum SubfloorLayers : byte
|
|
||||||
{
|
|
||||||
FirstLayer, // always visible. E.g. vent part of a vent..
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -184,4 +184,9 @@ namespace Content.Shared.SubFloor
|
|||||||
Covered, // is there a floor tile over this entity
|
Covered, // is there a floor tile over this entity
|
||||||
ScannerRevealed, // is this entity revealed by a scanner or some other entity?
|
ScannerRevealed, // is this entity revealed by a scanner or some other entity?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum SubfloorLayers : byte
|
||||||
|
{
|
||||||
|
FirstLayer
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using Robust.Shared.GameStates;
|
using Robust.Shared.GameStates;
|
||||||
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
||||||
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Generic;
|
||||||
|
|
||||||
namespace Content.Shared.SubFloor
|
namespace Content.Shared.SubFloor
|
||||||
{
|
{
|
||||||
@@ -43,6 +45,13 @@ namespace Content.Shared.SubFloor
|
|||||||
[DataField("scannerTransparency")]
|
[DataField("scannerTransparency")]
|
||||||
public float ScannerTransparency = 0.8f;
|
public float ScannerTransparency = 0.8f;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sprite layer keys for the layers that are always visible, even if the entity is below a floor tile. E.g.,
|
||||||
|
/// the vent part of a vent is always visible, even though the piping is hidden.
|
||||||
|
/// </summary>
|
||||||
|
[DataField("visibleLayers", customTypeSerializer:typeof(CustomHashSetSerializer<object, AppearanceKeySerializer>))]
|
||||||
|
public HashSet<object> VisibleLayers = new() { SubfloorLayers.FirstLayer };
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The entities this subfloor is revealed by.
|
/// The entities this subfloor is revealed by.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -158,8 +158,9 @@
|
|||||||
layers:
|
layers:
|
||||||
- state: pipeHalf
|
- state: pipeHalf
|
||||||
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
sprite: Structures/Piping/Atmospherics/pipe.rsi
|
||||||
map: [ "enum.PipeVisualLayers.Pipe", "enum.SubfloorLayers.FirstLayer" ]
|
map: [ "enum.PipeVisualLayers.Pipe" ]
|
||||||
- state: injector
|
- state: injector
|
||||||
|
map: [ "enum.SubfloorLayers.FirstLayer" ]
|
||||||
- state: injector-unshaded
|
- state: injector-unshaded
|
||||||
shader: unshaded
|
shader: unshaded
|
||||||
map: [ "unshaded" ]
|
map: [ "unshaded" ]
|
||||||
@@ -177,6 +178,10 @@
|
|||||||
- type: Construction
|
- type: Construction
|
||||||
graph: GasUnary
|
graph: GasUnary
|
||||||
node: outletinjector
|
node: outletinjector
|
||||||
|
- type: SubFloorHide
|
||||||
|
visibleLayers:
|
||||||
|
- enum.SubfloorLayers.FirstLayer
|
||||||
|
- unshaded
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: BaseMachinePowered
|
parent: BaseMachinePowered
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 906 B After Width: | Height: | Size: 4.5 KiB |
Reference in New Issue
Block a user