Esempio n. 1
0
 public void SetObject(T value)
 {
     if (!ReferenceEquals(_obj, value))
     {
         object old = _obj;
         if (_obj != null)
         {
             _obj.PropertyChanged -= _obj_PropertyChanged;
         }
         _obj = value;
         if (_obj != null)
         {
             _obj.PropertyChanged += _obj_PropertyChanged;
         }
         ObjectChanged?.Invoke(this, new ObjectChangedEventArgs(old));
         ObjectPropertyChanged?.Invoke(this, new PropertyChangedEventArgs(null));
     }
 }
Esempio n. 2
0
 private void _obj_PropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (IsObjectToFile)
     {
         if (LagSaveFileMilliseconds <= 0)
         {
             ForceSaveFile();
         }
         else
         {
             if (LagSaveFileTimer == null)
             {
                 LagSaveFileTimer          = new Timer();
                 LagSaveFileTimer.Elapsed += LagSaveFileTimer_Elapsed;
             }
             LagSaveFileTimer.Interval = LagSaveFileMilliseconds;
             LagSaveFileTimer.Enabled  = true;
         }
     }
     ObjectPropertyChanged?.Invoke(sender, e);
 }
Esempio n. 3
0
 private void OnObjectPropertyChanged(object sender, PropertyChangedEventArgs args)
 {
     ObjectPropertyChanged?.Invoke(this, (ILiveObject)sender, args.PropertyName);
 }