Syntax of data declarations, used in .uc files.
This syntax is derived from Unreal Engine script syntax. Information may be
found here: http://udn.epicgames.com/Three/UnrealScriptReference.html
Note: syntax used in our engine is partially differs from UE syntax.


Class modifiers:
----------------
extends OtherClass		derive this class from OtherClass
abstract			do not allow instantiation, do not include in "new property instance" list ...
noexport			do not create C++ header for this class (created separately)
-hidecategories(list)		do not show listed property categories in editor (for parent class fields)
-exportstructs			export all structs declared in this class to C++ header; this is equivalent to
				declaring all structs in the class as "native export"
-[no]editinlinenew		allow class creation from editor; propagated to all childs, can be overriden with no...
-dependson(class list)		force to compile script after this class(es)
-native				create C++ code for class; this class should be derived from another native class


Variable modifiers:
-------------------
var				not editable prop
var()				editable prop
var(Group)			editable prop, displayed in property editor in "Group"
editconst			do not allow to edit in editor
editfixedsize			dynamic array: disallow resizing of array variable (no 'add' and 'remove' buttons)
editnoadd			dynamic array: disallow creation of new array item (but detetion is still allowed)
				note: absent in Unreal
noexport			do not export field, should be explicitly declared in [struct]cpptext
-transient			do not serialize property
-native				do not serialize as property, serialized by C++ code


Struct modifiers:
-----------------
-native				create structure in C++ header (C++ structure name = "F" + StructName)
extends OtherStruct		derived structure


Native types:
-------------
bool
byte
int
float
pointer<type>			syntax: "pointer varname" (void*) or "pointer<type> varname" (type*)
				note1: type will be used in C++ header, internally ignored
				note2: Unreal uses "pointer varname{type}" syntax
string[size]
type[size]			static array
array<type>			dynamic array
struct
[StructOrClassName]


UE extra native types:
----------------------
name
vector
rotator
class<ClassName>		RTTI object
class'Name'			will load class instance from package


Other notes:
------------
cpptext {}			describe C++ code for class
structcpptext {}		describe C++ code for non-class structure
-structdefaultproperties {}	create constructor for native structure?

Constants:
----------
const name = value		declare constant (will be converted to "#define" in cpp)


Advanced properties:
--------------------
string Filename[size]		can specify file type and extension mask in a 1st line of comment in
				following form:
					"#FILENAME Texture: *.bmp;*.tga"
string Dirname[size]		specify "#DIRNAME" in a 1st comment line
int EnumValue			specify "#ENUM EnumName" to use integer value as index in some enumeration
