mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-17 14:07:48 +00:00
1
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef TEST_STRESSENTITIES_H
|
||||
#define TEST_STRESSENTITIES_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
class CBaseEntity;
|
||||
|
||||
|
||||
typedef CBaseEntity* (*StressEntityFn)(); // Function to create an entity for the stress test.
|
||||
|
||||
|
||||
// Each game DLL can instantiate these to register types of entities it can create
|
||||
// for the entity stress test.
|
||||
class CStressEntityReg
|
||||
{
|
||||
public:
|
||||
|
||||
CStressEntityReg( StressEntityFn fn )
|
||||
{
|
||||
m_pFn = fn;
|
||||
m_pNext = s_pHead;
|
||||
s_pHead = this;
|
||||
}
|
||||
|
||||
static CStressEntityReg*GetListHead() { return s_pHead; }
|
||||
CStressEntityReg* GetNext() { return m_pNext; }
|
||||
StressEntityFn GetFn() { return m_pFn; }
|
||||
|
||||
|
||||
private:
|
||||
static CStressEntityReg *s_pHead; // List of all CStressEntityReg's.
|
||||
CStressEntityReg *m_pNext;
|
||||
StressEntityFn m_pFn;
|
||||
};
|
||||
|
||||
|
||||
// Use this macro to register a function to create stresstest entities.
|
||||
#define REGISTER_STRESS_ENTITY( fnName ) static CStressEntityReg s_##fnName##__( fnName );
|
||||
|
||||
|
||||
// Helper function for the functions that create the stress entities.
|
||||
// Moves the entity to a random place in the level and returns the entity.
|
||||
CBaseEntity* MoveToRandomSpot( CBaseEntity *pEnt );
|
||||
Vector GetRandomSpot();
|
||||
|
||||
|
||||
#endif // TEST_STRESSENTITIES_H
|
||||
Reference in New Issue
Block a user