Struct Container
Namespace: OblivionMp.Sdk.Common.Archetypes
Assembly: OblivionMp.Sdk.Common.dll
A container placed in the world, such as a chest, barrel or sack.
[Archetype(true)]
[Tag(typeof(AllowOwnershipTransferOnScopeEnterTag))]
[Tag(typeof(AllowOwnershipTransferOnScopeLeaveTag))]
[Include(typeof(RefIdMixin), "")]
[Include(typeof(BaseIdMixin), "")]
[Include(typeof(Transform), "")]
[Include(typeof(Presence), "")]
[Include(typeof(ContainerItems), "")]
public readonly struct Container : IArchetype, IArchetypeQueryable, IEntityShape
Implements
IArchetype, IArchetypeQueryable, IEntityShape
Inherited Members
object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Properties
BaseId
The form this entity is made from, such as which kind of chest or which creature.
public NetworkFormId BaseId { get; set; }
Property Value
NetworkFormId
IsDisabled
Whether a seeded ref is enabled in the world. Starts from the game files and only the server writes it.
public bool IsDisabled { get; set; }
Property Value
IsValid
public bool IsValid { get; }
Property Value
ItemsCount
public int ItemsCount { get; }
Property Value
Position
The position in the game's world space, in centimeters.
public Vector3 Position { get; set; }
Property Value
RefId
The ref id of this placed object or actor.
public uint RefId { get; set; }
Property Value
Rotation
The yaw, in degrees.
public float Rotation { get; set; }
Property Value
Methods
AddItems(in InventoryEntry)
[Changes("ContainerItems.Field.Items")]
public void AddItems(in InventoryEntry value)
Parameters
value InventoryEntry
As<T>()
public T As<T>() where T : struct, IArchetypeQueryable
Returns
T
Type Parameters
T
ClearItems()
[Changes("ContainerItems.Field.Items")]
public void ClearItems()
ContainsItems(in InventoryEntry)
public bool ContainsItems(in InventoryEntry value)
Parameters
value InventoryEntry
Returns
GetItems()
public NativeList<InventoryEntry>.ReadOnly GetItems()
Returns
NativeList<InventoryEntry>.ReadOnly
GetItems(int)
public InventoryEntry GetItems(int index)
Parameters
index int
Returns
InventoryEntry
InsertItems(int, in InventoryEntry)
[Changes("ContainerItems.Field.Items")]
public void InsertItems(int index, in InventoryEntry value)
Parameters
index int
value InventoryEntry
Is<T>()
public bool Is<T>() where T : struct, IArchetypeQueryable
Returns
Type Parameters
T
Keep()
This entity, which it already is: a loop over this shape hands over the shape itself.
public Container 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.
RemoveAtItems(int)
[Changes("ContainerItems.Field.Items")]
public InventoryEntry RemoveAtItems(int index)
Parameters
index int
Returns
InventoryEntry
SetItems(in NativeList<InventoryEntry>)
[Changes("ContainerItems.Field.Items")]
public void SetItems(in NativeList<InventoryEntry> value)
Parameters
value NativeList<InventoryEntry>
SetItems(int, in InventoryEntry)
[Changes("ContainerItems.Field.Items")]
public void SetItems(int index, in InventoryEntry value)
Parameters
index int
value InventoryEntry
TryAs<T>(out T)
public bool TryAs<T>(out T archetype) where T : struct, IArchetypeQueryable
Parameters
archetype T
Returns
Type Parameters
T