The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
Difference between revisions of "UE3:GameInfo (UT3)"
Liquid 2003 (Talk | contribs) m (→PendingMatch) |
m (→Native functions: added missing member) |
||
Line 93: | Line 93: | ||
===Native functions=== | ===Native functions=== | ||
+ | ====CurrentPlayerCount==== | ||
+ | {{code|native function [[int]] '''CurrentPlayerCount''' ()}} | ||
+ | |||
+ | <!-- enter function description --> | ||
+ | |||
====DoNavFearCostFallOff==== | ====DoNavFearCostFallOff==== | ||
{{code|final native function '''DoNavFearCostFallOff''' ()}} | {{code|final native function '''DoNavFearCostFallOff''' ()}} |
Latest revision as of 01:52, 16 August 2009
Contents
- 1 Properties
- 2 Delegates
- 3 Functions
- 3.1 Static events
- 3.2 Other static functions
- 3.3 Exec functions
- 3.4 Native functions
- 3.5 Events
- 3.5.1 AcceptInventory
- 3.5.2 AddDefaultInventory
- 3.5.3 Broadcast
- 3.5.4 BroadcastLocalized
- 3.5.5 BroadcastLocalizedTeam
- 3.5.6 GameEnding
- 3.5.7 GetBeaconText
- 3.5.8 GetSeamlessTravelActorList
- 3.5.9 HandleSeamlessTravelPlayer
- 3.5.10 InitGame
- 3.5.11 KickIdler
- 3.5.12 Login
- 3.5.13 MatineeCancelled
- 3.5.14 PostBeginPlay
- 3.5.15 PostCommitMapChange
- 3.5.16 PostLogin
- 3.5.17 PostSeamlessTravel
- 3.5.18 PreBeginPlay
- 3.5.19 PreCommitMapChange
- 3.5.20 PreExit
- 3.5.21 PreLogin
- 3.5.22 Reset
- 3.5.23 Timer
- 3.6 Other instance functions
- 4 States
- 4.1 PendingMatch
- 4.1.1 PendingMatch.EndState
- 4.1.2 PendingMatch.ArbitrationRegistrationComplete
- 4.1.3 PendingMatch.ArbitrationTimeout
- 4.1.4 PendingMatch.MatchIsInProgress
- 4.1.5 PendingMatch.ProcessClientRegistrationCompletion
- 4.1.6 PendingMatch.RegisterServerForArbitration
- 4.1.7 PendingMatch.StartArbitratedMatch
- 4.1.8 PendingMatch.StartArbitrationRegistration
- 4.1.9 PendingMatch.StartMatch
- 4.1 PendingMatch
- Package:
- Engine
- Direct subclasses:
- DemoGame, UTGame
- This class in other games:
- RTNP, U1, UT, UT2004, UE2Runtime, U2, U2XMP, UT2003, UDK
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. |
GameInfo.
The GameInfo defines the game being played: the game rules, scoring, what actors are allowed to exist in this game type, and who may enter the game. While the GameInfo class is the public interface, much of this functionality is delegated to several classes to allow easy modification of specific game components. These classes include GameInfo, AccessControl, Mutator, BroadcastHandler, and GameRules. A GameInfo actor is instantiated when the level is initialized for gameplay (in C++ UGameEngine::LoadMap() ). The class of this GameInfo actor is determined by (in order) either the URL ?game=xxx, or the DefaultGame entry in the game's .ini file (in the Engine.Engine section), unless its a network game in which case the DefaultServerGame entry is used. The GameType used can be overridden in the GameInfo script event SetGameType(), called on the game class picked by the above process.
Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
Properties[edit]
See GameInfo properties.
Delegates[edit]
CanUnpause[edit]
Default delegate that provides an implementation for those that don't have special needs other than a toggle
Functions[edit]
Static events[edit]
SetGameType[edit]
Other static functions[edit]
AllowMutator[edit]
GetIntOption[edit]
GetKeyValue[edit]
GrabOption[edit]
HasOption[edit]
ParseKillMessage[edit]
ParseMessageString[edit]
ParseOption[edit]
UseLowGore[edit]
Exec functions[edit]
KillBots[edit]
Native functions[edit]
CurrentPlayerCount[edit]
[edit]
Update navigation point fear cost fall off.
GetNetworkNumber[edit]
GetNextPlayerID[edit]
SwapPlayerControllers[edit]
used to swap a viewport/connection's PlayerControllers when seamless travelling and the new gametype's controller class is different than the previous includes network handling
Parameters:
- OldPC - the old PC that should be discarded
- NewPC - the new PC that should be used for the player
Events[edit]
AcceptInventory[edit]
AddDefaultInventory[edit]
Broadcast[edit]
BroadcastLocalized[edit]
BroadcastLocalizedTeam[edit]
GameEnding[edit]
GetBeaconText[edit]
GetSeamlessTravelActorList[edit]
called on server during seamless level transitions to get the list of Actors that should be moved into the new level PlayerControllers, Role < ROLE_Authority Actors, and any non-Actors that are inside an Actor that is in the list (i.e. Object.Outer == Actor in the list) are all autmoatically moved regardless of whether they're included here only dynamic (!bStatic and !bNoDelete) actors in the PersistentLevel may be moved (this includes all actors spawned during gameplay) this is called for both parts of the transition because actors might change while in the middle (e.g. players might join or leave the game)
Parameters:
- bToEntry - true if we are going from old level -> entry, false if we are going from entry -> new level
- ActorList - out) list of actors to maintain
See: also PlayerController::GetSeamlessTravelActorList() (the function that's called on clients)
HandleSeamlessTravelPlayer[edit]
handles reinitializing players that remained through a seamless level transition called from C++ for players that finished loading after the server
Parameters:
- C - the Controller to handle
InitGame[edit]
KickIdler[edit]
Login[edit]
MatineeCancelled[edit]
Called when this PC is in cinematic mode, and its matinee is cancelled by the user.
PostBeginPlay[edit]
Overrides: Actor.PostBeginPlay
PostCommitMapChange[edit]
Called from C++'s CommitMapChange after unloading previous level and loading new level+sublevels
PostLogin[edit]
PostSeamlessTravel[edit]
called after a seamless level transition has been completed on the *new* GameInfo used to reinitialize players already in the game as they won't have *Login() called on them
PreBeginPlay[edit]
Overrides: Actor.PreBeginPlay
PreCommitMapChange[edit]
Called from C++'s CommitMapChange before unloading previous level
Parameters:
- PreviousMapName - Name of the previous persistent level
- NextMapName - Name of the persistent level being streamed to
PreExit[edit]
Engine is shutting down.
PreLogin[edit]
Reset[edit]
Overrides: Actor.Reset
Timer[edit]
Overrides: Actor.Timer
Other instance functions[edit]
See GameInfo instance functions.
States[edit]
PendingMatch[edit]
This state is used to change the flow of start/end match to handle arbitration.
Basic flow of events:
- Server prepares to start the match and tells all clients to register arbitration
- Clients register with arbitration and tell the server when they are done
- Server checks for all clients to be registered and kicks any clients if they don't register in time.
- Server registers with arbitration and the match begins
- Match ends and the server tells connected clients to write arbitrated stats
- Clients write stats and notifies server of completion
- Server writes stats and ends the match
Modifiers: auto
PendingMatch.EndState[edit]
Overrides: Object.EndState (global)
Called immediately before going out of the current state, while within the GotoState() call that caused the state change, and before BeginState() is called within the new state.
PendingMatch.ArbitrationRegistrationComplete[edit]
Overrides: ArbitrationRegistrationComplete (global)
Callback from the server that starts the match if the registration was successful. If not, it goes back to the menu
Parameters:
- bWasSuccessful - whether the registration worked or not
PendingMatch.ArbitrationTimeout[edit]
Handles kicking any clients that haven't completed handshaking
PendingMatch.MatchIsInProgress[edit]
Overrides: MatchIsInProgress (global)
PendingMatch.ProcessClientRegistrationCompletion[edit]
Overrides: ProcessClientRegistrationCompletion (global)
Removes the player controller from the pending list. Kicks that PC if it failed to register for arbitration. Starts the match if all clients have completed their registration
Parameters:
- PC - the player controller to mark as done
- bWasSuccessful - whether the PC was able to register for arbitration or not
PendingMatch.RegisterServerForArbitration[edit]
Overrides: RegisterServerForArbitration (global)
Does the registration for the server. This must be done last as it includes all the players info from their registration
PendingMatch.StartArbitratedMatch[edit]
Overrides: StartArbitratedMatch (global)
Empty implementation of the code that starts an arbitrated match
PendingMatch.StartArbitrationRegistration[edit]
Overrides: StartArbitrationRegistration (global)
Kicks off the async tasks of having the clients register with arbitration before the server does. Sets a timeout for when all slow to respond clients get kicked
PendingMatch.StartMatch[edit]
Overrides: StartMatch (global)
Tells all of the currently connected clients to register with arbitration. The clients will call back to the server once they have done so, which will tell this state to see if it is time for the server to register with arbitration.