Engine
Class GameReplicationInfo

source: c:\runehov\Engine\Classes\GameReplicationInfo.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Info
         |
         +--Engine.ReplicationInfo
            |
            +--Engine.GameReplicationInfo
Direct Known Subclasses:RuneGameReplicationInfo

class GameReplicationInfo
extends Engine.ReplicationInfo

//============================================================================= // GameReplicationInfo. //=============================================================================
Variables
 string AdminEmail
           Email address of the server admin.
 string AdminName
           Name of the server admin.
 string GameClass
           Assigned by GameInfo.
 string GameEndedComments
           set by gameinfo when game ends
 string GameName
           Assigned by GameInfo.
 string MOTDLine1
           Message
 string MOTDLine2
           Of
 string MOTDLine3
           The
 string MOTDLine4
           Day
 int NumPlayers
           Assigned by GameInfo.
 PlayerReplicationInfo PRIArray[32]
           set by gameinfo when game ends
 ElapsedTime, RemainingMinute
           Assigned by GameInfo.
 float SecondCount
           Assigned by GameInfo.
 string ServerName
           Name of the server, i.e.: Bob's Server.
 int ServerRegion
           Region of the game server.(name changed, region collided with actor::region)
 string ShortName
           Abbreviated name of server, i.e.: B's Serv (stupid example)
 int SumFrags
           Assigned by GameInfo.
 float UpdateTimer
           Assigned by GameInfo.
 bool bClassicDeathMessages
           Assigned by GameInfo.
 bool bStopCountDown
           Assigned by GameInfo.
 bool bTeamGame
           Assigned by GameInfo.


Function Summary
 
simulated
Debug(Canvas canvas, int mode)
 
simulated
PostBeginPlay()
 
simulated
Timer()



Source Code


