public static DebugFieldAccessor <ValueType> Bind(object obj, string fieldName)
        {
            DebugFieldAccessor <ValueType> accessor = new DebugFieldAccessor <ValueType> ();
            FieldInfo field = obj.GetType().GetField(fieldName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance);

            accessor.obj   = obj;
            accessor.field = field;
            return(accessor);
        }
 public DebugAccessorBool(string name, DebugFieldAccessor <bool> accessor) : base(name, accessor.Value, (value) => accessor.Value = value)
 {
 }
 public DebugAccessorFloat(string name, DebugFieldAccessor <float> accessor, float changeValue) : base(name)
 {
     this.accessor    = accessor;
     this.changeValue = changeValue;
 }
 public DebugAccessorSlider(string name, DebugFieldAccessor <float> accessor, float left, float right) : base(name)
 {
     this.accessor = accessor;
     this.left     = left;
     this.right    = right;
 }
 public DebugAccessorString(string name, DebugFieldAccessor <string> accessor) : base(name)
 {
     this.accessor = accessor;
 }