Revert "Fix some friend access violations by allowing others access. (#8594) (#8703)

This commit is contained in:
Pieter-Jan Briers
2022-06-07 13:44:31 +02:00
committed by GitHub
parent c5f7c61041
commit cecf87997b
162 changed files with 169 additions and 197 deletions

View File

@@ -3,7 +3,7 @@ using Content.Shared.DoAfter;
namespace Content.Client.DoAfter namespace Content.Client.DoAfter
{ {
[RegisterComponent, Access(typeof(DoAfterSystem))] [RegisterComponent, Friend(typeof(DoAfterSystem))]
public sealed class DoAfterComponent : SharedDoAfterComponent public sealed class DoAfterComponent : SharedDoAfterComponent
{ {
public readonly Dictionary<byte, ClientDoAfter> DoAfters = new(); public readonly Dictionary<byte, ClientDoAfter> DoAfters = new();

View File

@@ -2,5 +2,5 @@ using Content.Shared.Explosion;
namespace Content.Client.Explosion; namespace Content.Client.Explosion;
[RegisterComponent, Access(typeof(TriggerSystem))] [RegisterComponent, Friend(typeof(TriggerSystem))]
public sealed class TriggerOnProximityComponent : SharedTriggerOnProximityComponent {} public sealed class TriggerOnProximityComponent : SharedTriggerOnProximityComponent {}

View File

@@ -5,7 +5,7 @@ using Robust.Shared.GameObjects;
namespace Content.Client.Flash namespace Content.Client.Flash
{ {
[ComponentReference(typeof(SharedFlashableComponent))] [ComponentReference(typeof(SharedFlashableComponent))]
[RegisterComponent, Access(typeof(FlashSystem))] [RegisterComponent, Friend(typeof(FlashSystem))]
public sealed class FlashableComponent : SharedFlashableComponent public sealed class FlashableComponent : SharedFlashableComponent
{ {
} }

View File

@@ -4,7 +4,7 @@ namespace Content.Client.Hands
{ {
[RegisterComponent] [RegisterComponent]
[ComponentReference(typeof(SharedHandsComponent))] [ComponentReference(typeof(SharedHandsComponent))]
[Access(typeof(HandsSystem))] [Friend(typeof(HandsSystem))]
public sealed class HandsComponent : SharedHandsComponent public sealed class HandsComponent : SharedHandsComponent
{ {
/// <summary> /// <summary>

View File

@@ -16,7 +16,7 @@ namespace Content.Client.Inventory
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[ComponentReference(typeof(InventoryComponent))] [ComponentReference(typeof(InventoryComponent))]
[Access(typeof(ClientInventorySystem))] [Friend(typeof(ClientInventorySystem))]
public sealed class ClientInventoryComponent : InventoryComponent public sealed class ClientInventoryComponent : InventoryComponent
{ {
public Control BottomLeftButtons = default!; public Control BottomLeftButtons = default!;
@@ -34,7 +34,6 @@ namespace Content.Client.Inventory
/// Data about the current layers that have been added to the players sprite due to the items in each equipment slot. /// Data about the current layers that have been added to the players sprite due to the items in each equipment slot.
/// </summary> /// </summary>
[ViewVariables] [ViewVariables]
[Access(typeof(ClientInventorySystem), Other = AccessPermissions.ReadWriteExecute)] // FIXME Friends
public readonly Dictionary<string, HashSet<string>> VisualLayerKeys = new(); public readonly Dictionary<string, HashSet<string>> VisualLayerKeys = new();
public bool AttachedToGameHud; public bool AttachedToGameHud;

View File

@@ -9,7 +9,7 @@ using static Robust.Client.UserInterface.Controls.BoxContainer;
namespace Content.Client.Light.Components namespace Content.Client.Light.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(HandheldLightSystem))] [Friend(typeof(HandheldLightSystem))]
public sealed class HandheldLightComponent : SharedHandheldLightComponent, IItemStatus public sealed class HandheldLightComponent : SharedHandheldLightComponent, IItemStatus
{ {
public byte? Level; public byte? Level;

View File

@@ -3,6 +3,6 @@ using Content.Shared.Climbing;
namespace Content.Client.Movement.Components; namespace Content.Client.Movement.Components;
[RegisterComponent] [RegisterComponent]
[Access(typeof(ClimbSystem))] [Friend(typeof(ClimbSystem))]
[ComponentReference(typeof(SharedClimbableComponent))] [ComponentReference(typeof(SharedClimbableComponent))]
public sealed class ClimbableComponent : SharedClimbableComponent { } public sealed class ClimbableComponent : SharedClimbableComponent { }

View File

@@ -3,6 +3,6 @@
namespace Content.Client.Movement.Components; namespace Content.Client.Movement.Components;
[RegisterComponent] [RegisterComponent]
[Access(typeof(ClimbSystem))] [Friend(typeof(ClimbSystem))]
[ComponentReference(typeof(SharedClimbingComponent))] [ComponentReference(typeof(SharedClimbingComponent))]
public sealed class ClimbingComponent : SharedClimbingComponent { } public sealed class ClimbingComponent : SharedClimbingComponent { }

View File

@@ -8,7 +8,7 @@ using Robust.Shared.Timing;
namespace Content.Client.Stack namespace Content.Client.Stack
{ {
[RegisterComponent, Access(typeof(StackSystem), typeof(StatusControl))] [RegisterComponent, Friend(typeof(StackSystem), typeof(StatusControl))]
[ComponentReference(typeof(SharedStackComponent))] [ComponentReference(typeof(SharedStackComponent))]
public sealed class StackComponent : SharedStackComponent, IItemStatus public sealed class StackComponent : SharedStackComponent, IItemStatus
{ {

View File

@@ -13,7 +13,7 @@ using Robust.Shared.ViewVariables;
namespace Content.Client.Tools.Components namespace Content.Client.Tools.Components
{ {
[RegisterComponent, Access(typeof(ToolSystem), typeof(StatusControl))] [RegisterComponent, Friend(typeof(ToolSystem), typeof(StatusControl))]
public sealed class WelderComponent : SharedWelderComponent, IItemStatus public sealed class WelderComponent : SharedWelderComponent, IItemStatus
{ {
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]

View File

@@ -5,7 +5,7 @@ namespace Content.Client.Weapons.Ranged.Components;
/// <summary> /// <summary>
/// Visualizer for gun mag presence; can change states based on ammo count or toggle visibility entirely. /// Visualizer for gun mag presence; can change states based on ammo count or toggle visibility entirely.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(GunSystem))] [RegisterComponent, Friend(typeof(GunSystem))]
public sealed class MagazineVisualsComponent : Component public sealed class MagazineVisualsComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -2,7 +2,7 @@ using Content.Client.Weapons.Ranged.Systems;
namespace Content.Client.Weapons.Ranged.Components; namespace Content.Client.Weapons.Ranged.Components;
[RegisterComponent, Access(typeof(GunSystem))] [RegisterComponent, Friend(typeof(GunSystem))]
public sealed class SpentAmmoVisualsComponent : Component public sealed class SpentAmmoVisualsComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -1,7 +1,7 @@
namespace Content.Server.AI.Pathfinding; namespace Content.Server.AI.Pathfinding;
[RegisterComponent] [RegisterComponent]
[Access(typeof(PathfindingSystem))] [Friend(typeof(PathfindingSystem))]
public sealed class GridPathfindingComponent : Component, IPathfindingGraph public sealed class GridPathfindingComponent : Component, IPathfindingGraph
{ {
public Dictionary<Vector2i, PathfindingChunk> Graph = new(); public Dictionary<Vector2i, PathfindingChunk> Graph = new();

View File

@@ -2,7 +2,7 @@
namespace Content.Server.Administration.Components; namespace Content.Server.Administration.Components;
[RegisterComponent, Access(typeof(BufferingSystem))] [RegisterComponent, Friend(typeof(BufferingSystem))]
public sealed class BufferingComponent : Component public sealed class BufferingComponent : Component
{ {
[DataField("minBufferTime")] [DataField("minBufferTime")]

View File

@@ -3,7 +3,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Advertise namespace Content.Server.Advertise
{ {
[RegisterComponent, Access(typeof(AdvertiseSystem))] [RegisterComponent, Friend(typeof(AdvertiseSystem))]
public sealed class AdvertiseComponent : Component public sealed class AdvertiseComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -5,7 +5,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Animals.Components namespace Content.Server.Animals.Components
{ {
[RegisterComponent, Access(typeof(UdderSystem))] [RegisterComponent, Friend(typeof(UdderSystem))]
internal sealed class UdderComponent : Component internal sealed class UdderComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -4,7 +4,7 @@ using Content.Shared.Atmos;
namespace Content.Server.Atmos.Piping.Trinary.Components namespace Content.Server.Atmos.Piping.Trinary.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(GasMixerSystem))] [Friend(typeof(GasMixerSystem))]
public sealed class GasMixerComponent : Component public sealed class GasMixerComponent : Component
{ {
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]

View File

@@ -4,7 +4,7 @@ using Content.Shared.Atmos;
namespace Content.Server.Atmos.Piping.Unary.Components namespace Content.Server.Atmos.Piping.Unary.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(GasOutletInjectorSystem))] [Friend(typeof(GasOutletInjectorSystem))]
public sealed class GasOutletInjectorComponent : Component public sealed class GasOutletInjectorComponent : Component
{ {

View File

@@ -6,7 +6,7 @@ using Content.Shared.Atmos.Piping.Unary.Components;
namespace Content.Server.Atmos.Piping.Unary.Components namespace Content.Server.Atmos.Piping.Unary.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(GasVentScrubberSystem))] [Friend(typeof(GasVentScrubberSystem))]
public sealed class GasVentScrubberComponent : Component public sealed class GasVentScrubberComponent : Component
{ {
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]

View File

@@ -9,7 +9,7 @@ namespace Content.Server.Atmos
/// Internal Atmos class that stores data about the atmosphere in a grid. /// Internal Atmos class that stores data about the atmosphere in a grid.
/// You shouldn't use this directly, use <see cref="AtmosphereSystem"/> instead. /// You shouldn't use this directly, use <see cref="AtmosphereSystem"/> instead.
/// </summary> /// </summary>
[Access(typeof(AtmosphereSystem))] [Friend(typeof(AtmosphereSystem))]
public sealed class TileAtmosphere : IGasMixtureHolder public sealed class TileAtmosphere : IGasMixtureHolder
{ {
[ViewVariables] [ViewVariables]
@@ -48,7 +48,7 @@ namespace Content.Server.Atmos
[ViewVariables] [ViewVariables]
public AtmosDirection AdjacentBits = AtmosDirection.Invalid; public AtmosDirection AdjacentBits = AtmosDirection.Invalid;
[ViewVariables, Access(typeof(AtmosphereSystem), Other = AccessPermissions.ReadExecute)] [ViewVariables]
public MonstermosInfo MonstermosInfo; public MonstermosInfo MonstermosInfo;
[ViewVariables] [ViewVariables]
@@ -78,7 +78,6 @@ namespace Content.Server.Atmos
/// This can be immutable if the tile is spaced. /// This can be immutable if the tile is spaced.
/// </summary> /// </summary>
[ViewVariables] [ViewVariables]
[Access(typeof(AtmosphereSystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
public GasMixture? Air { get; set; } public GasMixture? Air { get; set; }
GasMixture IGasMixtureHolder.Air GasMixture IGasMixtureHolder.Air

View File

@@ -8,7 +8,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Body.Components namespace Content.Server.Body.Components
{ {
[RegisterComponent, Access(typeof(BloodstreamSystem))] [RegisterComponent, Friend(typeof(BloodstreamSystem))]
public sealed class BloodstreamComponent : Component public sealed class BloodstreamComponent : Component
{ {
public static string DefaultChemicalsSolutionName = "chemicals"; public static string DefaultChemicalsSolutionName = "chemicals";
@@ -129,7 +129,6 @@ namespace Content.Server.Body.Components
/// Internal solution for reagent storage /// Internal solution for reagent storage
/// </summary> /// </summary>
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]
[Access(typeof(BloodstreamSystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
public Solution ChemicalSolution = default!; public Solution ChemicalSolution = default!;
/// <summary> /// <summary>

View File

@@ -2,7 +2,7 @@
namespace Content.Server.Body.Components namespace Content.Server.Body.Components
{ {
[RegisterComponent, Access(typeof(BrainSystem))] [RegisterComponent, Friend(typeof(BrainSystem))]
public sealed class BrainComponent : Component public sealed class BrainComponent : Component
{ {
} }

View File

@@ -5,11 +5,10 @@ using Content.Shared.Chemistry.Components;
namespace Content.Server.Body.Components; namespace Content.Server.Body.Components;
[RegisterComponent, Access(typeof(LungSystem))] [RegisterComponent, Friend(typeof(LungSystem))]
public sealed class LungComponent : Component public sealed class LungComponent : Component
{ {
[DataField("air")] [DataField("air")]
[Access(typeof(LungSystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
public GasMixture Air { get; set; } = new() public GasMixture Air { get; set; } = new()
{ {
Volume = 6, Volume = 6,
@@ -17,6 +16,5 @@ public sealed class LungComponent : Component
}; };
[ViewVariables] [ViewVariables]
[Access(typeof(LungSystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
public Solution LungSolution = default!; public Solution LungSolution = default!;
} }

View File

@@ -9,7 +9,7 @@ namespace Content.Server.Body.Components
/// <summary> /// <summary>
/// Handles metabolizing various reagents with given effects. /// Handles metabolizing various reagents with given effects.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(MetabolizerSystem))] [RegisterComponent, Friend(typeof(MetabolizerSystem))]
public sealed class MetabolizerComponent : Component public sealed class MetabolizerComponent : Component
{ {
public float AccumulatedFrametime = 0.0f; public float AccumulatedFrametime = 0.0f;
@@ -40,7 +40,6 @@ namespace Content.Server.Body.Components
/// List of metabolizer types that this organ is. ex. Human, Slime, Felinid, w/e. /// List of metabolizer types that this organ is. ex. Human, Slime, Felinid, w/e.
/// </summary> /// </summary>
[DataField("metabolizerTypes", customTypeSerializer:typeof(PrototypeIdHashSetSerializer<MetabolizerTypePrototype>))] [DataField("metabolizerTypes", customTypeSerializer:typeof(PrototypeIdHashSetSerializer<MetabolizerTypePrototype>))]
[Access(typeof(MetabolizerSystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
public HashSet<string>? MetabolizerTypes = null; public HashSet<string>? MetabolizerTypes = null;
/// <summary> /// <summary>

View File

@@ -3,7 +3,7 @@ using Content.Shared.Damage;
namespace Content.Server.Body.Components namespace Content.Server.Body.Components
{ {
[RegisterComponent, Access(typeof(RespiratorSystem))] [RegisterComponent, Friend(typeof(RespiratorSystem))]
public sealed class RespiratorComponent : Component public sealed class RespiratorComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -3,7 +3,7 @@ using Content.Shared.FixedPoint;
namespace Content.Server.Body.Components namespace Content.Server.Body.Components
{ {
[RegisterComponent, Access(typeof(StomachSystem))] [RegisterComponent, Friend(typeof(StomachSystem))]
public sealed class StomachComponent : Component public sealed class StomachComponent : Component
{ {
public float AccumulatedFrameTime; public float AccumulatedFrameTime;

View File

@@ -3,7 +3,7 @@ using Content.Server.Body.Systems;
namespace Content.Server.Body.Components; namespace Content.Server.Body.Components;
[RegisterComponent] [RegisterComponent]
[Access(typeof(ThermalRegulatorSystem))] [Friend(typeof(ThermalRegulatorSystem))]
public sealed class ThermalRegulatorComponent : Component public sealed class ThermalRegulatorComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -6,7 +6,7 @@ namespace Content.Server.Botany.Components;
// TODO: This should probably be merged with SliceableFood somehow or made into a more generic Choppable. // TODO: This should probably be merged with SliceableFood somehow or made into a more generic Choppable.
[RegisterComponent] [RegisterComponent]
[Access(typeof(LogSystem))] [Friend(typeof(LogSystem))]
public sealed class LogComponent : Component public sealed class LogComponent : Component
{ {
[DataField("spawnedPrototype", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))] [DataField("spawnedPrototype", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]

View File

@@ -4,7 +4,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Botany.Components; namespace Content.Server.Botany.Components;
[RegisterComponent] [RegisterComponent]
[Access(typeof(BotanySystem))] [Friend(typeof(BotanySystem))]
public sealed class ProduceComponent : Component public sealed class ProduceComponent : Component
{ {
[DataField("targetSolution")] public string SolutionName { get; set; } = "food"; [DataField("targetSolution")] public string SolutionName { get; set; } = "food";

View File

@@ -3,7 +3,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Botany.Components namespace Content.Server.Botany.Components
{ {
[RegisterComponent, Access(typeof(BotanySystem))] [RegisterComponent, Friend(typeof(BotanySystem))]
public sealed class SeedComponent : Component public sealed class SeedComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -3,7 +3,7 @@ using Content.Server.Botany.Systems;
namespace Content.Server.Botany.Components; namespace Content.Server.Botany.Components;
[RegisterComponent] [RegisterComponent]
[Access(typeof(SeedExtractorSystem))] [Friend(typeof(SeedExtractorSystem))]
public sealed class SeedExtractorComponent : Component public sealed class SeedExtractorComponent : Component
{ {
// TODO: Upgradeable machines. // TODO: Upgradeable machines.

View File

@@ -63,7 +63,7 @@ public struct SeedChemQuantity
// TODO reduce the number of friends to a reasonable level. Requires ECS-ing things like plant holder component. // TODO reduce the number of friends to a reasonable level. Requires ECS-ing things like plant holder component.
[Virtual, DataDefinition] [Virtual, DataDefinition]
[Access(typeof(BotanySystem), typeof(PlantHolderSystem), typeof(SeedExtractorSystem), typeof(PlantHolderComponent))] [Friend(typeof(BotanySystem), typeof(PlantHolderSystem), typeof(SeedExtractorSystem), typeof(PlantHolderComponent))]
public class SeedData public class SeedData
{ {
#region Tracking #region Tracking

View File

@@ -11,7 +11,7 @@ namespace Content.Server.Cargo.Components
/// <summary> /// <summary>
/// Handles teleporting in requested cargo after the specified delay. /// Handles teleporting in requested cargo after the specified delay.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(CargoSystem))] [RegisterComponent, Friend(typeof(CargoSystem))]
public sealed class CargoTelepadComponent : SharedCargoTelepadComponent public sealed class CargoTelepadComponent : SharedCargoTelepadComponent
{ {
[DataField("delay")] [DataField("delay")]

View File

@@ -4,12 +4,11 @@ using Content.Shared.Chemistry.Components;
namespace Content.Server.Chemistry.Components.SolutionManager namespace Content.Server.Chemistry.Components.SolutionManager
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(SolutionContainerSystem))] [Friend(typeof(SolutionContainerSystem))]
public sealed class SolutionContainerManagerComponent : Component public sealed class SolutionContainerManagerComponent : Component
{ {
[ViewVariables] [ViewVariables]
[DataField("solutions")] [DataField("solutions")]
[Access(typeof(SolutionContainerSystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
public readonly Dictionary<string, Solution> Solutions = new(); public readonly Dictionary<string, Solution> Solutions = new();
} }
} }

View File

@@ -4,7 +4,7 @@ namespace Content.Server.Climbing.Components;
[RegisterComponent] [RegisterComponent]
[ComponentReference(typeof(SharedClimbingComponent))] [ComponentReference(typeof(SharedClimbingComponent))]
[Access(typeof(ClimbSystem))] [Friend(typeof(ClimbSystem))]
public sealed class ClimbingComponent : SharedClimbingComponent public sealed class ClimbingComponent : SharedClimbingComponent
{ {
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]

View File

@@ -7,7 +7,7 @@ namespace Content.Server.Climbing.Components;
/// This is a really entity-specific behavior, so opted to make it /// This is a really entity-specific behavior, so opted to make it
/// not very generalized with regards to naming. /// not very generalized with regards to naming.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(ClimbSystem))] [RegisterComponent, Friend(typeof(ClimbSystem))]
public sealed class GlassTableComponent : Component public sealed class GlassTableComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -3,7 +3,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Construction.Components namespace Content.Server.Construction.Components
{ {
[RegisterComponent, Access(typeof(ConstructionSystem))] [RegisterComponent, Friend(typeof(ConstructionSystem))]
public sealed class ConstructionComponent : Component public sealed class ConstructionComponent : Component
{ {
[DataField("graph", required:true, customTypeSerializer:typeof(PrototypeIdSerializer<ConstructionGraphPrototype>))] [DataField("graph", required:true, customTypeSerializer:typeof(PrototypeIdSerializer<ConstructionGraphPrototype>))]

View File

@@ -5,7 +5,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Conveyor namespace Content.Server.Conveyor
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(ConveyorSystem))] [Friend(typeof(ConveyorSystem))]
public sealed class ConveyorComponent : Component public sealed class ConveyorComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -3,7 +3,7 @@ using Content.Shared.Damage;
namespace Content.Server.Damage.Components namespace Content.Server.Damage.Components
{ {
[Access(typeof(DamageOtherOnHitSystem))] [Friend(typeof(DamageOtherOnHitSystem))]
[RegisterComponent] [RegisterComponent]
public sealed class DamageOtherOnHitComponent : Component public sealed class DamageOtherOnHitComponent : Component
{ {

View File

@@ -4,7 +4,7 @@ using Content.Server.NodeContainer.Nodes;
namespace Content.Server.DeviceNetwork.Components namespace Content.Server.DeviceNetwork.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(ApcNetworkSystem))] [Friend(typeof(ApcNetworkSystem))]
[ComponentProtoName("ApcNetworkConnection")] [ComponentProtoName("ApcNetworkConnection")]
public sealed class ApcNetworkComponent : Component public sealed class ApcNetworkComponent : Component
{ {

View File

@@ -5,7 +5,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.DeviceNetwork.Components namespace Content.Server.DeviceNetwork.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(DeviceNetworkSystem), typeof(DeviceNet))] [Friend(typeof(DeviceNetworkSystem), typeof(DeviceNet))]
public sealed class DeviceNetworkComponent : Component public sealed class DeviceNetworkComponent : Component
{ {
public enum DeviceNetIdDefaults public enum DeviceNetIdDefaults

View File

@@ -3,7 +3,7 @@
namespace Content.Server.DeviceNetwork.Components.Devices namespace Content.Server.DeviceNetwork.Components.Devices
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(ApcNetSwitchSystem))] [Friend(typeof(ApcNetSwitchSystem))]
public sealed class ApcNetSwitchComponent : Component public sealed class ApcNetSwitchComponent : Component
{ {
[ViewVariables] public bool State; [ViewVariables] public bool State;

View File

@@ -2,7 +2,7 @@ using Content.Shared.Sound;
namespace Content.Server.Dice namespace Content.Server.Dice
{ {
[RegisterComponent, Access(typeof(DiceSystem))] [RegisterComponent, Friend(typeof(DiceSystem))]
public sealed class DiceComponent : Component public sealed class DiceComponent : Component
{ {
[ViewVariables] [ViewVariables]

View File

@@ -2,7 +2,7 @@ using Content.Shared.DoAfter;
namespace Content.Server.DoAfter namespace Content.Server.DoAfter
{ {
[RegisterComponent, Access(typeof(DoAfterSystem))] [RegisterComponent, Friend(typeof(DoAfterSystem))]
public sealed class DoAfterComponent : SharedDoAfterComponent public sealed class DoAfterComponent : SharedDoAfterComponent
{ {
public readonly Dictionary<DoAfter, byte> DoAfters = new(); public readonly Dictionary<DoAfter, byte> DoAfters = new();

View File

@@ -4,7 +4,7 @@
/// Component for virtual electrocution entities (representing an in-progress shock). /// Component for virtual electrocution entities (representing an in-progress shock).
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[Access(typeof(ElectrocutionSystem))] [Friend(typeof(ElectrocutionSystem))]
public sealed class ElectrocutionComponent : Component public sealed class ElectrocutionComponent : Component
{ {
[DataField("timeLeft")] public float TimeLeft { get; set; } [DataField("timeLeft")] public float TimeLeft { get; set; }

View File

@@ -5,7 +5,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Explosion.Components namespace Content.Server.Explosion.Components
{ {
[RegisterComponent, Access(typeof(ClusterGrenadeSystem))] [RegisterComponent, Friend(typeof(ClusterGrenadeSystem))]
public sealed class ClusterGrenadeComponent : Component public sealed class ClusterGrenadeComponent : Component
{ {
public Container GrenadesContainer = default!; public Container GrenadesContainer = default!;

View File

@@ -12,7 +12,7 @@ namespace Content.Server.Explosion.Components;
/// significantly reduce the damage, but shouldn't be silly overpowered in regular combat. /// significantly reduce the damage, but shouldn't be silly overpowered in regular combat.
/// </remarks> /// </remarks>
[RegisterComponent] [RegisterComponent]
[Access(typeof(ExplosionSystem))] [Friend(typeof(ExplosionSystem))]
public sealed class ExplosionResistanceComponent : Component public sealed class ExplosionResistanceComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -3,7 +3,7 @@ using Content.Shared.Sound;
namespace Content.Server.Extinguisher; namespace Content.Server.Extinguisher;
[RegisterComponent] [RegisterComponent]
[Access(typeof(FireExtinguisherSystem))] [Friend(typeof(FireExtinguisherSystem))]
public sealed class FireExtinguisherComponent : Component public sealed class FireExtinguisherComponent : Component
{ {
[DataField("refillSound")] public SoundSpecifier RefillSound = new SoundPathSpecifier("/Audio/Effects/refill.ogg"); [DataField("refillSound")] public SoundSpecifier RefillSound = new SoundPathSpecifier("/Audio/Effects/refill.ogg");

View File

@@ -2,7 +2,7 @@ using Content.Shared.Sound;
namespace Content.Server.Flash.Components namespace Content.Server.Flash.Components
{ {
[RegisterComponent, Access(typeof(FlashSystem))] [RegisterComponent, Friend(typeof(FlashSystem))]
public sealed class FlashComponent : Component public sealed class FlashComponent : Component
{ {
[DataField("duration")] [DataField("duration")]

View File

@@ -1,6 +1,6 @@
namespace Content.Server.Flash.Components namespace Content.Server.Flash.Components
{ {
[RegisterComponent, Access(typeof(FlashSystem))] [RegisterComponent, Friend(typeof(FlashSystem))]
public sealed class FlashImmunityComponent : Component public sealed class FlashImmunityComponent : Component
{ {
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]

View File

@@ -3,7 +3,7 @@ using Content.Shared.Flash;
namespace Content.Server.Flash.Components namespace Content.Server.Flash.Components
{ {
[ComponentReference(typeof(SharedFlashableComponent))] [ComponentReference(typeof(SharedFlashableComponent))]
[RegisterComponent, Access(typeof(FlashSystem))] [RegisterComponent, Friend(typeof(FlashSystem))]
public sealed class FlashableComponent : SharedFlashableComponent public sealed class FlashableComponent : SharedFlashableComponent
{ {
} }

View File

@@ -7,7 +7,7 @@ namespace Content.Server.Fluids.Components;
/// <summary> /// <summary>
/// For entities that can clean up puddles /// For entities that can clean up puddles
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(MoppingSystem))] [RegisterComponent, Friend(typeof(MoppingSystem))]
public sealed class AbsorbentComponent : Component public sealed class AbsorbentComponent : Component
{ {
public const string SolutionName = "absorbed"; public const string SolutionName = "absorbed";

View File

@@ -4,7 +4,7 @@ using Content.Shared.FixedPoint;
namespace Content.Server.Fluids.Components namespace Content.Server.Fluids.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(EvaporationSystem))] [Friend(typeof(EvaporationSystem))]
public sealed class EvaporationComponent : Component public sealed class EvaporationComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -4,7 +4,7 @@ using Content.Shared.Chemistry.Components;
namespace Content.Server.Fluids.Components; namespace Content.Server.Fluids.Components;
[RegisterComponent] [RegisterComponent]
[Access(typeof(FluidSpreaderSystem))] [Friend(typeof(FluidSpreaderSystem))]
public sealed class FluidSpreaderComponent : Component public sealed class FluidSpreaderComponent : Component
{ {
[ViewVariables] [ViewVariables]

View File

@@ -8,7 +8,7 @@ namespace Content.Server.Fluids.Components
/// Puddle on a floor /// Puddle on a floor
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[Access(typeof(PuddleSystem))] [Friend(typeof(PuddleSystem))]
public sealed class PuddleComponent : Component public sealed class PuddleComponent : Component
{ {
public const string DefaultSolutionName = "puddle"; public const string DefaultSolutionName = "puddle";

View File

@@ -7,7 +7,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Fluids.Components; namespace Content.Server.Fluids.Components;
[RegisterComponent] [RegisterComponent]
[Access(typeof(SpraySystem))] [Friend(typeof(SpraySystem))]
public sealed class SprayComponent : Component public sealed class SprayComponent : Component
{ {
public const string SolutionName = "spray"; public const string SolutionName = "spray";
@@ -32,6 +32,5 @@ public sealed class SprayComponent : Component
[DataField("impulse")] public float Impulse; [DataField("impulse")] public float Impulse;
[DataField("spraySound", required: true)] [DataField("spraySound", required: true)]
[Access(typeof(SpraySystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
public SoundSpecifier SpraySound { get; } = default!; public SoundSpecifier SpraySound { get; } = default!;
} }

View File

@@ -3,7 +3,7 @@ using Content.Shared.Whitelist;
namespace Content.Server.Gatherable.Components; namespace Content.Server.Gatherable.Components;
[RegisterComponent] [RegisterComponent]
[Access(typeof(GatherableSystem))] [Friend(typeof(GatherableSystem))]
public sealed class GatherableComponent : Component public sealed class GatherableComponent : Component
{ {
/// <summary> /// <summary>
@@ -11,7 +11,7 @@ public sealed class GatherableComponent : Component
/// Supports multiple tags. /// Supports multiple tags.
/// </summary> /// </summary>
[ViewVariables] [ViewVariables]
[DataField("whitelist", required: true)] [DataField("whitelist", required: true)]
public EntityWhitelist? ToolWhitelist; public EntityWhitelist? ToolWhitelist;
/// <summary> /// <summary>
@@ -27,6 +27,6 @@ public sealed class GatherableComponent : Component
/// Tag1: LootTableID1 /// Tag1: LootTableID1
/// Tag2: LootTableID2 /// Tag2: LootTableID2
/// </summary> /// </summary>
[DataField("loot")] [DataField("loot")]
public Dictionary<string, string>? MappedLoot = new(); public Dictionary<string, string>? MappedLoot = new();
} }

View File

@@ -3,7 +3,7 @@ using Robust.Server.Player;
namespace Content.Server.Ghost.Roles.Components namespace Content.Server.Ghost.Roles.Components
{ {
[Access(typeof(GhostRoleSystem))] [Friend(typeof(GhostRoleSystem))]
public abstract class GhostRoleComponent : Component public abstract class GhostRoleComponent : Component
{ {
[DataField("name")] public string _roleName = "Unknown"; [DataField("name")] public string _roleName = "Unknown";
@@ -21,7 +21,6 @@ namespace Content.Server.Ghost.Roles.Components
// We do this so updating RoleName and RoleDescription in VV updates the open EUIs. // We do this so updating RoleName and RoleDescription in VV updates the open EUIs.
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]
[Access(typeof(GhostRoleSystem), Other = AccessPermissions.ReadWriteExecute)] // FIXME Friends
public string RoleName public string RoleName
{ {
get => _roleName; get => _roleName;
@@ -33,7 +32,6 @@ namespace Content.Server.Ghost.Roles.Components
} }
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]
[Access(typeof(GhostRoleSystem), Other = AccessPermissions.ReadWriteExecute)] // FIXME Friends
public string RoleDescription public string RoleDescription
{ {
get => _roleDescription; get => _roleDescription;
@@ -45,7 +43,6 @@ namespace Content.Server.Ghost.Roles.Components
} }
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite)]
[Access(typeof(GhostRoleSystem), Other = AccessPermissions.ReadWriteExecute)] // FIXME Friends
public string RoleRules public string RoleRules
{ {
get => _roleRules; get => _roleRules;

View File

@@ -4,7 +4,7 @@ using Content.Shared.Gravity;
namespace Content.Server.Gravity namespace Content.Server.Gravity
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(GravityGeneratorSystem))] [Friend(typeof(GravityGeneratorSystem))]
public sealed class GravityGeneratorComponent : SharedGravityGeneratorComponent public sealed class GravityGeneratorComponent : SharedGravityGeneratorComponent
{ {
// 1% charge per second. // 1% charge per second.

View File

@@ -4,7 +4,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.HealthExaminable; namespace Content.Server.HealthExaminable;
[RegisterComponent, Access(typeof(HealthExaminableSystem))] [RegisterComponent, Friend(typeof(HealthExaminableSystem))]
public sealed class HealthExaminableComponent : Component public sealed class HealthExaminableComponent : Component
{ {
public List<FixedPoint2> Thresholds = new() public List<FixedPoint2> Thresholds = new()

View File

@@ -2,7 +2,7 @@ using Content.Shared.Sound;
namespace Content.Server.Interaction.Components; namespace Content.Server.Interaction.Components;
[RegisterComponent, Access(typeof(InteractionPopupSystem))] [RegisterComponent, Friend(typeof(InteractionPopupSystem))]
public sealed class InteractionPopupComponent : Component public sealed class InteractionPopupComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -7,7 +7,7 @@ namespace Content.Server.Kitchen.Components
/// Tag component that denotes an entity as Extractable /// Tag component that denotes an entity as Extractable
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[Access(typeof(ReagentGrinderSystem))] [Friend(typeof(ReagentGrinderSystem))]
public sealed class ExtractableComponent : Component public sealed class ExtractableComponent : Component
{ {
[ViewVariables] [ViewVariables]

View File

@@ -4,7 +4,7 @@ using Content.Shared.Kitchen.Components;
namespace Content.Server.Kitchen.Components namespace Content.Server.Kitchen.Components
{ {
[RegisterComponent, Access(typeof(KitchenSpikeSystem))] [RegisterComponent, Friend(typeof(KitchenSpikeSystem))]
public sealed class KitchenSpikeComponent : SharedKitchenSpikeComponent public sealed class KitchenSpikeComponent : SharedKitchenSpikeComponent
{ {
public List<string>? PrototypesToSpawn; public List<string>? PrototypesToSpawn;

View File

@@ -5,7 +5,7 @@ namespace Content.Server.Kudzu;
/// ONLY USE THIS FOR ANCHORED OBJECTS. An error will be logged if not anchored/static. /// ONLY USE THIS FOR ANCHORED OBJECTS. An error will be logged if not anchored/static.
/// Currently does not support growing in space. /// Currently does not support growing in space.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(SpreaderSystem))] [RegisterComponent, Friend(typeof(SpreaderSystem))]
public sealed class SpreaderComponent : Component public sealed class SpreaderComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -6,7 +6,7 @@ namespace Content.Server.Light.Components
/// <summary> /// <summary>
/// Component that represents an emergency light, it has an internal battery that charges when the power is on. /// Component that represents an emergency light, it has an internal battery that charges when the power is on.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(EmergencyLightSystem))] [RegisterComponent, Friend(typeof(EmergencyLightSystem))]
public sealed class EmergencyLightComponent : SharedEmergencyLightComponent public sealed class EmergencyLightComponent : SharedEmergencyLightComponent
{ {
[ViewVariables] [ViewVariables]

View File

@@ -8,7 +8,7 @@ namespace Content.Server.Light.Components
/// Component that represents a powered handheld light source which can be toggled on and off. /// Component that represents a powered handheld light source which can be toggled on and off.
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[Access(typeof(HandheldLightSystem))] [Friend(typeof(HandheldLightSystem))]
public sealed class HandheldLightComponent : SharedHandheldLightComponent public sealed class HandheldLightComponent : SharedHandheldLightComponent
{ {
[ViewVariables(VVAccess.ReadWrite)] [DataField("wattage")] public float Wattage { get; set; } = .8f; [ViewVariables(VVAccess.ReadWrite)] [DataField("wattage")] public float Wattage { get; set; } = .8f;

View File

@@ -7,7 +7,7 @@ namespace Content.Server.Light.Components
/// <summary> /// <summary>
/// Component that represents a light bulb. Can be broken, or burned, which turns them mostly useless. /// Component that represents a light bulb. Can be broken, or burned, which turns them mostly useless.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(LightBulbSystem))] [RegisterComponent, Friend(typeof(LightBulbSystem))]
public sealed class LightBulbComponent : Component public sealed class LightBulbComponent : Component
{ {
[DataField("color")] [DataField("color")]

View File

@@ -8,7 +8,7 @@ namespace Content.Server.Light.Components
/// Enables or disables a pointlight depending on the powered /// Enables or disables a pointlight depending on the powered
/// state of an entity. /// state of an entity.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(PoweredLightSystem))] [RegisterComponent, Friend(typeof(PoweredLightSystem))]
public sealed class LitOnPoweredComponent : Component public sealed class LitOnPoweredComponent : Component
{ {
} }

View File

@@ -5,7 +5,7 @@ using Content.Server.Light.EntitySystems;
namespace Content.Server.Light.Components namespace Content.Server.Light.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(MatchstickSystem))] [Friend(typeof(MatchstickSystem))]
public sealed class MatchstickComponent : Component public sealed class MatchstickComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -12,7 +12,7 @@ namespace Content.Server.Light.Components
/// <summary> /// <summary>
/// Component that represents a wall light. It has a light bulb that can be replaced when broken. /// Component that represents a wall light. It has a light bulb that can be replaced when broken.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(PoweredLightSystem))] [RegisterComponent, Friend(typeof(PoweredLightSystem))]
public sealed class PoweredLightComponent : Component public sealed class PoweredLightComponent : Component
{ {
[DataField("burnHandSound")] [DataField("burnHandSound")]

View File

@@ -3,7 +3,7 @@ using Content.Server.MachineLinking.System;
namespace Content.Server.MachineLinking.Components namespace Content.Server.MachineLinking.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(SignalLinkerSystem))] [Friend(typeof(SignalLinkerSystem))]
public sealed class SignalReceiverComponent : Component public sealed class SignalReceiverComponent : Component
{ {
[DataField("inputs")] [DataField("inputs")]

View File

@@ -19,7 +19,7 @@ namespace Content.Server.MachineLinking.Components
} }
[RegisterComponent] [RegisterComponent]
[Access(typeof(SignalLinkerSystem))] [Friend(typeof(SignalLinkerSystem))]
public sealed class SignalTransmitterComponent : Component public sealed class SignalTransmitterComponent : Component
{ {
/// <summary> /// <summary>
@@ -32,7 +32,6 @@ namespace Content.Server.MachineLinking.Components
public float TransmissionRange = 30f; public float TransmissionRange = 30f;
[DataField("outputs")] [DataField("outputs")]
[Access(typeof(SignalLinkerSystem), Other = AccessPermissions.ReadExecute)] // FIXME Friends
public Dictionary<string, List<PortIdentifier>> Outputs = new(); public Dictionary<string, List<PortIdentifier>> Outputs = new();
} }
} }

View File

@@ -3,7 +3,7 @@ using Content.Shared.Medical.SuitSensor;
namespace Content.Server.Medical.CrewMonitoring namespace Content.Server.Medical.CrewMonitoring
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(CrewMonitoringConsoleSystem))] [Friend(typeof(CrewMonitoringConsoleSystem))]
public sealed class CrewMonitoringConsoleComponent : Component public sealed class CrewMonitoringConsoleComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -7,7 +7,7 @@ namespace Content.Server.Medical.SuitSensors
/// If enabled, will report to crew monitoring console owners position and status. /// If enabled, will report to crew monitoring console owners position and status.
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[Access(typeof(SuitSensorSystem))] [Friend(typeof(SuitSensorSystem))]
public sealed class SuitSensorComponent : Component public sealed class SuitSensorComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -3,14 +3,13 @@ namespace Content.Server.Mind.Components
/// <summary> /// <summary>
/// Stores a <see cref="Server.Mind.Mind"/> on a mob. /// Stores a <see cref="Server.Mind.Mind"/> on a mob.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(MindSystem))] [RegisterComponent, Friend(typeof(MindSystem))]
public sealed class MindComponent : Component public sealed class MindComponent : Component
{ {
/// <summary> /// <summary>
/// The mind controlling this mob. Can be null. /// The mind controlling this mob. Can be null.
/// </summary> /// </summary>
[ViewVariables] [ViewVariables]
[Access(typeof(MindSystem), Other = AccessPermissions.ReadWriteExecute)] // FIXME Friends
public Mind? Mind { get; set; } public Mind? Mind { get; set; }
/// <summary> /// <summary>

View File

@@ -72,8 +72,7 @@ namespace Content.Server.Mind
/// The time of death for this Mind. /// The time of death for this Mind.
/// Can be null - will be null if the Mind is not considered "dead". /// Can be null - will be null if the Mind is not considered "dead".
/// </summary> /// </summary>
[ViewVariables] [ViewVariables] public TimeSpan? TimeOfDeath { get; set; } = null;
public TimeSpan? TimeOfDeath { get; set; } = null;
/// <summary> /// <summary>
/// The component currently owned by this mind. /// The component currently owned by this mind.

View File

@@ -13,7 +13,7 @@ namespace Content.Server.Nuke
/// To activate it, user needs to insert an authorization disk and enter a secret code. /// To activate it, user needs to insert an authorization disk and enter a secret code.
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[Access(typeof(NukeSystem))] [Friend(typeof(NukeSystem))]
public sealed class NukeComponent : SharedNukeComponent public sealed class NukeComponent : SharedNukeComponent
{ {
/// <summary> /// <summary>

View File

@@ -5,7 +5,7 @@ namespace Content.Server.Nutrition.Components
/// <summary> /// <summary>
/// A disposable, single-use smokable. /// A disposable, single-use smokable.
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(SmokingSystem))] [RegisterComponent, Friend(typeof(SmokingSystem))]
public sealed class CigarComponent : Component public sealed class CigarComponent : Component
{ {
} }

View File

@@ -7,7 +7,7 @@ using System.Threading;
namespace Content.Server.Nutrition.Components namespace Content.Server.Nutrition.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(DrinkSystem))] [Friend(typeof(DrinkSystem))]
public sealed class DrinkComponent : Component public sealed class DrinkComponent : Component
{ {
[DataField("solution")] [DataField("solution")]

View File

@@ -8,7 +8,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Nutrition.Components namespace Content.Server.Nutrition.Components
{ {
[RegisterComponent, Access(typeof(FoodSystem))] [RegisterComponent, Friend(typeof(FoodSystem))]
public sealed class FoodComponent : Component public sealed class FoodComponent : Component
{ {
[DataField("solution")] [DataField("solution")]

View File

@@ -5,7 +5,7 @@ namespace Content.Server.Nutrition.Components
/// <summary> /// <summary>
/// A food item with this component will be forcefully fed to anyone /// A food item with this component will be forcefully fed to anyone
/// </summary> /// </summary>
[RegisterComponent, Access(typeof(ForcefeedOnCollideSystem))] [RegisterComponent, Friend(typeof(ForcefeedOnCollideSystem))]
public sealed class ForcefeedOnCollideComponent : Component public sealed class ForcefeedOnCollideComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -7,7 +7,7 @@ namespace Content.Server.Nutrition.EntitySystems;
/// In the event that more head-wear & mask functionality is added (like identity systems, or raising/lowering of /// In the event that more head-wear & mask functionality is added (like identity systems, or raising/lowering of
/// masks), then this component might become redundant. /// masks), then this component might become redundant.
/// </remarks> /// </remarks>
[RegisterComponent, Access(typeof(FoodSystem), typeof(DrinkSystem))] [RegisterComponent, Friend(typeof(FoodSystem), typeof(DrinkSystem))]
public sealed class IngestionBlockerComponent : Component public sealed class IngestionBlockerComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -3,7 +3,7 @@ using Content.Shared.Sound;
namespace Content.Server.Nutrition.Components namespace Content.Server.Nutrition.Components
{ {
[RegisterComponent, Access(typeof(SliceableFoodSystem))] [RegisterComponent, Friend(typeof(SliceableFoodSystem))]
internal sealed class SliceableFoodComponent : Component internal sealed class SliceableFoodComponent : Component
{ {
[DataField("slice")] [DataField("slice")]

View File

@@ -4,7 +4,7 @@ using Content.Shared.Smoking;
namespace Content.Server.Nutrition.Components namespace Content.Server.Nutrition.Components
{ {
[RegisterComponent, Access(typeof(SmokingSystem))] [RegisterComponent, Friend(typeof(SmokingSystem))]
public sealed class SmokableComponent : Component public sealed class SmokableComponent : Component
{ {
[DataField("solution")] [DataField("solution")]

View File

@@ -3,7 +3,7 @@ using Content.Shared.Sound;
namespace Content.Server.Nutrition.Components namespace Content.Server.Nutrition.Components
{ {
[RegisterComponent, Access(typeof(UtensilSystem))] [RegisterComponent, Friend(typeof(UtensilSystem))]
public sealed class UtensilComponent : Component public sealed class UtensilComponent : Component
{ {
[DataField("types")] [DataField("types")]

View File

@@ -9,7 +9,7 @@ namespace Content.Server.Plants.Components
/// Gently rustle after each interaction with plant. /// Gently rustle after each interaction with plant.
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[Access(typeof(PottedPlantHideSystem))] [Friend(typeof(PottedPlantHideSystem))]
public sealed class PottedPlantHideComponent : Component public sealed class PottedPlantHideComponent : Component
{ {
[DataField("rustleSound")] [DataField("rustleSound")]

View File

@@ -3,7 +3,7 @@ using Content.Server.Plants.Systems;
namespace Content.Server.Plants.Components namespace Content.Server.Plants.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(RandomPottedPlantSystem))] [Friend(typeof(RandomPottedPlantSystem))]
public sealed class RandomPottedPlantComponent : Component public sealed class RandomPottedPlantComponent : Component
{ {
[ViewVariables(VVAccess.ReadOnly)] [ViewVariables(VVAccess.ReadOnly)]

View File

@@ -7,7 +7,7 @@ namespace Content.Server.PneumaticCannon
{ {
// TODO: ideally, this and most of the actual firing code doesn't need to exist, and guns can be flexible enough // TODO: ideally, this and most of the actual firing code doesn't need to exist, and guns can be flexible enough
// to handle shooting things that aren't ammo (just firing any entity) // to handle shooting things that aren't ammo (just firing any entity)
[RegisterComponent, Access(typeof(PneumaticCannonSystem))] [RegisterComponent, Friend(typeof(PneumaticCannonSystem))]
public sealed class PneumaticCannonComponent : Component public sealed class PneumaticCannonComponent : Component
{ {
[ViewVariables] [ViewVariables]

View File

@@ -4,7 +4,7 @@ using Content.Shared.Pointing.Components;
namespace Content.Server.Pointing.Components namespace Content.Server.Pointing.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(RoguePointingSystem))] [Friend(typeof(RoguePointingSystem))]
public sealed class RoguePointingArrowComponent : SharedRoguePointingArrowComponent public sealed class RoguePointingArrowComponent : SharedRoguePointingArrowComponent
{ {
[ViewVariables] [ViewVariables]

View File

@@ -6,7 +6,7 @@ using Content.Shared.Sound;
namespace Content.Server.Power.Components; namespace Content.Server.Power.Components;
[RegisterComponent] [RegisterComponent]
[Access(typeof(ApcSystem))] [Friend(typeof(ApcSystem))]
public sealed class ApcComponent : BaseApcNetComponent public sealed class ApcComponent : BaseApcNetComponent
{ {
[DataField("onReceiveMessageSound")] [DataField("onReceiveMessageSound")]

View File

@@ -9,7 +9,7 @@ namespace Content.Server.Power.Components
/// Allows the attached entity to be destroyed by a cutting tool, dropping a piece of cable. /// Allows the attached entity to be destroyed by a cutting tool, dropping a piece of cable.
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[Access(typeof(CableSystem))] [Friend(typeof(CableSystem))]
public sealed class CableComponent : Component public sealed class CableComponent : Component
{ {
[DataField("cableDroppedOnCutPrototype", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))] [DataField("cableDroppedOnCutPrototype", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]

View File

@@ -3,7 +3,7 @@
namespace Content.Server.Power.Components namespace Content.Server.Power.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(ExtensionCableSystem))] [Friend(typeof(ExtensionCableSystem))]
public sealed class ExtensionCableProviderComponent : Component public sealed class ExtensionCableProviderComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -3,7 +3,7 @@
namespace Content.Server.Power.Components namespace Content.Server.Power.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(ExtensionCableSystem))] [Friend(typeof(ExtensionCableSystem))]
public sealed class ExtensionCableReceiverComponent : Component public sealed class ExtensionCableReceiverComponent : Component
{ {
[ViewVariables] [ViewVariables]

View File

@@ -4,7 +4,7 @@ using Robust.Shared.Serialization;
namespace Content.Server.RandomAppearance; namespace Content.Server.RandomAppearance;
[RegisterComponent] [RegisterComponent]
[Access(typeof(RandomAppearanceSystem))] [Friend(typeof(RandomAppearanceSystem))]
public sealed class RandomAppearanceComponent : Component, ISerializationHooks public sealed class RandomAppearanceComponent : Component, ISerializationHooks
{ {
[DataField("spriteStates")] [DataField("spriteStates")]

View File

@@ -3,7 +3,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
namespace Content.Server.Recycling.Components namespace Content.Server.Recycling.Components
{ {
[RegisterComponent, Access(typeof(RecyclerSystem))] [RegisterComponent, Friend(typeof(RecyclerSystem))]
public sealed class RecyclableComponent : Component public sealed class RecyclableComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -5,7 +5,7 @@ namespace Content.Server.Recycling.Components
{ {
// TODO: Add sound and safe beep // TODO: Add sound and safe beep
[RegisterComponent] [RegisterComponent]
[Access(typeof(RecyclerSystem))] [Friend(typeof(RecyclerSystem))]
public sealed class RecyclerComponent : Component public sealed class RecyclerComponent : Component
{ {
[Dependency] private readonly IEntityManager _entMan = default!; [Dependency] private readonly IEntityManager _entMan = default!;

View File

@@ -1,7 +1,7 @@
namespace Content.Server.Remotes namespace Content.Server.Remotes
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(DoorRemoteSystem))] [Friend(typeof(DoorRemoteSystem))]
public sealed class DoorRemoteComponent : Component public sealed class DoorRemoteComponent : Component
{ {
public OperatingMode Mode = OperatingMode.OpenClose; public OperatingMode Mode = OperatingMode.OpenClose;

View File

@@ -3,7 +3,7 @@ using System.Threading;
namespace Content.Server.Resist; namespace Content.Server.Resist;
[RegisterComponent] [RegisterComponent]
[Access(typeof(ResistLockerSystem))] [Friend(typeof(ResistLockerSystem))]
public sealed class ResistLockerComponent : Component public sealed class ResistLockerComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -4,7 +4,7 @@ using Content.Shared.Damage;
namespace Content.Server.Shuttles.Components namespace Content.Server.Shuttles.Components
{ {
[RegisterComponent] [RegisterComponent]
[Access(typeof(ThrusterSystem))] [Friend(typeof(ThrusterSystem))]
public sealed class ThrusterComponent : Component public sealed class ThrusterComponent : Component
{ {
/// <summary> /// <summary>

View File

@@ -6,7 +6,7 @@ namespace Content.Server.Singularity.Components
/// Generates electricity from radiation. /// Generates electricity from radiation.
/// </summary> /// </summary>
[RegisterComponent] [RegisterComponent]
[Access(typeof(RadiationCollectorSystem))] [Friend(typeof(RadiationCollectorSystem))]
public sealed class RadiationCollectorComponent : Component public sealed class RadiationCollectorComponent : Component
{ {
/// <summary> /// <summary>

Some files were not shown because too many files have changed in this diff Show More