int main(int argc, char **argv) { CEntityPool EntityPool(-1); // Create an entity pool for 900 entities (default limit for GoldSrc) IEntity *pEntity = EntityPool.AllocEntity(); pEntity->SetName("Test1"); ISoundComponent *pSoundComponent = pEntity->GetComponent("SoundComponent"); pSoundComponent->PlaySound("test_sound.wav"); pEntity = EntityPool.AllocEntity("Test2"); pEntity = EntityPool.GetByName("Test1"); // [!] Warning: potential name collisions pEntity->Free(); // EntityPool gets destroyed here and free all allocated entities return 0; };