PropInputSetting is used to modify your quick/animation properties to fit what you need.
However, it can be very confusing knowing what can be set, especially the PropDefs, args, and attributes of PropInputSetting.
PropDefs / fields
These are the fields in PropInputSetting, some of them are also made into PropDefs.
|PropDefs / fields|
|key||The key of the PropDef which this PropInputSetting is tied to.|
|label||Label of the property which appears in the properties box.|
|vesselTags||Vessels that have tags intersecting with this set will get propertyChange() when this prop is modified.|
|lockable||Sets the lockability of this property in the properties box.
|visible||The visibility of this property in the properties box when it's built.|
|distanceField||This is used to determine whether a double type is converted to distance type|
|args||A collection of str->Object map. Below this article are the list of arguments.|
|attributes||Attributes are used to determine importability (which props are used by which animations).|
|propertyOverride, createProp||This is a way to create your own property instead of one of the defaults.|
|groupKey||Used to group properties together.
All properties of a group will be seperated from other groups.
|index||The index of the property within it's group. Not required. Indexed properties always come before those without an index in the same group.|
|useDistanceMeasure||Overrides the Control Panel Setting for showing the measure button in distance fields.|
Here is the list of arguments you can place in the args map.
|modifyBound||Updates the bound of the object after the value is changed.|
|modifyVis||Updates the graphics of the object after the value is changed.|
|modify2D||Updates only the 2D graphics after the value is changed.|
|modify3D||Updates only the 3D graphics after the value is changed.|
|modifyParts||Updates the parts after the value is changed.|
|modifySelect||Re-selects the object after the value is changed.|
|modifyAll||All of the above.|
|connectorOrientation||The orientation of
|buttons||Sets the UI elements to a button for each entry in the domain.|
|list||Sets the UI elements to a dropdown containing an entry for each element in the domain.|
|input||Sets the UI elements to an entry box.|
|slider||Sets the UI elements to a slider bar of values.|
|button||Sets the UI elements to a single button.|
|display||Sets the UI elements into a greyed-out text, unable to be modified.|
|btnLabel||str that is required to change to a
|distanceField||Sets the field in the case of a double to a distance. Set by default for
Overrides the control panel setting for showing the measure button in the distance field.
In the case of a distance field, allows for more precise values to be used.
|Only2D||Displays only in 2D View.|
|Only3D||Displays only in 3D View.|
|class||Defaulted class option for a
|ignoreClass||Ignores the class of the prop on the construction of the
|type||The type to set the
|persistent||Property value is retained in the world.|
|persistentOnCoreSettings||The value will remain in core settings.|
|ignoreUndo||Changes to this prop will not be recorded by undo automatically.|
Here is the list of arguments you can place in attributes set.
|#stretch||Allows stretching for a double or distance type variable.|
|#rotate||Allows a rotation for an angle type variable. It may not be working, unclear at this time.|
|#drag||Property is active during drag.|
|#insert||Property is active during insert.|
|#quick||Property is active while
|#internal||Property is active during the stretch of ANOTHER property.|
|#hide||Removes from all lists to be shown.|
|#propertyPropogate||Used to detect properties to propagate in
|#remakeAtChange||Used in a conveyor abstract, rebuilds the property when changed.|
|#hideQuickProp||Used in abstract industry and plants. Forces a quick property to hide.|
|#hideAnimationProp||Used in wardrobe abstract, hides the property from animation.|
|#allowPush||Allows a push to this prop even if there is no domain. Will prevent null values from being pushed.|
|#allowPushNull||Allows a push to this prop if the value is null.|
|#expose_private||Prevents a prop from using a pipe during “get”.|
|#expose_private||Exposable only by pipe.|
|#expose_defs_readonly||Exposable through proxy for read only access.|
|#disable_pipe||Prevents a prop from using a pipe during “get”.|
|#copy_reference||Uses a put of this
|#copy_shallow||Copies the value of this
|#copy_shallow||Does not copy the value of this
|Animation Exclusive (Not Recommended for use, included only for article completeness)|
|#remover||Used for the remover animation and vessels related to the remover tool. Removes all associated properties on
|#classification||Used only in k2 abstract, removes related properties during
|#basepointAlignAnimation||Used during a basepoint align animation to label properties.|
|#selectAnimation||Used during select animation to add and remove core properties containing this attribute.|
|#picker||Used during the
|Sym (In Testing)|
|#symdef||Allows a prop to be used as a
|#symdef||Allows a prop to used as a
|Render UI Building (Included for article completeness, not recommended)|
|#property||Automatically included with any
|#lockable||Makes the factory lockable.|