📄 netinfo.h
字号:
/****************************************************************************
;
; MODULE: NetInfo (.H)
;
; PURPOSE: Network game info
;
; HISTORY: 07/05/98 [blg] This file was created
;
; COMMENT: Copyright (c) 1998, Monolith Productions Inc.
;
****************************************************************************/
#ifndef _NETINFO_H_
#define _NETINFO_H_
// Includes...
#include "cpp_client_de.h"
#include "..\Shared\NetDefs.h"
// Classes...
class CNinfoPlayer
{
// Member functions...
public:
CNinfoPlayer() { Clear(); }
~CNinfoPlayer() { Term(); }
BOOL Init(char* sName, int nFrags);
void Term() { Clear(); }
void Clear();
char* GetName() { return(m_sName); }
int GetFrags() { return(m_nFrags); }
// Member variables...
private:
char m_sName[NML_NAME];
int m_nFrags;
};
class CNinfoGame
{
// Member functions...
public:
CNinfoGame() { Clear(); }
~CNinfoGame() { Term(); }
BOOL Init(CClientDE* pClientDE, char* sName, char* sHost, char* sLevel, int nType, NetSession* pNetSession, DWORD dwNumDPlayPlayers, char *pHostIP, DWORD hostPort);
void Term();
void Clear();
BOOL IsValid() { return(!!m_pNetSession); }
char* GetName() { return(m_sName); }
char* GetNameWithPing();
char* GetHost() { return(m_sHost); }
char* GetHostIP() { return m_sHostIP; }
DWORD GetHostPort() { return m_dwHostPort; }
char* GetLevel() { return(m_sLevel); }
int GetType() { return(m_nType); }
char* GetTypeString() { return(m_sType); }
int GetNumPlayers() { return(m_cPlayers); }
int GetNumDPlayPlayers() { return(m_cDPlayPlayers); }
int GetPing() { return(m_nPing); }
NetSession* GetSessionPointer() { return(m_pNetSession); }
DWORD GetCRC() { return(m_dwCRC); }
CNinfoPlayer* AddPlayer(char* sName, int nFrags);
CNinfoPlayer* GetFirstPlayer();
CNinfoPlayer* GetNextPlayer();
void RemovePlayers();
private:
BOOL AddPlayer(CNinfoPlayer* pPlayer);
// Member variables...
private:
char m_sHostIP[MAX_HOSTIP_LEN];
DWORD m_dwHostPort;
char m_sName[NML_NAME];
char m_sHost[NML_HOST];
char m_sLevel[NML_LEVEL];
char m_sType[32];
int m_nType;
int m_cPlayers;
int m_cDPlayPlayers;
int m_iPlayer;
int m_nPing;
DWORD m_dwCRC;
CNinfoPlayer* m_aPlayers[NML_PLAYERS];
NetSession* m_pNetSession;
CClientDE* m_pClientDE;
};
class CNinfoMgr
{
// Member functions...
public:
CNinfoMgr() { Clear(); }
~CNinfoMgr() { Term(); }
BOOL Init(CClientDE* pClientDE);
void Term();
void Clear();
CNinfoGame* GetGame(NetSession* pNetSession);
CNinfoGame* GetGame(DWORD dwCRC);
int GetNumGames() { return(m_cGames); }
CNinfoGame* AddGame(const char* sInfo, NetSession* pNetSession, DWORD dwNumDPlayPlayers);
CNinfoGame* GetFirstGame();
CNinfoGame* GetNextGame();
void RemoveGames();
private:
BOOL AddGame(CNinfoGame* pGame);
public:
static BOOL CreateSessionString(char* sString, char* sName, char* sHost, char* sLevel, int nType);
// Member variables...
private:
CClientDE* m_pClientDE;
CNinfoGame* m_aGames[NML_GAMES];
int m_cGames;
int m_iGame;
};
// Inlines...
inline void CNinfoPlayer::Clear()
{
m_sName[0] = '\0';
m_nFrags = 0;
}
inline void CNinfoGame::Clear()
{
m_sName[0] = '\0';
m_sHost[0] = '\0';
m_sLevel[0] = '\0';
m_sType[0] = '\0';
m_sHostIP[0] = 0;
m_dwHostPort = 0;
m_cPlayers = 0;
m_iPlayer = 0;
m_nType = 0;
m_nPing = 0;
m_dwCRC = 0;
m_pNetSession = NULL;
m_pClientDE = NULL;
}
inline void CNinfoMgr::Clear()
{
m_pClientDE = NULL;
m_cGames = 0;
m_iGame = 0;
}
// EOF...
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -