diff options
Diffstat (limited to 'public/iclientunknown.h')
| -rw-r--r-- | public/iclientunknown.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/public/iclientunknown.h b/public/iclientunknown.h new file mode 100644 index 0000000..ac7e1e8 --- /dev/null +++ b/public/iclientunknown.h @@ -0,0 +1,41 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//===========================================================================// + +#ifndef ICLIENTUNKNOWN_H +#define ICLIENTUNKNOWN_H +#ifdef _WIN32 +#pragma once +#endif + + +#include "tier0/platform.h" +#include "ihandleentity.h" + +class IClientNetworkable; +class C_BaseEntity; +class IClientRenderable; +class ICollideable; +class IClientEntity; +class IClientThinkable; + + + +// This is the client's version of IUnknown. We may want to use a QueryInterface-like +// mechanism if this gets big. +abstract_class IClientUnknown : public IHandleEntity +{ +public: + virtual ICollideable* GetCollideable() = 0; + virtual IClientNetworkable* GetClientNetworkable() = 0; + virtual IClientRenderable* GetClientRenderable() = 0; + virtual IClientEntity* GetIClientEntity() = 0; + virtual C_BaseEntity* GetBaseEntity() = 0; + virtual IClientThinkable* GetClientThinkable() = 0; +}; + + +#endif // ICLIENTUNKNOWN_H |