Class PartsComponent
A component that defines a set of parts that reduce in durability over time, and must have durability or else the object will disable.
Inheritance
System.Object
PartsComponent
Implements
System.ComponentModel.INotifyPropertyChanged
Assembly: Eco.Gameplay.dll
Syntax
[ChatCommandHandler]
[RequireComponent]
[RequireComponent]
public class PartsComponent : WorldObjectComponent, ILinkable, IOwned, IController, IViewController, IHasUniversalID, IHasSerializableID, IRPCAuthChecks, INotifyPropertyChanged, IThreadSafeSubscriptions, ISubscriptions<ThreadSafeSubscriptions>, ISubscriptions, IHasInteractions, IHasEnvVars, IPersistentData, IComponentDurability
Constructors
PartsComponent()
Declaration
Fields
ConsumeWithoutDelay
Declaration
public bool ConsumeWithoutDelay
Field Value
| Type |
Description |
| System.Boolean |
|
DurabilityConsumed
Declaration
public ThreadSafeAction DurabilityConsumed
Field Value
Properties
AllPartsPresent
Declaration
public bool AllPartsPresent { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
AllPartsWorking
Declaration
public bool AllPartsWorking { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Availability
Declaration
public override WorldObjectComponentClientAvailability Availability { get; }
Property Value
Overrides
DecayMultiplier
Declaration
public virtual float DecayMultiplier { get; set; }
Property Value
| Type |
Description |
| System.Single |
|
Description
Declaration
public LocString Description { get; }
Property Value
Enabled
Declaration
public override bool Enabled { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Overrides
Parts
Declaration
public AuthorizationInventory Parts { get; }
Property Value
PartsRequired
Declaration
public PartsComponent.PartInfo[] PartsRequired { get; }
Property Value
PersistentData
Declaration
public object PersistentData { get; set; }
Property Value
| Type |
Description |
| System.Object |
|
SkillReqs
Requirements to replace parts, if configured in settings. Any may match.
Declaration
public RepairRequiresSkillAttribute[] SkillReqs { get; }
Property Value
Methods
Config(Func<LocString>, PartsComponent.PartInfo[])
Declaration
public void Config(Func<LocString> decayDescription, params PartsComponent.PartInfo[] partsRequired)
Parameters
ConsumeDurabilityAccumulated(User, Double)
Called by sibling components to consume in an acculumating way, so it doesnt make syncable changed too frequently.
Declaration
public void ConsumeDurabilityAccumulated(User user, double amountToConsume)
Parameters
| Type |
Name |
Description |
| User |
user |
|
| System.Double |
amountToConsume |
|
ConsumeDurabilityNow(User, Single)
Called by sibling components to reduce the durability of all our parts when an action is performed. Should be used only for large consumptions,
otherwise use the ConsumeDurability function which will accumulate changes to reduce updates.
Declaration
public void ConsumeDurabilityNow(User user, float amountToConsume)
Parameters
| Type |
Name |
Description |
| User |
user |
|
| System.Single |
amountToConsume |
|
Initialize()
Declaration
public override void Initialize()
Overrides
MinDurability()
Declaration
public float MinDurability()
Returns
| Type |
Description |
| System.Single |
|
MinDurabilityPercent()
Declaration
public float MinDurabilityPercent()
Returns
| Type |
Description |
| System.Single |
|
None()
Declaration
[Interaction]
public void None()
SetPartDecayMult(User, Single, Boolean, Single)
Declaration
[ChatSubCommand]
public static void SetPartDecayMult(User user, float multiplier = 100F, bool consumeWithoutDelay = true, float radius = 20F)
Parameters
| Type |
Name |
Description |
| User |
user |
|
| System.Single |
multiplier |
|
| System.Boolean |
consumeWithoutDelay |
|
| System.Single |
radius |
|
SetPartsDurability(User, INetObject, Single)
Declaration
[ChatSubCommand]
public static void SetPartsDurability(User user, INetObject target, float durability = 100F)
Parameters
| Type |
Name |
Description |
| User |
user |
|
| INetObject |
target |
|
| System.Single |
durability |
|
TotalDurability()
Return the weighted average durability of all installed parts.
Declaration
public float TotalDurability()
Returns
| Type |
Description |
| System.Single |
|
WornParts(User)
Declaration
[EnvVar]
public AuthorizationInventory WornParts(User user)
Parameters
| Type |
Name |
Description |
| User |
user |
|
Returns
Explicit Interface Implementations
IComponentDurability.Durability
Declaration
float IComponentDurability.Durability { get; }
Returns
| Type |
Description |
| System.Single |
|
Implements
System.ComponentModel.INotifyPropertyChanged
Extension Methods