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 |
|
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