/// <summary> /// Loads from a GameObject /// </summary> /// <returns></returns> public static ArkInventory LoadFromAsset(ArkWorld world, DotArkGameObject r) { //Get a list of all items List <ObjectProperty> inventoryItems; if (!r.PropExistsName("InventoryItems")) { inventoryItems = new List <ObjectProperty>(); } else { inventoryItems = ((ArrayProperty <ObjectProperty>)r.GetPropsByName("InventoryItems")[0]).items; } //Now, loop through and create items ArkInventory inventory = new ArkInventory(); inventory.items = new List <ArkPrimalItem>(); foreach (var o in inventoryItems) { ArkPrimalItem item = new ArkPrimalItem(world, o.gameObjectRef); if (item.isEngram) { continue; } inventory.items.Add(item); } //Return return(inventory); }
/// <summary> /// Get the items in this characters's inventory. /// </summary> public ArkInventory GetInventory() { //If we don't have an inventory compnent, return empty list if (!HasProperty("MyInventoryComponent")) { return(ArkInventory.EMPTY_INVENTORY); } //Get return(ArkInventory.LoadFromReference(world, (ObjectProperty)GetPropertiesByName("MyInventoryComponent")[0])); }