public override void Deserialize(MyObjectBuilder_ComponentBase builder) { base.Deserialize(builder); var ob = builder as MyObjectBuilder_HierarchyComponentBase; if (ob != null) { m_deserializedEntities.Clear(); foreach (var child in ob.Children) { var childEntity = MyEntity.MyEntitiesCreateFromObjectBuilderExtCallback(child, true); m_deserializedEntities.Add(childEntity); } foreach (var deserializedEntity in m_deserializedEntities) { AddChild(deserializedEntity, true, false); } } }
public override void Deserialize(MyObjectBuilder_ComponentBase builder) { base.Deserialize(builder); var ob = builder as MyObjectBuilder_HierarchyComponentBase; if (ob != null) { m_deserializedEntities.Clear(); foreach (var child in ob.Children) { //IMPORTANT - entities that are supposed to be saved in hierarchy should be saved ONLY in hierarchy if (!MyEntityIdentifier.ExistsById(child.EntityId)) { var childEntity = MyEntity.MyEntitiesCreateFromObjectBuilderExtCallback(child, true); m_deserializedEntities.Add(childEntity); } } foreach (var deserializedEntity in m_deserializedEntities) { AddChild(deserializedEntity, true, false); } } }