6
2025-11-03 10:15:18 +03:00

45 lines
1.3 KiB
C#

// Bluedge
using Robust.Shared.Serialization;
using Robust.Shared.Utility;
namespace Content.Shared._Bluedge.BloomLight;
[RegisterComponent, AutoGenerateComponentState]
public sealed partial class BloomLightMaskComponent : Component
{
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
public List<BloomMaskSpecifier> LightMasks = new()
{
new() {
UseShader = true,
Modulate = Color.White,
Sprite = new SpriteSpecifier.Texture(new("_Bluedge/BloomLight/Masks/lightmask_lamp_soft.png"))
}
};
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
public bool Enabled = true;
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
public bool UseLightColor = false;
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
public bool UseShader = true;
}
[DataDefinition, Serializable, NetSerializable]
public partial struct BloomMaskSpecifier
{
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool UseShader = true;
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool Unshaded = false;
[DataField, ViewVariables(VVAccess.ReadWrite)]
public Color Modulate = Color.White;
[DataField, ViewVariables(VVAccess.ReadWrite)]
public SpriteSpecifier Sprite;
}