You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
993 B
41 lines
993 B
//========= 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
|
|
|