Example #1
0
        public override MyObjectBuilder_ComponentBase Serialize(bool copy = false)
        {
            MyObjectBuilder_CraftingComponentBlock block = base.Serialize(false) as MyObjectBuilder_CraftingComponentBlock;

            block.InsertedItemUseLevel = this.m_insertedItemUseLevel;
            foreach (MyPhysicalInventoryItem item in this.m_insertedItems)
            {
                block.InsertedItems.Add(item.GetObjectBuilder());
            }
            return(block);
        }
Example #2
0
        public override void Deserialize(MyObjectBuilder_ComponentBase builder)
        {
            base.Deserialize(builder);
            MyObjectBuilder_CraftingComponentBlock block = builder as MyObjectBuilder_CraftingComponentBlock;

            this.m_insertedItemUseLevel = block.InsertedItemUseLevel;
            foreach (MyObjectBuilder_InventoryItem item in block.InsertedItems)
            {
                if (item.Amount <= 0)
                {
                    continue;
                }
                if ((item.PhysicalContent != null) && ((this.m_currentInsertedItemsCount + ((float)item.Amount)) <= this.m_maxInsertedItems))
                {
                    MyPhysicalInventoryItem item2 = new MyPhysicalInventoryItem(item);
                    this.m_currentInsertedItemsCount += (float)item2.Amount;
                    this.m_insertedItems.Add(item2);
                }
            }
            this.m_lastUpdateTime = MySandboxGame.TotalGamePlayTimeInMilliseconds;
            this.UpdateOperatingLevel();
        }