summaryrefslogtreecommitdiff
path: root/public/iclientunknown.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/iclientunknown.h')
-rw-r--r--public/iclientunknown.h41
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