Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames

IpDrv.OnlinePlaylistManager

Extends
Object
Modifiers
native inherits ( FTickableObject ) config ( Playlist )

This class holds the set of playlists that the game exposes, handles downloading updates to the playlists via MCP/TitleFiles, and creates the game settings objects that make up a playlist

Core.Object
|   
+-- IpDrv.OnlinePlaylistManager

Constants Summary
Inherited Contants from Core.Object
AspectRatio16x9, AspectRatio4x3, AspectRatio5x4, DegToRad, DegToUnrRot, INDEX_NONE, InvAspectRatio16x9, InvAspectRatio4x3, InvAspectRatio5x4, MaxInt, Pi, RadToDeg, RadToUnrRot, UnrRotToDeg, UnrRotToRad

Variables Summary
intCurrentPlaylistId
stringDataCenterFileName
intDataCenterId
array<name>DatastoresToRefresh
intDownloadCount
nameEventsInterfaceName
intMinPlaylistIdToReport
floatNextPlaylistPopulationUpdateTime
array<string>PlaylistFileNames
floatPlaylistPopulationUpdateInterval
array<Playlist>Playlists
array<PlaylistPopulation>PopulationData
stringPopulationFileName
intRegionTotalPlayers
intSuccessfulCount
OnlineTitleFileInterfaceTitleFileInterface
intVersionNumber
intWorldwideTotalPlayers
Inherited Variables from Core.Object
Class, HashNext, HashOuterNext, Linker, LinkerIndex, Name, NetIndex, ObjectArchetype, ObjectFlags, ObjectInternalInteger, Outer, StateFrame, VfTableObject

Enumerations Summary
Inherited Enumerations from Core.Object
AlphaBlendType, EAspectRatioAxisConstraint, EAutomatedRunResult, EAxis, EDebugBreakType, EInputEvent, EInterpCurveMode, EInterpMethodType, ETickingGroup

Structures Summary
ConfiguredGameSetting
GameSettingId, GameSettingsClassName, Url, GameSettings
InventorySwap
Original, SwapTo
Playlist
ConfiguredGames, PlaylistId, LoadBalanceId, LocalizationString, ContentIds, TeamSize, TeamCount, MaxPartySize, Name, Url, bIsArbitrated, bDisableDedicatedServerSearches, MapCycle, InventorySwaps
PlaylistPopulation
PlaylistId, WorldwideTotal, RegionTotal
Inherited Structures from Core.Object
Array_Mirror, BitArray_Mirror, BoneAtom, Box, BoxSphereBounds, Color, Cylinder, double, FColorVertexBuffer_Mirror, Guid, IndirectArray_Mirror, InlinePointerArray_Mirror, InterpCurveFloat, InterpCurveLinearColor, InterpCurvePointFloat, InterpCurvePointLinearColor, InterpCurvePointQuat, InterpCurvePointTwoVectors, InterpCurvePointVector, InterpCurvePointVector2D, InterpCurveQuat, InterpCurveTwoVectors, InterpCurveVector, InterpCurveVector2D, IntPoint, LinearColor, Map_Mirror, Matrix, MultiMap_Mirror, OctreeElementId, Plane, pointer, Quat, qword, RawDistribution, RenderCommandFence, RenderCommandFence_Mirror, Rotator, Set_Mirror, SHVector, SHVectorRGB, SparseArray_Mirror, TAlphaBlend, ThreadSafeCounter, TPOV, TwoVectors, UntypedBulkData_Mirror, Vector, Vector2D, Vector4

Delegates Summary
delegate OnPlaylistPopulationDataUpdated ()
delegate OnReadPlaylistComplete ()

