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.

41 lines
1.0 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef ICLIENTTHINKABLE_H
  8. #define ICLIENTTHINKABLE_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "iclientunknown.h"
  13. class CClientThinkHandlePtr;
  14. typedef CClientThinkHandlePtr* ClientThinkHandle_t;
  15. // Entities that implement this interface can be put into the client think list.
  16. abstract_class IClientThinkable
  17. {
  18. public:
  19. // Gets at the containing class...
  20. virtual IClientUnknown* GetIClientUnknown() = 0;
  21. virtual void ClientThink() = 0;
  22. // Called when you're added to the think list.
  23. // GetThinkHandle's return value must be initialized to INVALID_THINK_HANDLE.
  24. virtual ClientThinkHandle_t GetThinkHandle() = 0;
  25. virtual void SetThinkHandle( ClientThinkHandle_t hThink ) = 0;
  26. // Called by the client when it deletes the entity.
  27. virtual void Release() = 0;
  28. };
  29. #endif // ICLIENTTHINKABLE_H