I love the smell of UnrealEd crashing in the morning. – tarquin
Object, the root class. All other classes are more or less directly derived from Object.
Object is the parent class of all objects in Unreal. All of the functions in the Object class are accessible everywhere, because everything derives from Object. Object is an abstract base class, in that it doesn't do anything useful. All functionality is provided by subclasses, such as Texture (a texture map), TextBuffer (a chunk of text), and Class (which describes the class of other objects).
The UnrealScript compiler insists that you specify "extends Object" if you're extending Object, i.e. it does not implicitly extend the Object class if you forget to add it.
- name Name (native, const, editconst, noexport)
- The name of this object. The string representation of this value is the same like the last part of the object's string representation.
- class Class (native, const, editconst)
- The class of this object. (The class of e.g. class'Engine.Mutator' is class'Core.Class', the class of an actual Mutator actor is class'Engine.Mutator'.)
- pointer ObjectInternal (native, private, const)
- (like all pointer variables declared as int in engine build 2136 and earlier)
- Object Outer (native, const)
- int ObjectFlags (native, const)
- Pi = 3.1415926535897932
- MaxInt = 0x7fffffff = 2147483647
- Maximum possible integer value. Minimum integer:
~MaxInt = 0x80000000 = -2147483648
Used for ObjectFlags:
- RF_Transactional = 0x00000001
- Object supports editor undo/redo.
- RF_Public = 0x00000004
- Object can be referenced by external package files.
- RF_Transient = 0x00004000
- Object can't be saved or loaded.
- RF_NotForClient = 0x00100000
- Don't load the object for game client.
- RF_NotForServer = 0x00200000
- Don't load the object for game server.
- RF_NotForEdit = 0x00400000
- Don't load the object for editor.
See Built-In Struct.
Camera orientations for Matinee
Not in UT2003.
Was in Actor in UT2003.
There are some other important function declarations in the Object class:
- BeginState ( )
- Called when executing the GotoState method right after the object's state has changed.
- EndState ( )
- Called by GotoState right before the state changes. This will also be called when an Actor's Destroy method is used.
- Created ( )
- Called for non-Actor objects when they are created using New.
Known UnrealScript Subclasses
- CrosshairPack – only in UT2004
- Material – Textures and texture modifiers
- ParticleEmitter – used by Epic's Emitters
- Player – the player input
- Primitive – Meshes, Brush models and StaticMeshes
- ScriptedAction – used by ScriptedSequence and ScriptedTrigger actors
Deprecated Or Not Implemented
Not Yet Documented
(should be moved to one of the above categories as soon as UT2003 information become available)
If subclasses are linked in this section then they either still contain UT information or haven't been moved to Documented Subclasses yet. (Please do so in this case.)
- Font – needs to be adapted for UT2003.
Other Related topics
- Using Objects
- Creating Actors and Objects - about creating objects within other classes?
- Communication Between Objects
Daid303: I've found some extra function in the new demo of UT2004:
native final function bool PlatformIsMacOS(); native final function bool PlatformIsUnix(); native final function bool PlatformIsWindows(); native final function bool PlatformIs64Bit();
You can simply find stuff like that by opening U files in notepad. See if people can find other new native stuff :)
Foxpaw: ! Functions to check what platform it is? Why that's plum crazy! Plums! Seriously though, it seems rather un-cross-platformy to have functions like that, but I'd be interested to see how they've been used in UT2004.
MythOpus: Hasn't the time sub-system been in the C Headers since the orginial UT? How come it still hasn't been implemented?
OlympusMons: Added the other related topics, not sure if all these links are fully related to object or should really go here or not.