public static MyToolbarItem CreateToolbarItemFromInventoryItem(IMyInventoryItem inventoryItem)
        {
            var itemDefinitionId = inventoryItem.GetDefinitionId();
            MyDefinitionBase itemDefinition;

            if (MyDefinitionManager.Static.TryGetDefinition(itemDefinitionId, out itemDefinition))
            {
                if ((itemDefinition is MyPhysicalItemDefinition) || (itemDefinition is MyCubeBlockDefinition))
                {
                    var itemBuilder = MyToolbarItemFactory.ObjectBuilderFromDefinition(itemDefinition);
                    if (itemBuilder is MyObjectBuilder_ToolbarItemMedievalWeapon)
                    {
                        var meWeaponBuilder = itemBuilder as MyObjectBuilder_ToolbarItemMedievalWeapon;
                        meWeaponBuilder.ItemId = inventoryItem.ItemId;
                    }

                    if (itemBuilder != null && !(itemBuilder is MyObjectBuilder_ToolbarItemEmpty))
                    {
                        return(MyToolbarItemFactory.CreateToolbarItem(itemBuilder));
                    }
                }
            }

            return(null);
        }
        public void Adapt(IMyInventoryItem inventoryItem)
        {
            m_physItem = null;
            m_blockDef = null;

            var poob = inventoryItem.Content as MyObjectBuilder_PhysicalObject;
            if (poob != null) Adapt(poob.GetObjectId());
            else Adapt(inventoryItem.GetDefinitionId());
        }
Exemple #3
0
        public string GetInventoryItemByName(IMyInventoryItem item)
        {
            string itemName = item.GetDefinitionId().ToString();

            char[] delimChar = "/".ToCharArray();

            string[] newString = itemName.Split(delimChar);

            return(newString[1]);
        }
 public override bool ItemsCanBeAdded(MyFixedPoint amount, IMyInventoryItem item)
 {
     if (amount == 0)
     {
         return(true);
     }
     if (item == null)
     {
         return(false);
     }
     return(CanItemsBeAdded(amount, item.GetDefinitionId()));
 }
Exemple #5
0
        public void Adapt(IMyInventoryItem inventoryItem)
        {
            this.m_physItem = null;
            this.m_blockDef = null;
            MyObjectBuilder_PhysicalObject content = inventoryItem.Content as MyObjectBuilder_PhysicalObject;

            if (content != null)
            {
                this.Adapt(content.GetObjectId());
            }
            else
            {
                this.Adapt(inventoryItem.GetDefinitionId());
            }
        }
        public void Adapt(IMyInventoryItem inventoryItem)
        {
            m_physItem = null;
            m_blockDef = null;

            var poob = inventoryItem.Content as MyObjectBuilder_PhysicalObject;

            if (poob != null)
            {
                Adapt(poob.GetObjectId());
            }
            else
            {
                Adapt(inventoryItem.GetDefinitionId());
            }
        }
Exemple #7
0
        public static void ConsumeItem(MyInventory inventory, IMyInventoryItem item, MyFixedPoint amount, long consumerEntityId = 0)
        {
            if (inventory == null || inventory.Owner == null)
            {
                return;
            }

            var msg = new ConsumeItemMsg()
            {
                OwnerEntityId    = inventory.Owner.EntityId,
                InventoryId      = inventory.InventoryIdx,
                ItemId           = item.GetDefinitionId(),
                Amount           = amount,
                ConsumerEntityId = consumerEntityId,
            };

            Sync.Layer.SendMessageToServer(ref msg);
        }
        public static MyToolbarItem CreateToolbarItemFromInventoryItem(IMyInventoryItem inventoryItem)
        {
            var itemDefinitionId = inventoryItem.GetDefinitionId();
            MyDefinitionBase itemDefinition;
            if (MyDefinitionManager.Static.TryGetDefinition(itemDefinitionId, out itemDefinition))
            {
                if ((itemDefinition is MyPhysicalItemDefinition) || (itemDefinition is MyCubeBlockDefinition))
                {
                    var itemBuilder = MyToolbarItemFactory.ObjectBuilderFromDefinition(itemDefinition);
                    if (itemBuilder is MyObjectBuilder_ToolbarItemMedievalWeapon)
                    {
                        var meWeaponBuilder = itemBuilder as MyObjectBuilder_ToolbarItemMedievalWeapon;
                        meWeaponBuilder.ItemId = inventoryItem.ItemId;
                    }

                    if (itemBuilder != null && !(itemBuilder is MyObjectBuilder_ToolbarItemEmpty))
                    {
                        return MyToolbarItemFactory.CreateToolbarItem(itemBuilder);
                    }
                }
            }

            return null;
        }
 public override bool ItemsCanBeAdded(MyFixedPoint amount, IMyInventoryItem item)
 {
     if (amount == 0) return true;
     if (item == null) return false;
     if (Entity == null || Entity.MarkedForClose) return false;
     return CanItemsBeAdded(amount, item.GetDefinitionId());
 }
 public override bool ItemsCanBeAdded(MyFixedPoint amount, IMyInventoryItem item)
 {
     if (amount == 0) return true;
     if (item == null) return false;
     return CanItemsBeAdded(amount, item.GetDefinitionId());
 }
		public static void ConsumeItem(MyInventory inventory, IMyInventoryItem item, MyFixedPoint amount, long consumerEntityId = 0)
		{
			if(inventory == null || inventory.Owner == null)
				return;

			var msg = new ConsumeItemMsg()
			{
				OwnerEntityId = inventory.Owner.EntityId,
				InventoryId = inventory.InventoryIdx,
				ItemId = item.GetDefinitionId(),
				Amount = amount,
				ConsumerEntityId = consumerEntityId,
			};

			Sync.Layer.SendMessageToServer(ref msg);
		}