48 lines
1.1 KiB
C
48 lines
1.1 KiB
C
|
//----------------------------------------------------------------
|
||
|
// Instance.h
|
||
|
//
|
||
|
// Copyright 2002-2005 Raven Software
|
||
|
//----------------------------------------------------------------
|
||
|
|
||
|
#ifndef __INSTANCE_H__
|
||
|
#define __INSTANCE_H__
|
||
|
|
||
|
#include "Game_local.h"
|
||
|
|
||
|
class rvInstance {
|
||
|
public:
|
||
|
rvInstance( int id, bool deferPopulate = false );
|
||
|
~rvInstance();
|
||
|
|
||
|
void Populate( int serverChecksum = 0 );
|
||
|
void PopulateFromMessage( const idBitMsg& msg );
|
||
|
void Restart( void );
|
||
|
|
||
|
void JoinInstance( idPlayer* player );
|
||
|
int GetInstanceID( void );
|
||
|
|
||
|
void SetSpawnInstanceID( int newInstance );
|
||
|
|
||
|
void PrintMapNumbers( void );
|
||
|
int GetNumMapEntities( void ) { return numMapEntities; }
|
||
|
unsigned short GetMapEntityNumber( int i ) { return mapEntityNumbers[ i ]; }
|
||
|
|
||
|
private:
|
||
|
void BuildInstanceMessage( void );
|
||
|
|
||
|
int instanceID;
|
||
|
int spawnInstanceID;
|
||
|
unsigned short* mapEntityNumbers;
|
||
|
int numMapEntities;
|
||
|
int initialSpawnCount;
|
||
|
|
||
|
idBitMsg mapEntityMsg;
|
||
|
byte mapEntityMsgBuf[ MAX_GAME_MESSAGE_SIZE ];
|
||
|
};
|
||
|
|
||
|
ID_INLINE int rvInstance::GetInstanceID( void ) {
|
||
|
return instanceID;
|
||
|
}
|
||
|
|
||
|
#endif
|