Counter Strike : Global Offensive Source Code
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.

44 lines
1.1 KiB

  1. //===== Copyright � 1996-2005, Valve Corporation, All rights reserved. ======//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //===========================================================================//
  7. #ifndef ICLIENTUNKNOWN_H
  8. #define ICLIENTUNKNOWN_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "tier0/platform.h"
  13. #include "ihandleentity.h"
  14. class IClientNetworkable;
  15. class C_BaseEntity;
  16. class IClientRenderable;
  17. class ICollideable;
  18. class IClientEntity;
  19. class IClientThinkable;
  20. class IClientModelRenderable;
  21. class IClientAlphaProperty;
  22. // This is the client's version of IUnknown. We may want to use a QueryInterface-like
  23. // mechanism if this gets big.
  24. abstract_class IClientUnknown : public IHandleEntity
  25. {
  26. public:
  27. virtual ICollideable* GetCollideable() = 0;
  28. virtual IClientNetworkable* GetClientNetworkable() = 0;
  29. virtual IClientRenderable* GetClientRenderable() = 0;
  30. virtual IClientEntity* GetIClientEntity() = 0;
  31. virtual C_BaseEntity* GetBaseEntity() = 0;
  32. virtual IClientThinkable* GetClientThinkable() = 0;
  33. virtual IClientAlphaProperty* GetClientAlphaProperty() = 0;
  34. };
  35. #endif // ICLIENTUNKNOWN_H