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); }
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(); }