00001	//=============================================================================
00002	// GameReplicationInfo.
00003	//=============================================================================
00004	class GameReplicationInfo extends ReplicationInfo
00005		native;
00006	//	nativereplication;
00007	
00008	var string GameName;						// Assigned by GameInfo.
00009	var string GameClass;						// Assigned by GameInfo.
00010	var bool bTeamGame;							// Assigned by GameInfo.
00011	var bool bClassicDeathMessages;
00012	var bool bStopCountDown;
00013	var int  RemainingTime, ElapsedTime, RemainingMinute;
00014	var float SecondCount;
00015	
00016	var int NumPlayers;
00017	var int SumFrags;
00018	var float UpdateTimer;
00019	
00020	var() globalconfig string ServerName;		// Name of the server, i.e.: Bob's Server.
00021	var() globalconfig string ShortName;		// Abbreviated name of server, i.e.: B's Serv (stupid example)
00022	var() globalconfig string AdminName;		// Name of the server admin.
00023	var() globalconfig string AdminEmail;		// Email address of the server admin.
00024	var() globalconfig int    ServerRegion;		// Region of the game server.(name changed, region collided with actor::region)
00025	
00026	
00027	var() globalconfig string MOTDLine1;		// Message
00028	var() globalconfig string MOTDLine2;		// Of
00029	var() globalconfig string MOTDLine3;		// The
00030	var() globalconfig string MOTDLine4;		// Day
00031	
00032	var string GameEndedComments;				// set by gameinfo when game ends
00033	
00034	var PlayerReplicationInfo PRIArray[32];
00035	
00036	replication
00037	{
00038		reliable if ( Role == ROLE_Authority )
00039			GameName, GameClass, bTeamGame, ServerName, ShortName, AdminName,
00040			AdminEmail, ServerRegion, MOTDLine1, MOTDLine2, 
00041			MOTDLine3, MOTDLine4, RemainingMinute, bStopCountDown, GameEndedComments,
00042			NumPlayers;
00043	
00044		reliable if ( bNetInitial && (Role==ROLE_Authority) )
00045			RemainingTime, ElapsedTime;
00046	}
00047	
00048	simulated function PostBeginPlay()
00049	{
00050		if( Level.NetMode == NM_Client )
00051		{
00052			// clear variables so we don't display our own values if the server has them left blank 
00053			ServerName = "";
00054			AdminName = "";
00055			AdminEmail = "";
00056			MOTDLine1 = "";
00057			MOTDLine2 = "";
00058			MOTDLine3 = "";
00059			MOTDLine4 = "";
00060		}
00061	
00062		SecondCount = Level.TimeSeconds;
00063		SetTimer(0.2, true);
00064	}
00065	
00066	simulated function Timer()
00067	{
00068		local PlayerReplicationInfo PRI;
00069		local int i, FragAcc;
00070	
00071		if ( Level.NetMode == NM_Client )
00072		{
00073			if (Level.TimeSeconds - SecondCount >= Level.TimeDilation)
00074			{
00075				ElapsedTime++;
00076				if ( RemainingMinute != 0 )
00077				{
00078					RemainingTime = RemainingMinute;
00079					RemainingMinute = 0;
00080				}
00081				if ( (RemainingTime > 0) && !bStopCountDown )
00082					RemainingTime--;
00083				SecondCount += Level.TimeDilation;
00084			}
00085		}
00086	
00087		for (i=0; i<32; i++)
00088			PRIArray[i] = None;
00089		i=0;
00090		foreach AllActors(class'PlayerReplicationInfo', PRI)
00091		{
00092			if (i<32)
00093				PRIArray[i++] = PRI;
00094		}
00095	
00096		// Update various information.
00097		UpdateTimer = 0;
00098		for (i=0; i<32; i++)
00099			if (PRIArray[i] != None)
00100				FragAcc += PRIArray[i].Score;
00101		SumFrags = FragAcc;
00102	
00103		if ( Level.Game != None )
00104			NumPlayers = Level.Game.NumPlayers;
00105	}
00106	
00107	simulated function Debug(Canvas canvas, int mode)
00108	{	
00109		Super.Debug(canvas, mode);
00110	
00111		Canvas.DrawText("GameReplicationInfo:");
00112		Canvas.CurY -= 8;
00113		Canvas.DrawText("GameName:  " $ GameName);
00114		Canvas.CurY -= 8;
00115		Canvas.DrawText("GameClass: " $ GameClass);
00116		Canvas.CurY -= 8;
00117		Canvas.DrawText("bTeamGame: " $ bTeamGame);
00118		Canvas.CurY -= 8;
00119		Canvas.DrawText("bClassicDeathMsgs: " $ bClassicDeathMessages);
00120		Canvas.CurY -= 8;
00121		Canvas.DrawText("bStopCountDown:    " $ bStopCountDown);
00122		Canvas.CurY -= 8;
00123		Canvas.DrawText("RemainingTime:     " $ RemainingTime);
00124		Canvas.CurY -= 8;
00125		Canvas.DrawText("ElapsedTime:       " $ ElapsedTime);
00126		Canvas.CurY -= 8;
00127		Canvas.DrawText("RemainingMinute:   " $ RemainingMinute);
00128		Canvas.CurY -= 8;
00129		Canvas.DrawText("SecondCount:       " $ SecondCount);
00130		Canvas.CurY -= 8;
00131		Canvas.DrawText("NumPlayers:        " $ NumPlayers);
00132		Canvas.CurY -= 8;
00133		Canvas.DrawText("SumFrags:          " $ SumFrags);
00134		Canvas.CurY -= 8;
00135		Canvas.DrawText("UpdateTimer:       " $ UpdateTimer);
00136		Canvas.CurY -= 8;
00137		Canvas.DrawText("ServerName:        " $ ServerName);
00138		Canvas.CurY -= 8;
00139		Canvas.DrawText("ShortName:         " $ ShortName);
00140		Canvas.CurY -= 8;
00141		Canvas.DrawText("AdminName:         " $ AdminName);
00142		Canvas.CurY -= 8;
00143		Canvas.DrawText("AdminEmail:        " $ AdminEmail);
00144		Canvas.CurY -= 8;
00145		Canvas.DrawText("ServerRegion:      " $ ServerRegion);
00146		Canvas.CurY -= 8;
00147		Canvas.DrawText("MOTDLine1:         " $ MOTDLine1);
00148		Canvas.CurY -= 8;
00149		Canvas.DrawText("MOTDLine2:         " $ MOTDLine2);
00150		Canvas.CurY -= 8;
00151		Canvas.DrawText("MOTDLine3:         " $ MOTDLine3);
00152		Canvas.CurY -= 8;
00153		Canvas.DrawText("MOTDLine4:         " $ MOTDLine4);
00154		Canvas.CurY -= 8;
00155		Canvas.DrawText("GameEndedComments: " $ GameEndedComments);
00156		Canvas.CurY -= 8;
00157	}
00158	
00159	defaultproperties
00160	{
00161	     bStopCountDown=True
00162	     ServerName="Dot Cafe's House of Pain"
00163	     ShortName="Rune Server"
00164	     RemoteRole=ROLE_SimulatedProxy
00165	     NetUpdateFrequency=4.000000
00166	}

End Source Code