Member declarations define data within a structure or class that can be accessed directly within methods of the object (or its derived classes,) or indirectly from instances of it with the member access operator.
A member declaration is formed as so:
$[Member-declaration-flags...]$ Type Variable-name $[ , Variable-name]$... ;
Some basic member variables.
// An integer. Visible to and modifiable by everything.
int m_MyCoolInt;
// Three separate integers, defined short-hand.
int m_CoolInt1, m_CoolInt2, m_CoolInt3;
// Ten integers in one variable.
int[10] m_CoolIntArray;
// Can only be seen by this type.
private int m_CoolPrivateInt;
// Read-only (part of the class data, can only be seen by descendant types.
protected meta int m_CoolMetaInt;
Flag | Description |
---|---|
deprecated ( "ver" $[ , "reason" ]$ ) |
If accessed, a script warning will occur on load if the archive version is greater than ver , with the reason reason specified in the message. |
internal |
Member is only writable from the base resource archive (gzdoom.pk3 .) Version 3.4.0 and newer. |
latent |
Does nothing. Purpose unknown. |
meta |
Member is read-only static class data. Only really useful on actors, since these can be set via properties on them. |
native |
Member is from the engine. Only usable internally. |
play |
Member has Play scope. |
private |
Member is not visible to any class but this one. |
protected |
Member is not visible to any class but this one and any descendants of it. |
readonly |
Member is not writable. |
transient |
Member is not saved into save games. Required for unserializable objects and recommended for UI context objects. |
ui |
Member has UI scope. |
version ( "ver" ) |
Restricted to ZScript version ver or higher. |