Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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]));
        }