8class MemoryManagerBase {
10 MemoryManagerBase() {}
11 virtual ~MemoryManagerBase() {}
13 virtual void GarbageCollection() = 0;
15 virtual Effect* AllocEffect() = 0;
16 virtual void FreeEffect(
void* pObject) = 0;
17 virtual ulong GetNumAllocEffect()
const = 0;
18 virtual ulong GetNumActiveEffect()
const = 0;
19 virtual ulong GetNumFreeEffect()
const = 0;
21 virtual Emitter* AllocEmitter() = 0;
22 virtual void FreeEmitter(
void* pObject) = 0;
23 virtual ulong GetNumAllocEmitter()
const = 0;
24 virtual ulong GetNumActiveEmitter()
const = 0;
25 virtual ulong GetNumFreeEmitter()
const = 0;
28 virtual void FreeParticleManager(
void* pObject) = 0;
29 virtual ulong GetNumAllocParticleManager()
const = 0;
30 virtual ulong GetNumActiveParticleManager()
const = 0;
31 virtual ulong GetNumFreeParticleManager()
const = 0;
33 virtual Particle* AllocParticle() = 0;
34 virtual void FreeParticle(
void* pObject) = 0;
35 virtual ulong GetNumAllocParticle()
const = 0;
36 virtual ulong GetNumActiveParticle()
const = 0;
37 virtual ulong GetNumFreeParticle()
const = 0;
39 virtual void* AllocHeap(ulong size) = 0;