Class PropertyExternal<T>
  
  
  
    - Namespace
 - KSP.Api.CoreTypes
 
  - Assembly
 - Assembly-CSharp.dll
 
   
  
  
  
    public class PropertyExternal<T> : IPropertyWritable<T>, IPropertyWritable, IProperty<T>, IProperty, IPropertyEnumValues
   
  Type Parameters
  
    T 
    
  
  
    - Inheritance
 
    - 
      
      
PropertyExternal<T>
     
  
  
    - Implements
 
    - 
      
      
      
      
      
    
 
  
  
    - Inherited Members
 
    - 
    
    
    
    
    
    
    
  
 
  
    - Extension Methods
 
    - 
  
  
  
  
  
  
  
  
  
  
  
 
  Constructors
  
  
  PropertyExternal(Func<T>)
  
  
  
  
  
    public PropertyExternal(Func<T> getter)
   
  Parameters
  
    getter Func<T> 
    
  
  
  
  PropertyExternal(Func<T>, Action<T>)
  
  
  
  
  
    public PropertyExternal(Func<T> getter, Action<T> setter)
   
  Parameters
  
    getter Func<T> 
    
    setter Action<T> 
    
  
  
  
  PropertyExternal(Func<T>, Action<T>, Func<T, T>)
  
  
  
  
  
    public PropertyExternal(Func<T> getter, Action<T> setter, Func<T, T> validator)
   
  Parameters
  
    getter Func<T> 
    
    setter Action<T> 
    
    validator Func<T, T> 
    
  
  Properties
  
  
  EnumIndices
  
  
  
  
  
    public int[] EnumIndices { get; }
   
  Property Value
  
    - int[]
 
    
  
  
  
  EnumNames
  
  
  
  
  
    public string[] EnumNames { get; }
   
  Property Value
  
    - string[]
 
    
  
  
  
  StoredType
  
  
  
  
  
    public Type StoredType { get; }
   
  Property Value
  
    - Type
 
    
  
  Methods
  
  
  ChangeExternal(Func<T>, Action<T>, bool)
  
  
  
  
  
    public void ChangeExternal(Func<T> getter, Action<T> setter, bool skipEvent = false)
   
  Parameters
  
    getter Func<T> 
    
    setter Action<T> 
    
    skipEvent bool 
    
  
  
  
  ChangeExternal(Func<T>, Action<T>, Func<T, T>, bool)
  
  
  
  
  
    public void ChangeExternal(Func<T> getter, Action<T> setter, Func<T, T> validator, bool skipEvent = false)
   
  Parameters
  
    getter Func<T> 
    
    setter Action<T> 
    
    validator Func<T, T> 
    
    skipEvent bool 
    
  
  
  
  ChangeExternal(Func<T>, bool)
  
  
  
  
  
    public void ChangeExternal(Func<T> getter, bool skipEvent = false)
   
  Parameters
  
    getter Func<T> 
    
    skipEvent bool 
    
  
  
  
  ForceNextUpdate()
  
  
  
  
  
    public void ForceNextUpdate()
   
  
  
  GetObject()
  
  
  
  
  
    public object GetObject()
   
  Returns
  
    - object
 
    
  
  
  
  GetValue()
  
  
  
  
  
  Returns
  
    - T
 
    
  
  
  
  InvokeValueChanged()
  
  
  
  
  
    public void InvokeValueChanged()
   
  
  
  InvokeValueChanged(T)
  
  
  
  
  
    public void InvokeValueChanged(T newValue)
   
  Parameters
  
    newValue T 
    
  
  
  
  SetEnumValues(string[], int[])
  
  
  
  
  
    public void SetEnumValues(string[] newEnumNames, int[] newEnumIndices = null)
   
  Parameters
  
    newEnumNames string[] 
    
    newEnumIndices int[] 
    
  
  
  
  SetValueInternal(T, bool)
  
  
  
  
  
    public void SetValueInternal(T value, bool skipEvent = false)
   
  Parameters
  
    value T 
    
    skipEvent bool 
    
  
  
  
  ValidateExternal(bool)
  
  
  
  
  
    public bool ValidateExternal(bool skipEvent = false)
   
  Parameters
  
    skipEvent bool 
    
  
  Returns
  
    - bool
 
    
  
  Events
  
  OnChanged
  
  
  
  
  
    public event Action OnChanged
   
  Event Type
  
    - Action
 
    
  
  
  OnChangedObject
  
  
  
  
  
    public event Action<object> OnChangedObject
   
  Event Type
  
    - Action<object>
 
    
  
  
  OnChangedValue
  
  
  
  
  
    public event Action<T> OnChangedValue
   
  Event Type
  
    - Action<T>