I search for solutions in this order: Past Code, Unreal Source, Wiki, BUF, groups.yahoo, google, screaming at monitor. – RegularX

Legacy:InteractionMaster

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT2003 :: Object >> Interactions >> InteractionMaster

The InteractionMaster controls the entire Interaction system. Its job is to take input and Pre/PostRender call and route them to individual Interactions and/or Viewports.

The stubs here in script are for just the Global Interactions as those are the only Interactions the IM routes directly too. A new stub is created in order to limit the number of C++ to UnrealScript switches.

Properties[edit]

The InteractionMaster's properties are declared as transient, i.e. they will not be included when a game is saved.

Client Client 
Interaction BaseMenu (const) 
Holds a pointer to the base menu system.
Interaction Console (const) 
Holds the special Interaction that acts as the Console.
array<Interaction> GlobalInteractions 
Holds a listing of all global Interactions.
bool bRequireRawJoystick 

Methods[edit]

Native Function[edit]

Travel (string URL) 
Setup a travel to a new map.

Events[edit]

Interaction AddInteraction(string InteractionName, optional Player AttachTo) 
Adds an interaction. The interaction will be added as global interaction when the AttachTo parameter is left empty or explicitely set to None.
RemoveInteraction (Interaction RemoveMe) 
Removes an Interaction.
SetFocusTo (Interaction Inter, optional Player ViewportOwner) 
This function will cause a window to adjust it's position in it's array so that it processes input first and displays last.
bool Process_KeyType (array<Interaction> InteractionArray, out EInputKey Key, optional string Unicode)
bool Process_KeyEvent (array<Interaction> InteractionArray, out EInputKey Key, out EInputAction Action, float Delta) 
Calls the KeyType/KeyEvent function of each active interaction until one returns True. Returns whether the event was proccessed by one of the interactions.
Process_PreRender (array<Interaction> InteractionArray, Canvas Canvas)
Process_PostRender (array<Interaction> InteractionArray, Canvas Canvas) 
Render functions only occure on local interactions. The process the array in reverse order so that the objects that have focus are drawn last. Only visible interactions receive render calls.
Process_Tick (array<Interaction> InteractionArray, float DeltaTime) 
Calls the Tick function of all interactions that require to be ticked.
Process_Message (coerce string Msg, float MsgLife, array<Interaction> InteractionArray) 
The IM is responsible for sending Message events to all interactions.
NotifyLevelChange (array<Interaction> InteractionArray) 
The IM is responsible for sending level change events to all interactions.

Melaneus: I don't think SetFocusTo() works. It looks like it ends up altering the local array of interactions it created instead of altering the real array of interactions that the player uses.