Team Fortress 2 Source Code as on 22/4/2020
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

  1. //========= Copyright 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. // This is the client's version of IUnknown. We may want to use a QueryInterface-like
  21. // mechanism if this gets big.
  22. abstract_class IClientUnknown : public IHandleEntity
  23. {
  24. public:
  25. virtual ICollideable* GetCollideable() = 0;
  26. virtual IClientNetworkable* GetClientNetworkable() = 0;
  27. virtual IClientRenderable* GetClientRenderable() = 0;
  28. virtual IClientEntity* GetIClientEntity() = 0;
  29. virtual C_BaseEntity* GetBaseEntity() = 0;
  30. virtual IClientThinkable* GetClientThinkable() = 0;
  31. };
  32. #endif // ICLIENTUNKNOWN_H