Types and Properties Meta
When writing C++ classes, filling in the appropriate types and properties Meta according to the specification controls whether the properties can be edited in the Editor, how they interact with the Property Editor and with the serialization mechanism (whether they are saved, whether to skip serialization, etc.).
DECLARE_PROPERTY (bool, LModelComponent, IfOverrideTexPaths,
GetIfOverrideTexPaths, SetIfOverrideTexPaths, EditAnywhere,
EditorType = CheckBox, Category = Render);
DECLARE_PROPERTY(const char*, LModelComponent, OverrideTexPaths,
GetOverrideTexPaths, SetOverrideTexPaths, EditAnywhere,
EditorType = FileControl, Category = Render, FileFilter = Directory
EditCondition = IfOverrideTexPaths);
Properties
Metakey | MetaValue | Definition | Note |
---|---|---|---|
EditAnywhere | Read-Write in Editor | If these two Metakeys are not set, the default Editor will not see this property | |
VisibleAnywhere | Read only in Editor (Read control to be implemented), or the Object property is revisable, Container Object indicates that Container itself is non-revisable | ||
Category | Arbitrary English Character | Property types | Use|to split parent-child classification, space is not allowed in the split and names after spliting |
EditorType | CheckBox | Box control | If the Metakey is not set, it will be automatically matched according to the property type boolean = CheckBox string = Edit float, double = FloatEdit enum = ComboBox array = ArrayPod |
Edit | Text control | ||
FloatEdit | Floating value Control | ||
DegreesEdit | Edit radians in Angle mode, the Editor displays the Angle, the actual property of the object is radians | ||
AssetEdit | Asset control (File control + preview) | ||
FileControl | File control | ||
ColorEdit | Color control | ||
TextureEdit | Mapping control | ||
ComboBox | Drop-down box control | ||
CustomProperty | Custom control, usually utilized with "CustomType" | ||
CustomType | Specific custom control types | ||
FilePath | When EditorType=AssetEdit or FileControl, it determines the value and sets the root path of the selection window | Such as "Project" "Computer" "Rseource" | |
FileFilter | When EditorType=AssetEdit or FileControl, it determines the value and matches the script enumeration file type | See public_property FILE_FILTER table | |
ValueList | When EditorType=ComboBox, the value will be obtained,which could be arbitrary number or English character, reserve | | Represent each item in the drop-down menu | use | to split values |
ValueListMethod | When EditorType=ComboBox, the value will be obtained, which could be arbitrary number or English character | If there is no ValueList, ValueListMethod will be found, get the drop-down menu item by calling the function defined by method | |
Decimals | Decimal precision, which can be any non-negative frame number | ||
ClampMin | Minimum value to set | ||
ClampMax | Maximum value to set | ||
EditorGroup | Edit control group | Arbitrary character | |
EditorGroupIndex | Edit control group index | Index start from 0 | |
RelevantProperty | Associated properties | After setting this Meta, when this property is modified, it will automatically update the control associated with the property (rebuild the associated control). | use| to split values |
Text | Translation of properties | Set the key of the translation to match the xxx.idres file in the Engine and display the property name in the Editor | |
GetName | Arbitrary English Character | Provide diversified naming method for object properties in containers (building property trees with the same name will override) | |
ReplicatedName | Arbitrary English Character, | is the reserved character | Corresponding property name of the server | |
OnReplicated | Arbitrary English Character, | is the reserved character | Property value callback function | |
SubclassOf | Arbitrary English Character, | is the reserved character | Lclass type of property value | |
SkipSerialization | Skip serialization | ||
Transient | Skip saving | ||
DuplicateTransient | Skip duplication | ||
NonPIEDuplicateTransient | Skip non-PIE duplication | ||
VisibleCondition | Display condition | This property will be displayed only when the value of the conditional property satisfies the expression | |
EditCondition | Edit condition | This property can be edited only when the value of the conditional property satisfies the expression | |
Order | Integer value | Properties are sorted by priority, prioritize property with higher value | |
KindOfActor | String, which matches the name of a subtype of LActor | List all KindoFactor-tagged actors in the level into a ComboBox for the user to choose from | Property type must be PERSISTID |
Loop | Property values loop between maximum and minimum values | ||
HintText | String | Property control prompts with text information | |
KindOfComponent | String, format: KindOfComponent = "LVoxelTerrainActor. LPlanetAtmosphereComponent" | Example: List the LPlanetAtmosphereComponent type components, which belong to the LVoxelTerrainActor under the Actor into a ComboBox, for users to select from | Property type must be PERSISTID |
ShowName | Specify a custom name when displaying non-key names for elements currently used in the container | A property name of the element itself | |
Element_OneLine | Container element shows in single line | ||
NetProperty | Network sync property | The property of the Actor will be synced by the network server when this Metakey is marked | |
NetPropertyAll | Network sync all properties | All the properties of the Actor will be synced by the network server when this Metakey is marked | |
NetPropertyCondition | Conditions for Network sync property | Network sync conditions are classified into Private and Public modes, Public is the default condition and will be synced to all clients, while Private will only be synced to the client of the master control player | |
NetPropertyNotify | Notify of network sync property | The specified notify function will be triggered when the client property is synced | |
StoreProperty | Network store property | The properties will be stored by the server when this Metakey is marked. Currently only for player object |
Note: No space is allowed while using| to split strings
Entities
Metakey | MetaValue | Definition | Note |
---|---|---|---|
EditorVisible | Visible or not in the Editor | If the Metakey is not set, the entity is not visible to the Editor by default | |
Category | Arbitrary English Character, | is the reserved character | Property type, using | to split sub-type (to be implemented) | |
OnlyShowSelf | Display its own properties only | Display its own properties only,not properties inherited from the parent | |
Prefabable | Allow prefab base type or not | If the Metakey is not set, this type is not visible when the Editor is selecting base type to create prefab | |
DisableMarqueeSelect | Allow marquee selection or not | With this Metakey, the Editor will ignore this type of Object for Marquee selection | |
HideProperty,HideCategory | String | Types of properties that need to be hidden, category (Suggestion: For Engine developer to use, use hidden config file to implement during project development) | |
TranslationVisible | The translation is visible or not | The Editor can edit the translation of this entity only when this Metakey is set | |
ServerClass | Server class | Declared GameObject class, which corresponds the class on the server | Used in non-component servers only |