UE3:GameViewportClient (UDK)
![]() |
Object >> GameViewportClient |
- Package:
- Engine
- Within class:
- Engine
- Known classes within GameViewportClient:
- Console, PlayerManagerInteraction, UIInteraction, UTConsole, UTGameInteraction
- Direct subclass:
- UTGameViewportClient
- This class in other games:
This is an auto-generated page and may need human attention. Please remove the {{autogenerated}} tag if the page seems reasonably complete or replace it with the {{expand}} tag if the page is not yet complete. |
A game viewport (FViewport) is a high-level abstract interface for the platform specific rendering, audio, and input subsystems. GameViewportClient is the engine's interface to a game viewport. Exactly one GameViewportClient is created for each instance of the game. The only case (so far) where you might have a single instance of Engine, but multiple instances of the game (and thus multiple GameViewportClients) is when you have more than one PIE window running.
Responsibilities: propagating input events to the global interactions list
Properties
ActiveSplitscreenType
Type: ESplitScreenType
Modifiers: protected
The splitscreen type that is actually being used; takes into account the number of players and other factors (such as cinematic mode) that could affect the splitscreen mode that is actually used.
bDisableWorldRendering
Type: bool
set to disable world rendering
bDisplayingUIMouseCursor
Type: bool
Modifiers: transient
Indicates whether the UI is currently displaying a mouse cursor. Prevents GameEngine::Tick() from recapturing mouse input while the UI has active scenes that mouse input.
bShowTitleSafeZone
Type: bool
if TRUE then the title safe border is drawn
bUIMouseCaptureOverride
Type: bool
Modifiers: transient
Indicates that the UI needs to receive all mouse input events. Usually enabled when the user is interacting with a draggable widget, such as a scrollbar or slider.
ConnectingMessage
Type: string
Modifiers: localized
Default value: "CONNECTING"
DebugProperties
Type: array<DebugDisplayProperty>
Default2PSplitType
Type: ESplitScreenType
Modifiers: const
Defaults for intances where there are multiple configs for a certain number of players
Default value: eSST_2P_HORIZONTAL
Default3PSplitType
Type: ESplitScreenType
Modifiers: const
Default value: eSST_3P_FAVOR_TOP
DesiredSplitscreenType
Type: ESplitScreenType
Modifiers: protected
The splitscreen layout type that the player wishes to use; this value usually comes from places like the player's profile
GlobalInteractions
Type: array<Interaction>
Modifiers: init, protected
A list of interactions which have a chance at all input before the player's interactions.
LoadingMessage
Type: string
Modifiers: localized
Name: Localized transition messages.
Default value: "LOADING"
PausedMessage
Type: string
Modifiers: localized
Default value: "PAUSED"
PrecachingMessage
Type: string
Modifiers: localized
Default value: "PRECACHING"
ProgressFadeTime
Type: float
Default value: 1.0
ProgressMessage
Type: string
Array size: 2
ProgressTimeOut
Type: float
Default value: 8.0
SavingMessage
Type: string
Modifiers: localized
Default value: "SAVING"
ShowFlags
Type: Object.qword
Modifiers: const
The show flags used by the viewport's players.
SplitscreenInfo
Type: array<SplitscreenData>
Array of the screen data needed for all the different splitscreen configurations
Default value, index 0:
Member | Value | ||||||
---|---|---|---|---|---|---|---|
PlayerData |
|
Default value, index 1:
Member | Value | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PlayerData |
|
Default value, index 2:
Member | Value | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PlayerData |
|
Default value, index 3:
Member | Value | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PlayerData |
|
Default value, index 4:
Member | Value | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PlayerData |
|
Default value, index 5:
Member | Value | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PlayerData |
|
TitleSafeZone
Type: TitleSafeZoneArea
border of safe area
Default value:
Member | Value |
---|---|
MaxPercentX | 0.9 |
MaxPercentY | 0.9 |
RecommendedPercentX | 0.8 |
RecommendedPercentY | 0.8 |
UIController
Type: UIInteraction
The viewport's UI controller
UIControllerClass
Type: class<UIInteraction>
The class for the UI controller
Default value: Class'Engine.UIInteraction'
Viewport
Type: pointer{FViewport}
Modifiers: const
The platform-specific viewport which this viewport client is attached to.
ViewportConsole
Type: Console
The viewport's console. Might be null on consoles
ViewportFrame
Type: pointer{FViewportFrame}
Modifiers: const
The platform-specific viewport frame which this viewport is contained by.
Enums
ESafeZoneType
The 4 different kinds of safezones
- eSZ_TOP
- eSZ_BOTTOM
- eSZ_LEFT
- eSZ_RIGHT
ESplitScreenType
Enum of the different splitscreen types
- eSST_NONE
- No split
- eSST_2P_HORIZONTAL
- 2 player horizontal split
- eSST_2P_VERTICAL
- 2 player vertical split
- eSST_3P_FAVOR_TOP
- 3 Player split with 1 player on top and 2 on bottom
- eSST_3P_FAVOR_BOTTOM
- 3 Player split with 1 player on bottom and 2 on top
- eSST_4P
- 4 Player split
Structs
DebugDisplayProperty
Modifiers: native
debug property display functionality to interact with this, use "display", "displayall", "displayclear"
- Object Obj
- the object whose property to display. If this is a class, all objects of that class are drawn.
- name PropertyName
- name of the property to display
- bool bSpecialProperty
- whether PropertyName is a "special" value not directly mapping to a real property (e.g. state name)
PerPlayerSplitscreenData
Modifiers: native
Structure to store splitscreen data.
SplitscreenData
Modifiers: native
Structure containing all the player splitscreen datas per splitscreen configuration.
- array<PerPlayerSplitscreenData> PlayerData
TitleSafeZoneArea
Modifiers: native
Max/Recommended screen viewable extents as a percentage
Delegates
HandleInputAxis
Provides script-only child classes the opportunity to handle input axis events received from the viewport. This delegate is called before the input axis event is passed to the interactions array for processing.
Parameters:
- ControllerId - the controller that generated this input axis event
- Key - the name of the axis that moved (KEY_MouseX, KEY_XboxTypeS_LeftX, etc.)
- Delta - the movement delta for the axis
- DeltaTime - the time (in seconds) since the last axis update.
- bGamepad - input came from gamepad (ie xbox controller)
Returns:
- return TRUE to indicate that the input event was handled. if the return value is TRUE, this input event will not be passed to the interactions array.
HandleInputChar
Provides script-only child classes the opportunity to handle character input (typing) events received from the viewport. This delegate is called before the character event is passed to the interactions array for processing.
Parameters:
- ControllerId - the controller that generated this character input event
- Unicode - the character that was typed
Returns:
- return TRUE to indicate that the input event was handled. if the return value is TRUE, this input event will not be passed to the interactions array.
HandleInputKey
Provides script-only child classes the opportunity to handle input key events received from the viewport. This delegate is called before the input key event is passed to the interactions array for processing.
Parameters:
- ControllerId - the controller that generated this input key event
- Key - the name of the key which an event occured for (KEY_Up, KEY_Down, etc.)
- EventType - the type of event which occured (pressed, released, etc.)
- AmountDepressed - for analog keys, the depression percent.
- bGamepad - input came from gamepad (ie xbox controller)
Returns:
- return TRUE to indicate that the input event was handled. if the return value is TRUE, this input event will not be passed to the interactions array.
Functions
Exec functions
SetProgressTime
ClearProgressMessages
Native functions
ConsoleCommand
Executes a console command in the context of this viewport.
Parameters:
- Command - The command to execute.
Returns:
- The output of the command will be returned.
GetViewportSize
Retrieve the size of the main viewport.
Parameters:
- out_ViewportSize - out] will be filled in with the size of the main viewport
IsFullScreenViewport
Returns:
- Whether or not the main viewport is fullscreen or windowed.
ShouldForceFullscreenViewport
Determine whether a fullscreen viewport should be used in cases where there are multiple players.
Returns:
- TRUE to use a fullscreen viewport; FALSE to allow each player to have their own area of the viewport.
Events
CreatePlayer
Adds a new player.
Parameters:
- ControllerId - The controller ID the player should accept input from.
- OutError - If no player is returned, OutError will contain a string describing the reason.
- SpawnActor - True if an actor should be spawned for the new player.
Returns:
- The player which was created.
FindPlayerByControllerId
Finds a player by controller ID.
Parameters:
- ControllerId - The controller ID to search for.
Returns:
- None or the player with matching controller ID.
GameSessionEnded
Called when the current map is being unloaded. Cleans up any references which would prevent garbage collection.
GetSubtitleRegion
called before rending subtitles to allow the game viewport to determine the size of the subtitle area
Parameters:
- Min - top left bounds of subtitle region (0 to 1)
- Max - bottom right bounds of subtitle region (0 to 1)
Init
Initialize the game viewport.
Parameters:
- OutError - If an error occurs, returns the error description.
Returns:
- False if an error occurred, true if the viewport was initialized successfully.
InsertInteraction
Inserts an interaction into the GlobalInteractions array at the specified index
Parameters:
- NewInteraction - the interaction that should be inserted into the array
- Index - the position in the GlobalInteractions array to insert the element. if no value (or -1) is specified, inserts the interaction at the end of the array
Returns:
- the position in the GlobalInteractions array where the element was placed, or -1 if the element wasn't added to the array for some reason
LayoutPlayers
Called before rendering to allow the game viewport to allocate subregions to players.
PostRender
Called after rendering the player views and HUDs to render menus, the console, etc. This is the last rendering call in the render loop
Parameters:
- Canvas - The canvas to use for rendering.
RemovePlayer
Removes a player.
Parameters:
- Player - The player to remove.
Returns:
- whether the player was successfully removed. Removal is not allowed while connected to a server.
SetProgressMessage
handler for global state messages, generally network connection related (failures, download progress, etc)
Tick
Called every frame to allow the game viewport to update time based state.
Parameters:
- DeltaTime - The time since the last call to Tick.
Other instance functions
AddLocalPlayer
Adds a LocalPlayer to the local and global list of Players.
Parameters:
- NewPlayer - the player to add
CalculateDeadZone
CalculateDeadZoneForAllSides
CalculatePixelCenter
Calculate the pixel value of the center of the viewport - this takes the safezones into consideration.
CalculateSafeZoneValues
Calculate the amount of safezone needed for a single side for both vertical and horizontal dimensions
ConvertLocalPlayerToGamePlayerIndex
Convert a LocalPlayer to it's index in the GamePlayer array Returns -1 if the index could not be found.
CreateInitialPlayer
Create the game's initial player at startup. First search for a player that is signed into the OnlineSubsystem; if none are found, create a player with a ControllerId of 0.
Parameters:
- OutError - receives the error string if an error occurs while creating the player.
Returns:
- TRUE if a player was successfully created.
DisplayProgressMessage
display progress messages in center of screen
DrawTitleSafeArea
Draw the safe area using the current TitleSafeZone settings
DrawTransition
Displays the transition screen.
Parameters:
- Canvas - The canvas to use for rendering.
DrawTransitionMessage
Print a centered transition message with a drop shadow.
GetPixelSizeOfScreen
Get the total pixel size of the screen. This is different from the pixel size of the viewport since we could be in splitscreen
GetSplitscreenConfiguration
Returns:
- the actual splitscreen type being used, taking into account the number of players.
HasBottomSafeZone
Whether the player at LocalPlayerIndex's viewport has a "bottom of viewport" safezone or not.
HasLeftSafeZone
Whether the player at LocalPlayerIndex's viewport has a "left of viewport" safezone or not.
HasRightSafeZone
Whether the player at LocalPlayerIndex's viewport has a "right of viewport" safezone or not.
HasTopSafeZone
Whether the player at LocalPlayerIndex's viewport has a "top of viewport" safezone or not.
NotifyConnectionError
Notifies the player that an attempt to connect to a remote server failed, or an existing connection was dropped.
Parameters:
- Message - a description of why the connection was lost
- Title - the title to use in the connection failure message.
NotifyPlayerAdded
Notifies all interactions that a new player has been added to the list of active players.
Parameters:
- PlayerIndex - the index [into the GamePlayers array] where the player was inserted
- AddedPlayer - the player that was added
NotifyPlayerRemoved
Notifies all interactions that a new player has been added to the list of active players.
Parameters:
- PlayerIndex - the index [into the GamePlayers array] where the player was located
- RemovedPlayer - the player that was removed
RemoveLocalPlayer
Removes a LocalPlayer from the local and global list of Players.
Parameters:
- ExistingPlayer - the player to remove
SetSplitscreenConfiguration
Sets the screen layout configuration that the player wishes to use when in split-screen mode.
UpdateActiveSplitscreenType
Sets the value of ActiveSplitscreenConfiguration based on the desired split-screen layout type, current number of players, and any other factors that might affect the way the screen should be layed out.