Struct EffectsAttributes
Namespace: OblivionMp.Sdk.Common.Archetypes.Mixins
Assembly: OblivionMp.Sdk.Common.dll
A character's active effect values, keyed by CharacterEffect cast to byte.
[ArchetypeMixin]
public readonly struct EffectsAttributes : IArchetypeMixin, IArchetypeQueryable, IEntityShape
Implements
IArchetypeMixin, IArchetypeQueryable, IEntityShape
Inherited Members
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Properties
AttributeCount
public int AttributeCount { get; }
Property Value
Methods
AddAttribute(in byte, in float)
[Changes("EffectsAttributes.Field.Attribute")]
public bool AddAttribute(in byte key, in float value)
Parameters
key byte
value float
Returns
ClearAttribute()
[Changes("EffectsAttributes.Field.Attribute")]
public void ClearAttribute()
ContainsAttribute(in byte, in float)
public bool ContainsAttribute(in byte key, in float value)
Parameters
key byte
value float
Returns
ContainsAttributeKey(in byte)
public bool ContainsAttributeKey(in byte key)
Parameters
key byte
Returns
GetAttribute()
public NativeDictionary<byte, float, ByteHash>.ReadOnly GetAttribute()
Returns
NativeDictionary<byte, float, ByteHash>.ReadOnly
GetAttribute(in byte)
public float GetAttribute(in byte key)
Parameters
key byte
Returns
Keep()
This entity, which it already is: a loop over this shape hands over the shape itself.
public EffectsAttributes Keep()
Returns
Remarks
Here so taking something out of a loop reads the same whichever way the loop walks. Whether a shape is walked by chunk follows from what it includes, which the call site cannot see and which changes when an include does.
RemoveAttribute(in byte)
[Changes("EffectsAttributes.Field.Attribute")]
public bool RemoveAttribute(in byte key)
Parameters
key byte
Returns
SetAttribute(in NativeDictionary<byte, float, ByteHash>)
[Changes("EffectsAttributes.Field.Attribute")]
public void SetAttribute(in NativeDictionary<byte, float, ByteHash> value)
Parameters
value NativeDictionary<byte, float, ByteHash>
SetAttribute(in byte, in float)
[Changes("EffectsAttributes.Field.Attribute")]
public void SetAttribute(in byte key, in float value)
Parameters
key byte
value float
TryGetAttributeValue(in byte, out float)
public bool TryGetAttributeValue(in byte key, out float value)
Parameters
key byte
value float