PushButton Engine: Table of Contents » Metadata
Metadata
This is a reference to the various metadata and what it indicates to the editor and serializer.
TypeHint
type="fully.qualified.class"
This can be used on Array or Dictionary fields to specify the root type
to use for children. By default, the type specified and any child types
are used. The EditorData-referenceType metadata can be used in conjunction
with this to modify that behavior. This can also be used on
PropertyReference fields to specify the type of properties that can be
referenced. If it is omitted, all types are considered valid.
EditorData
defaultValue="{value}"
Default defaultValues are: Boolean=false, number,int,uint=0, String="".
Only primitives can have default values, however, classes can have default
values that consist of a pipe separated list of values for its children.
This only works on simple classes, like flash.geom.Point.
ignore="true/false"
When used on a class, it tells the editor to not allow instances of this
type to be created for instance type fields. When used on a field, it
tells the editor to completely ignore the field. Private and protected
members, read only properties, and interfaces are automatically ignored.
editAs="fully.qualified.class"
Tells the editor to treat the class like a different type. The class will
have to implement ISerializable to be loaded by the game correctly.
typeHint="fully.qualified.class"
This is the same as the TypeHint metadata tag, but can be used with other
tags. For example, if editAs="Array" is set on a Class, this can specify
the child type to use for that array.
extensions="comma,separated,list"
Only applicable to Resource derived classes, this specifies the file
extensions that are valid for the Resource type. If omitted, all
extensions are considered valid.
referenceType="static/instance componentReference/nameReference/objectReference"
This specifies how a complex class field should be treated. On a complex
field, it applies directly to that field. On an Array or Dictionary, it
applies to the child fields. A value of instance means a new instance of
either the fields type or a child type will be created. A value of static
means the fields type will be used and cannot be changed. The default is
instance.
componentReference indicates that the field will take a reference to an
existing component. If the type of the field is a component, then the tag
is not necessary. But, sometimes the type is actually an interface, in
which case this tag must exist to have the editor properly edit the field.
nameReference and objectReference work the same way as componentReference
except they apply to fields that expect a reference to an entity. The
difference between the two is nameReference will reference an existing
entity whereas objectReference will instantiate a new entity.