public void ReadChildData(BinaryReader reader)
 {
     _model.ReadString(reader);
     _animationGraph.ReadString(reader);
     _collisionModel.ReadString(reader);
     _physics.ReadString(reader);
     _modifierShader.ReadString(reader);
     _creationEffect.ReadString(reader);
     for (int x = 0; x < _attachments.Count; x++)
     {
         Attachments.AddNew();
         Attachments[x].Read(reader);
     }
     for (int x = 0; x < _attachments.Count; x++)
     {
         Attachments[x].ReadChildData(reader);
     }
     for (int x = 0; x < _widgets.Count; x++)
     {
         Widgets.AddNew();
         Widgets[x].Read(reader);
     }
     for (int x = 0; x < _widgets.Count; x++)
     {
         Widgets[x].ReadChildData(reader);
     }
     for (int x = 0; x < _functions.Count; x++)
     {
         Functions.AddNew();
         Functions[x].Read(reader);
     }
     for (int x = 0; x < _functions.Count; x++)
     {
         Functions[x].ReadChildData(reader);
     }
     for (int x = 0; x < _changeColors.Count; x++)
     {
         ChangeColors.AddNew();
         ChangeColors[x].Read(reader);
     }
     for (int x = 0; x < _changeColors.Count; x++)
     {
         ChangeColors[x].ReadChildData(reader);
     }
     for (int x = 0; x < _predictedResources.Count; x++)
     {
         PredictedResources.AddNew();
         PredictedResources[x].Read(reader);
     }
     for (int x = 0; x < _predictedResources.Count; x++)
     {
         PredictedResources[x].ReadChildData(reader);
     }
 }