mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-12-07 10:38:23 +00:00
Add IGameEventSystem.
This commit is contained in:
parent
2e859c5e04
commit
2ae117ccca
@ -88,9 +88,6 @@ namespace google
|
||||
typedef uint32 SpawnGroupHandle_t;
|
||||
typedef uint32 SwapChainHandle_t;
|
||||
|
||||
// This is really an enum included in a proto-generated header. Not sure if we want to include that here.
|
||||
typedef int ENetworkDisconnectionReason;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// defines
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -140,6 +137,21 @@ struct CEntityIndex
|
||||
int _index;
|
||||
};
|
||||
|
||||
struct CSplitScreenSlot
|
||||
{
|
||||
CSplitScreenSlot( int index )
|
||||
{
|
||||
_index = index;
|
||||
}
|
||||
|
||||
int Get() const
|
||||
{
|
||||
return _index;
|
||||
}
|
||||
|
||||
int _index;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Interface the engine exposes to the game DLL and client DLL
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -562,8 +574,8 @@ public:
|
||||
virtual void ClientFullyConnect( CEntityIndex index, CPlayerSlot slot ) = 0;
|
||||
|
||||
// Client is disconnecting from server
|
||||
virtual void ClientDisconnect( CEntityIndex index, int userId, ENetworkDisconnectionReason reason, const char *pszName,
|
||||
uint64 xuid, const char *pszNetworkID ) = 0;
|
||||
virtual void ClientDisconnect( CEntityIndex index, int userId, /* ENetworkDisconnectionReason */ int reason,
|
||||
const char *pszName, uint64 xuid, const char *pszNetworkID ) = 0;
|
||||
|
||||
// Sets the client index for the client who typed the command into his/her console
|
||||
virtual void SetCommandClient( CPlayerSlot slot) = 0;
|
||||
|
||||
60
public/engine/igameeventsystem.h
Normal file
60
public/engine/igameeventsystem.h
Normal file
@ -0,0 +1,60 @@
|
||||
#ifndef GAMEEVENTSYSTEM_H
|
||||
#define GAMEEVENTSYSTEM_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <eiface.h>
|
||||
|
||||
#include <tier1/utldelegate.h>
|
||||
|
||||
class IRecipientFilter;
|
||||
class CUtlSlot;
|
||||
|
||||
namespace google {
|
||||
namespace protobuf {
|
||||
class Message;
|
||||
}
|
||||
}
|
||||
|
||||
enum NetChannelBufType_t
|
||||
{
|
||||
};
|
||||
|
||||
struct GameEventHandle_t__
|
||||
{
|
||||
void *m_pUnknown;
|
||||
const char* m_szMessageType;
|
||||
int m_iUnknown2;
|
||||
void *m_pUnknown3;
|
||||
void *m_pUnknown4;
|
||||
void *m_pUnknown5;
|
||||
unsigned short m_MessageID;
|
||||
};
|
||||
|
||||
#define GAMEEVENTSYSTEM_INTERFACE_VERSION "GameEventSystemServerV001"
|
||||
|
||||
abstract_class IGameEventSystem : public IAppSystem
|
||||
{
|
||||
public:
|
||||
virtual void RegisterGameEvent( GameEventHandle_t__ *pEvent ) = 0;
|
||||
virtual void RegisterGameEventHandlerAbstract( CUtlSlot *slot, const CUtlAbstractDelegate &delegate,
|
||||
GameEventHandle_t__ *pEvent, int ) = 0;
|
||||
virtual void UnregisterGameEventHandlerAbstract( CUtlSlot *slot, const CUtlAbstractDelegate &delegate,
|
||||
GameEventHandle_t__ *pEvent ) = 0;
|
||||
virtual void PostEventAbstract_Local( CSplitScreenSlot slot, GameEventHandle_t__ *, const void *pData,
|
||||
unsigned long nSize ) = 0;
|
||||
virtual void PostEventAbstract( CSplitScreenSlot slot, bool bLocalOnly, int nClientCount, const unsigned char *clients,
|
||||
GameEventHandle_t__ *pEvent, const void *pData, unsigned long nSize, NetChannelBufType_t bufType ) = 0;
|
||||
virtual void PostEventAbstract( CSplitScreenSlot slot, bool bLocalOnly, IRecipientFilter *pFilter,
|
||||
GameEventHandle_t__ *pEvent, const void *pData, unsigned long nSize ) = 0;
|
||||
virtual void PostEntityEventAbstract( const CBaseHandle &hndl, GameEventHandle_t__ *pEvent, const void *pData,
|
||||
unsigned long nSize, NetChannelBufType_t bufType ) = 0;
|
||||
virtual void ProcessQueuedEvents( void ) = 0;
|
||||
virtual int GetEventSource( void ) const = 0;
|
||||
virtual void PurgeQueuedEvents( void ) = 0;
|
||||
};
|
||||
|
||||
|
||||
#endif // GAMEEVENTSYSTEM_H
|
||||
Loading…
Reference in New Issue
Block a user