Example #1
0
 public void CopyFrom(TireDataSetSelector other)
 {
     CorneringDataSelector  = other.CorneringDataSelector;
     DriveBrakeDataSelector = other.DriveBrakeDataSelector;
     TransientDataSelector  = other.TransientDataSelector;
     State = TireDataSetSelectorState.Changed;
 }
Example #2
0
 public void Load(Stream reader)
 {
     using (ZipArchive archive = new ZipArchive(reader, ZipArchiveMode.Read, false))
     {
         var set             = idataset.GetDataSet();
         var corneringEntry  = archive.GetEntry("CorneringSelector");
         var driveBrakeEntry = archive.GetEntry("DriveBrakeSelector");
         var transientEntry  = archive.GetEntry("TransientSelector");
         var tstate          = TireDataSetSelectorState.NotChanged;
         using (Stream s = corneringEntry.Open())
         {
             var corneringDataSelector = TireDataSelector.Load(s, set.CorneringTable, set.MaxminSet.CorneringTableLimit);
             if (corneringDataSelector == null)
             {
                 tstate = TireDataSetSelectorState.Changed;
             }
             else
             {
                 CorneringDataSelector = corneringDataSelector;
             }
         }
         using (Stream s = driveBrakeEntry.Open())
         {
             var driveBrakeDataSelector = TireDataSelector.Load(s, set.DriveBrakeTable, set.MaxminSet.DriveBrakeTableLimit);
             if (driveBrakeDataSelector == null)
             {
                 tstate = TireDataSetSelectorState.Changed;
             }
             else
             {
                 DriveBrakeDataSelector = driveBrakeDataSelector;
             }
         }
         using (Stream s = transientEntry.Open())
         {
             var transientDataSelector = TransientTireDataSelector.Load(s, set.TransientTable, set.MaxminSet.TransientTableLimit, set.TransientTableIndexHolder);
             if (transientDataSelector == null)
             {
                 tstate = TireDataSetSelectorState.Changed;
             }
             else
             {
                 TransientDataSelector = transientDataSelector;
             }
         }
         State = tstate;
     }
 }
Example #3
0
        public void Save(Stream writer)
        {
            BinaryFormatter binaryFormatter = new BinaryFormatter();

            using (ZipArchive archive = new ZipArchive(writer, ZipArchiveMode.Update, false))
            {
                var CorneringSelectorEntry = archive.GetEntry("CorneringSelector");
                if (CorneringSelectorEntry == null)
                {
                    CorneringSelectorEntry = archive.CreateEntry("CorneringSelector");
                }
                var DriveBrakeSelectorEntry = archive.GetEntry("DriveBrakeSelector");
                if (DriveBrakeSelectorEntry == null)
                {
                    DriveBrakeSelectorEntry = archive.CreateEntry("DriveBrakeSelector");
                }

                var TransientSelectorEntry = archive.GetEntry("TransientSelector");
                if (TransientSelectorEntry == null)
                {
                    TransientSelectorEntry = archive.CreateEntry("TransientSelector");
                }

                using (Stream s = CorneringSelectorEntry.Open())
                {
                    CorneringDataSelector.Save(s);
                }
                using (Stream s = DriveBrakeSelectorEntry.Open())
                {
                    DriveBrakeDataSelector.Save(s);
                }
                using (Stream s = TransientSelectorEntry.Open())
                {
                    TransientDataSelector.Save(s);
                }
            }
            State = TireDataSetSelectorState.NotChanged;
        }
Example #4
0
 public void ConfirmStateChanged(Table table)
 {
     this.State = TireDataSetSelectorState.Changed;
     GetSelector(table).ConfirmStateChanged();
 }
Example #5
0
 public void RemoveConstrain(TireDataConstrain constrain, Table table)
 {
     GetSelector(table).RemoveConstrain(constrain);
     State = TireDataSetSelectorState.Changed;
 }