networking
This commit is contained in:
71
public/networking.h
Normal file
71
public/networking.h
Normal file
@@ -0,0 +1,71 @@
|
||||
#ifndef NET_H
|
||||
#define NET_H
|
||||
|
||||
#include "steam/steam_api.h"
|
||||
#include "steam/isteamnetworkingsockets.h"
|
||||
#include "tier0/platform.h"
|
||||
#include "tier1/commandline.h"
|
||||
|
||||
abstract_class IIClient;
|
||||
class CBasePlayer;
|
||||
|
||||
enum EPacketType
|
||||
{
|
||||
PACKET_TYPE_CREATE_ENTITTY = 0,
|
||||
PACKET_TYPE_DESTROY_ENTITTY = 1,
|
||||
PACKET_TYPE_ENTITY_UPDATE = 2,
|
||||
|
||||
// Player can only send this
|
||||
PACKET_TYPE_PLAYER_MOVEMENT = 3,
|
||||
|
||||
PACKET_TYPE_PLAYER_JOIN = 4,
|
||||
PACKET_TYPE_PLAYER_LEAVE = 5,
|
||||
|
||||
PACKET_TYPE_GAMEMODE_START = 6,
|
||||
PACKET_TYPE_GAMEMODE_END = 7,
|
||||
};
|
||||
|
||||
struct Packet_t
|
||||
{
|
||||
uint32_t type;
|
||||
};
|
||||
struct PacketPlayer_t: public Packet_t
|
||||
{
|
||||
uint64_t playerID;
|
||||
uint32_t playerHandle;
|
||||
};
|
||||
struct PacketGameMode_t: public Packet_t
|
||||
{
|
||||
char szName[256];
|
||||
};
|
||||
|
||||
enum EMessageMode
|
||||
{
|
||||
MESSAGE_MODE_UNRELIABLE,
|
||||
MESSAGE_MODE_RELIABLE,
|
||||
};
|
||||
|
||||
|
||||
interface INetworking
|
||||
{
|
||||
public:
|
||||
static void Init();
|
||||
static void Deinit();
|
||||
static void Frame();
|
||||
static void SendData( void *pData, uint32_t nSize, IIClient *pClient, EMessageMode messageMode );
|
||||
static void SendDataEverybody( void *pData, uint32_t nSize, EMessageMode messageMode );
|
||||
static void SendDataEverybodyExcept( void *pData, uint32_t nSize, IIClient *pClient, EMessageMode messageMode );
|
||||
static void SendDataEverybodyExcept( void *pData, uint32_t nSize, CBasePlayer *pClient, EMessageMode messageMode );
|
||||
static void ProcessPacket( void *pData, uint32_t nSize, IIClient *pClient );
|
||||
|
||||
static void CreateServer();
|
||||
static void GetServerInfo();
|
||||
static void JoinServer( const char *szIP );
|
||||
static void ClientConnectedCallback( SteamNetConnectionStatusChangedCallback_t *pCallback );
|
||||
|
||||
static bool IsServer();
|
||||
static bool IsClient();
|
||||
static bool IsConnected();
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user