Skip to main content
Version: 1.0.0

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​

bool

IsValid​

public bool IsValid { get; }

Property Value​

bool

ItemsCount​

public int ItemsCount { get; }

Property Value​

int

Position​

The position in the game's world space, in centimeters.

public Vector3 Position { get; set; }

Property Value​

Vector3

RefId​

The ref id of this placed object or actor.

public uint RefId { get; set; }

Property Value​

uint

Rotation​

The yaw, in degrees.

public float Rotation { get; set; }

Property Value​

float

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​

bool

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​

bool

Type Parameters​

T

Keep()​

This entity, which it already is: a loop over this shape hands over the shape itself.

public Container Keep()

Returns​

Container

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​

bool

Type Parameters​

T

  • Properties
    • BaseId
    • IsDisabled
    • IsValid
    • ItemsCount
    • Position
    • RefId
    • Rotation
  • Methods
    • AddItems(in InventoryEntry)
    • As<T>()
    • ClearItems()
    • ContainsItems(in InventoryEntry)
    • GetItems()
    • GetItems(int)
    • InsertItems(int, in InventoryEntry)
    • Is<T>()
    • Keep()
    • RemoveAtItems(int)
    • SetItems(in NativeList<InventoryEntry>)
    • SetItems(int, in InventoryEntry)
    • TryAs<T>(out T)