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.

31 lines
776 B

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef ICLASSMAP_H
  8. #define ICLASSMAP_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. class C_BaseEntity;
  13. typedef C_BaseEntity* (*DISPATCHFUNCTION)( void );
  14. abstract_class IClassMap
  15. {
  16. public:
  17. virtual ~IClassMap() {}
  18. virtual void Add( const char *mapname, const char *classname, int size, DISPATCHFUNCTION factory = 0 ) = 0;
  19. virtual char const *Lookup( const char *classname ) = 0;
  20. virtual C_BaseEntity *CreateEntity( const char *mapname ) = 0;
  21. virtual int GetClassSize( const char *classname ) = 0;
  22. };
  23. extern IClassMap& GetClassMap();
  24. #endif // ICLASSMAP_H