Functions Summary
function DetermineFilesToDownload ()
function DownloadPlaylist ()))
function FinalizePlaylistObjects ()
function GetContentIdsFromPlaylist (int PlaylistId, ut array<int> ContentIds))
functionOnlineGameSettings GetGameSettings (int PlaylistId, nt GameSettingsId))
functionclass<InventoryGetInventorySwapFromPlaylist (int PlaylistId, lass<Inventory> SourceInventory))
function GetLoadBalanceIdFromPlaylist (int PlaylistId, ut int LoadBalanceId))
function GetMapCycleFromPlaylist (int PlaylistId, ut array<name> MapCycle))
function GetPopulationInfoFromPlaylist (int PlaylistId, ut int WorldwideTotal, ut int RegionTotal))
function GetTeamInfoFromPlaylist (int PlaylistId, ut int TeamSize, ut int TeamCount, ut int MaxPartySize))
functionstring GetUrlFromPlaylist (int PlaylistId))
functionbool HasAnyGameSettings (int PlaylistId))
functionbool IsPlaylistArbitrated (int PlaylistId))
function OnReadDataCenterIdComplete (bool bWasSuccessful, tring FileName))
function OnReadPlaylistPopulationComplete (bool bWasSuccessful, tring FileName))
function OnReadTitleFileComplete (bool bWasSuccessful, tring FileName))
function ParseDataCenterId (const out array<byte> Data)
function ParsePlaylistPopulationData (const out array<byte> Data)
functionbool PlaylistSupportsDedicatedServers (int PlaylistId))
function ReadDataCenterId ()))
function ReadPlaylistPopulation ()))
function Reset ()))
event SendPlaylistPopulationUpdate (int NumPlayers))
Inherited Functions from Core.Object
!, !=, $, $=, %, &, &&, *, **, *=, +, ++, +=, -, --, -=, / , /=, <, <<, <=, ==, >, >=, >>, >>>, @, @=, Abs, Acos, Asc, Asin, Atan, Atan2, BeginState, ByteToFloat, Caps, Chr, Clamp, ClampLength, ClampRotAxis, ClampRotAxisFromBase, ClampRotAxisFromRange, ClassIsChildOf, ClockwiseFrom, ColorToLinearColor, ContinuedState, Cos, Cross, DebugBreak, Disable, Dot, DumpStateStack, DynamicLoadObject, Enable, EndState, EvalInterpCurveFloat, EvalInterpCurveVector, EvalInterpCurveVector2D, Exp, FCeil, FClamp, FCubicInterp, FFloor, FindDeltaAngle, FindObject, FInterpConstantTo, FInterpEaseIn, FInterpEaseInOut, FInterpEaseOut, FInterpTo, float, FloatToByte, FMax, FMin, FPctByRange, FRand, GetAngularDegreesFromRadians, GetAngularDistance, GetAngularFromDotDist, GetAxes, GetBuildChangelistNumber, GetDotDistance, GetEngineVersion, GetEnum, GetFuncName, GetHeadingAngle, GetMappedRangeValue, GetPackageName, GetPerObjectConfigSections, GetRangePctByValue, GetRangeValueByPct, GetRightMost, GetRotatorAxis, GetScriptTrace, GetStateName, GetSystemTime, GetUnAxes, GotoState, InCylinder, InStr, InverseTransformNormal, InverseTransformVector, IsA, IsChildState, IsInState, IsPendingKill, IsUTracing, IsZero, JoinArray, Left, Len, Lerp, LerpColor, Localize, Locs, Loge, LogInternal, MakeColor, MakeLinearColor, MakeRotationMatrix, MakeRotationTranslationMatrix, MakeRotator, MatrixGetAxis, MatrixGetOrigin, MatrixGetRotator, Max, Mid, Min, MirrorVectorByNormal, Normal, Normalize, NormalizeRotAxis, NoZDot, OrthoRotation, ParseLocalizedPropertyPath, ParseStringIntoArray, PathName, PausedState, PointDistToLine, PointDistToPlane, PointDistToSegment, PointProjectToPlane, PoppedState, PopState, ProjectOnTo, PushedState, PushState, QuatDot, QuatFindBetween, QuatFromAxisAndAngle, QuatFromRotator, QuatInvert, QuatProduct, QuatRotateVector, QuatSlerp, QuatToRotator, Rand, RDiff, Repl, Right, RInterpTo, RLerp, RotRand, Round, RSize, RSmerp, RTransform, SaveConfig, SClampRotAxis, ScriptTrace, SetUTracing, Sin, Split, SplitString, Sqrt, Square, StaticSaveConfig, Tan, TimeStamp, ToHex, TransformNormal, TransformVector, TransformVectorByRotation, UnwindHeading, vect2d, VInterpTo, VLerp, VRand, VRandCone, VRandCone2, VSize, VSize2D, VSizeSq, VSizeSq2D, VSmerp, WarnInternal, ^, ^^, |, ||, ~, ~=


Variables Detail

CurrentPlaylistId Source code

var transient int CurrentPlaylistId;
The playlist id that is being played

DataCenterFileName Source code

var string DataCenterFileName;
The name of the datacenter file to request

DataCenterId Source code

var config int DataCenterId;
The datacenter id to use for this machine

DatastoresToRefresh Source code

var config array<name> DatastoresToRefresh;
The set of UIDataStore_GameResource objects to refresh once the download has completed

DownloadCount Source code

var int DownloadCount;
Used to know when we should finalize the objects

EventsInterfaceName Source code

var config name EventsInterfaceName;
The name of the interface to request as our upload object

MinPlaylistIdToReport Source code

var config int MinPlaylistIdToReport;
The lowest number playlist id to report to the backend. Used to turn off "not mp" playlist ids

NextPlaylistPopulationUpdateTime Source code

var transient float NextPlaylistPopulationUpdateTime;
The next time the playlist population data needs to be sent

PlaylistFileNames Source code

