public static void Load(MyObjectBuilder_Encounters encountersObjectBuilder)
 {
     if (encountersObjectBuilder != null)
     {
         m_savedEncounters = encountersObjectBuilder.SavedEcounters ?? m_savedEncounters;
         m_movedOnlyEncounters = encountersObjectBuilder.MovedOnlyEncounters ?? m_movedOnlyEncounters;
     }
 }
 public static MyObjectBuilder_Encounters Save()
 {
     MyObjectBuilder_Encounters saveData = new MyObjectBuilder_Encounters();
     saveData.SavedEcounters = new HashSet<MyEncounterId>(m_savedEncounters);
     saveData.MovedOnlyEncounters =  new SerializableDictionary<MyEncounterId,Vector3D>(new Dictionary<MyEncounterId,Vector3D> (m_movedOnlyEncounters.Dictionary));
     return saveData;
 }
        public static void Load(MyObjectBuilder_Encounters encountersObjectBuilder)
        {
            if (encountersObjectBuilder != null)
            {
                if (encountersObjectBuilder.SavedEcounters != null)
                {
                    foreach (var savedEncounter in encountersObjectBuilder.SavedEcounters)
                    {
                        MyEncounterId id = savedEncounter;

                        id.BoundingBox.Max.X = Math.Round(savedEncounter.BoundingBox.Max.X, 2);
                        id.BoundingBox.Max.Y = Math.Round(savedEncounter.BoundingBox.Max.Y, 2);
                        id.BoundingBox.Max.Z = Math.Round(savedEncounter.BoundingBox.Max.Z, 2);

                        id.BoundingBox.Min.X = Math.Round(savedEncounter.BoundingBox.Min.X, 2);
                        id.BoundingBox.Min.Y = Math.Round(savedEncounter.BoundingBox.Min.Y, 2);
                        id.BoundingBox.Min.Z = Math.Round(savedEncounter.BoundingBox.Min.Z, 2);

                        m_savedEncounters.Add(id);
                    }
                }

                m_movedOnlyEncounters = encountersObjectBuilder.MovedOnlyEncounters ?? m_movedOnlyEncounters;
            }
        }