46 lines
1.2 KiB
C++
46 lines
1.2 KiB
C++
//===== Copyright © 1996-2005, 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;
|
|
class IClientModelRenderable;
|
|
class IClientAlphaProperty;
|
|
|
|
|
|
|
|
// 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;
|
|
virtual IClientModelRenderable* GetClientModelRenderable() = 0;
|
|
virtual IClientAlphaProperty* GetClientAlphaProperty() = 0;
|
|
};
|
|
|
|
|
|
#endif // ICLIENTUNKNOWN_H
|