var array<string> PlaylistFileNames;
The file names to request when downloading a playlist from MCP/TMS/etc

PlaylistPopulationUpdateInterval Source code

var config float PlaylistPopulationUpdateInterval;
How often (in seconds) we should update the population data

Playlists Source code

var config array<Playlist> Playlists;
This is the complete set of playlists available to choose from

PopulationData Source code

var config array<PlaylistPopulation> PopulationData;
The list of playlists and the number of players in them

PopulationFileName Source code

var string PopulationFileName;
The name of the population data file to request

RegionTotalPlayers Source code

var int RegionTotalPlayers;
The total number of players across all playlists in the region

SuccessfulCount Source code

var int SuccessfulCount;
Incremented when successful to determine whether to update at all

TitleFileInterface Source code

var transient OnlineTitleFileInterface TitleFileInterface;
Cached object ref that we use for accessing the TitleFileInterface

VersionNumber Source code

var config int VersionNumber;
The version number of the playlist that was downloaded

WorldwideTotalPlayers Source code

var int WorldwideTotalPlayers;
The total number of players across all playlists worldwide


Structures Detail

ConfiguredGameSetting Source code

struct ConfiguredGameSetting
{
var int GameSettingId;
var transient OnlineGameSettings GameSettings;
var string GameSettingsClassName;
var string Url;
};
Contains a game settings class name to load and instance using the specified URL to override defaults
GameSettingId:
The unique (within the playlist) id for this game setting
GameSettings:
Holds the object that was created for this entry in a playlist
GameSettingsClassName:
The name of the class to load and instance
Url:
The URL to use to replace settings with (see UpdateFromURL())

InventorySwap Source code

struct InventorySwap
{
var name Original;
var string SwapTo;
};
Allows for per playlist inventory swapping
Original:
The inventory to replace
SwapTo:
The inventory to replace it with

Playlist Source code

struct Playlist
{
var bool bDisableDedicatedServerSearches;
var bool bIsArbitrated;
var array<ConfiguredGameSetting> ConfiguredGames;
var array<int> ContentIds;
var array<InventorySwap> InventorySwaps;
var int LoadBalanceId;
var string LocalizationString;
var array<name> MapCycle;
var int MaxPartySize;
var string Name;
var int PlaylistId;
var int TeamCount;
var int TeamSize;
var string Url;
};
A playlist contains 1 or more game configurations that players can choose between
bDisableDedicatedServerSearches:
Whether dedicated server searches are supported with this playlist
bIsArbitrated:
Whether this playlist is arbitrated or not
ConfiguredGames:
Holds the list of game configurations that are part of this playlist
ContentIds:
The set of content/maps (or DLC bundles) that must be present in order to play on this playlist
InventorySwaps:
The list of inventory swaps for the playlist
LoadBalanceId:
The load balance id for this playlist
LocalizationString:
The string to use to lookup the display name for this playlist
MapCycle:
The custom map cycle for this playlist
MaxPartySize:
The max party size for this playlist if different from the team size
Name:
The string to use in the UI for this playlist
PlaylistId:
The unique id for this playlist
TeamCount:
The number of teams per match if different from the defaults
TeamSize:
The number of players per team if different from the defaults
Url:
URL to append to the MP options in GameInfo.InitGame()

PlaylistPopulation Source code

struct PlaylistPopulation
{
var int PlaylistId;
var int RegionTotal;
var int WorldwideTotal;
};
Holds the overall and per region playlist population numbers
PlaylistId:
The unique id for this playlist
RegionTotal:
The total for the player's region
WorldwideTotal:
The total across all regions


Delegates Detail

OnPlaylistPopulationDataUpdated Source code

delegate OnPlaylistPopulationDataUpdated ( )
Tells the listener when playlist population data was updated

OnReadPlaylistComplete Source code

delegate OnReadPlaylistComplete ( )
Delegate fired when the playlist has been downloaded and processed


Functions Detail

DetermineFilesToDownload Source code

native function DetermineFilesToDownload ( )
Uses the current loc setting and game ini name to build the download list

DownloadPlaylist Source code

function DownloadPlaylist ( ) )
Reads the playlist from either MCP or from some form of title storage

FinalizePlaylistObjects Source code

native function FinalizePlaylistObjects ( )
Uses the configuration data to create the requested objects and then applies any specific game settings changes to them

GetContentIdsFromPlaylist Source code

function GetContentIdsFromPlaylist ( int PlaylistId,out array<int> ContentIds) )
Finds the specified playlist and return the content ids in the out var
@param PlaylistId the playlist being searched for
@param ContentIds the list to set the content ids in

GetGameSettings Source code

function OnlineGameSettings GetGameSettings ( int PlaylistId,int GameSettingsId) )
Finds the game settings object associated with this playlist and game settings id
@param PlaylistId the playlist we are searching
@param GameSettingsId the game settings id being searched for
@return the game settings specified or None if not found

