コード例 #1
0
ファイル: KIX.cs プロジェクト: rackdoll/KIX
    public void Watch(object obj_to_track, string property_name, KIXEvent event_to_send)
    {
        Type         objType  = obj_to_track.GetType();
        PropertyInfo property = objType.GetProperty(property_name);

        var currentValue = property.GetValue(obj_to_track);
        var watchOBJ     = new KIXWatchObject {
            target = obj_to_track, targetType = obj_to_track.GetType(), value = currentValue, property = property, changeEvent = event_to_send
        };

        watchObjects_.Add(watchOBJ);
    }
コード例 #2
0
ファイル: KIX.cs プロジェクト: rackdoll/KIX
 public void CheckWatch()
 {
     for (int i = 0; i < watchObjects_.Count; ++i)
     {
         KIXWatchObject watch        = watchObjects_[i];
         var            currentValue = watch.property.GetValue(watchObjects_[i].target);
         if (currentValue.ToString() != watch.value.ToString())
         {
             watch.value       = currentValue;
             watchObjects_[i]  = watch;
             watch.changeEvent = new KIXEvent(watch.changeEvent.Type, new KIXData {
                 Value = watch
             });
             FireEvent(watch.changeEvent);
         }
     }
 }