GetInventorySwapFromPlaylist Source code

function class<Inventory> GetInventorySwapFromPlaylist ( int PlaylistId,class<Inventory> SourceInventory) )
Searches for a per playlist inventory swap
@param PlaylistId the playlist we are checking for swaps in
@param SourceInventory the source item we are checking for swapping
@return the swapped item or the original if not found

GetLoadBalanceIdFromPlaylist Source code

function GetLoadBalanceIdFromPlaylist ( int PlaylistId,out int LoadBalanceId) )
Determine the load balance id for the specified playlist and returns it in the out vars. The load balance id can be used to change the match mode during a search.
@param PlaylistId the playlist being searched for
@param LoadBalanceId out var getting the id for load balancing

GetMapCycleFromPlaylist Source code

function GetMapCycleFromPlaylist ( int PlaylistId,out array<name> MapCycle) )
Finds the specified playlist and returns the map cycle for it
@param PlaylistId the playlist being searched for
@param MapCycle the out var that gets the map cycle

GetPopulationInfoFromPlaylist Source code

function GetPopulationInfoFromPlaylist ( int PlaylistId,out int WorldwideTotal,out int RegionTotal) )
Finds the population information for the specified playlist and returns it in the out vars
@param PlaylistId the playlist being searched for
@param WorldwideTotal out var getting the number of players worldwide
@param RegionTotal out var getting the number of players in this region

GetTeamInfoFromPlaylist Source code

function GetTeamInfoFromPlaylist ( int PlaylistId,out int TeamSize,out int TeamCount,out int MaxPartySize) )
Finds the team information for the specified playlist and returns it in the out vars
@param PlaylistId the playlist being searched for
@param TeamSize out var getting the number of players per team
@param TeamCount out var getting the number of teams per match
@param MaxPartySize out var getting the number of players per party

GetUrlFromPlaylist Source code

function string GetUrlFromPlaylist ( int PlaylistId) )
Finds the specified playlist and returns any additional URL options
@param PlaylistId the playlist being searched for
@return the URL string associated with this playlist

HasAnyGameSettings Source code

function bool HasAnyGameSettings ( int PlaylistId) )
Determine if any game settings exist for the given playlistid
@param PlaylistId playlist to check for game settings
@return TRUE if game settings exist for the given id

IsPlaylistArbitrated Source code

function bool IsPlaylistArbitrated ( int PlaylistId) )
Determine if the given playlist entry is arbitrated or not
@param PlaylistId the playlist being searched for
@return TRUE if the playlist is arbitrated

OnReadDataCenterIdComplete Source code

function OnReadDataCenterIdComplete ( bool bWasSuccessful,string FileName) )
Notifies us when the download of a file is complete
@param bWasSuccessful true if the download completed ok, false otherwise
@param FileName the file that was downloaded (or failed to)

OnReadPlaylistPopulationComplete Source code

function OnReadPlaylistPopulationComplete ( bool bWasSuccessful,string FileName) )
Notifies us when the download of a file is complete
@param bWasSuccessful true if the download completed ok, false otherwise
@param FileName the file that was downloaded (or failed to)

OnReadTitleFileComplete Source code

function OnReadTitleFileComplete ( bool bWasSuccessful,string FileName) )
Notifies us when the download of the playlist file is complete
@param bWasSuccessful true if the download completed ok, false otherwise
@param FileName the file that was downloaded (or failed to)

ParseDataCenterId Source code

native function ParseDataCenterId ( const out array<byte> Data )
Converts the data into the datacenter id
@param Data the data that was downloaded

ParsePlaylistPopulationData Source code

native function ParsePlaylistPopulationData ( const out array<byte> Data )
Converts the data into the structure used by the playlist manager
@param Data the data that was downloaded

PlaylistSupportsDedicatedServers Source code

function bool PlaylistSupportsDedicatedServers ( int PlaylistId) )

ReadDataCenterId Source code

function ReadDataCenterId ( ) )
Asks the network backend which datacenter this machine is to use

ReadPlaylistPopulation Source code

function ReadPlaylistPopulation ( ) )
Reads the player population data for playlists by region

Reset Source code

function Reset ( ) )
Allows the playlists to be re-requested from the server

SendPlaylistPopulationUpdate Source code

event SendPlaylistPopulationUpdate ( int NumPlayers) )
Called once enough time has elapsed that a playlist update is required
@param NumPlayers the numbers of players to report (easier to get at in native)


Defaultproperties

defaultproperties
{
	PopulationFileName="PlaylistPopulationData.ini"
	DataCenterFileName="DataCenter.Id"
}

Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames
Creation time: ti 22-3-2011 19:56:53.582 - Created with UnCodeX