Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ParticlePool.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
3
namespace
Terraria.Graphics.Renderers
;
4
5
public
class
ParticlePool
<T>
where
T :
IPooledParticle
6
{
7
public
delegate
T
ParticleInstantiator
();
8
9
private
ParticleInstantiator
_instantiator
;
10
11
private
List<T>
_particles
;
12
13
public
int
CountParticlesInUse
()
14
{
15
int
num = 0;
16
for
(
int
i = 0; i < num; i++)
17
{
18
if
(!
_particles
[i].IsRestingInPool)
19
{
20
num++;
21
}
22
}
23
return
num;
24
}
25
26
public
ParticlePool
(
int
initialPoolSize
, ParticleInstantiator
instantiator
)
27
{
28
_particles
=
new
List<T>
(
initialPoolSize
);
29
_instantiator
=
instantiator
;
30
}
31
32
public
T
RequestParticle
()
33
{
34
int
count =
_particles
.Count;
35
for
(
int
i = 0; i < count; i++)
36
{
37
if
(
_particles
[i].IsRestingInPool)
38
{
39
_particles
[i].FetchFromPool();
40
return
_particles
[i];
41
}
42
}
43
T val =
_instantiator
();
44
_particles
.Add(val);
45
val.FetchFromPool();
46
return
val;
47
}
48
}
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
Terraria.Graphics.Renderers.ParticlePool.RequestParticle
T RequestParticle()
Definition
ParticlePool.cs:32
Terraria.Graphics.Renderers.ParticlePool._particles
List< T > _particles
Definition
ParticlePool.cs:11
Terraria.Graphics.Renderers.ParticlePool.ParticlePool
ParticlePool(int initialPoolSize, ParticleInstantiator instantiator)
Definition
ParticlePool.cs:26
Terraria.Graphics.Renderers.ParticlePool._instantiator
ParticleInstantiator _instantiator
Definition
ParticlePool.cs:9
Terraria.Graphics.Renderers.ParticlePool.CountParticlesInUse
int CountParticlesInUse()
Definition
ParticlePool.cs:13
Terraria.Graphics.Renderers.ParticlePool.ParticleInstantiator
delegate T ParticleInstantiator()
Terraria.Graphics.Renderers.ParticlePool
Definition
ParticlePool.cs:6
Terraria.Graphics.Renderers.IPooledParticle
Definition
IPooledParticle.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
Terraria.Graphics.Renderers
Definition
ABasicParticle.cs:5
source
Terraria.Graphics.Renderers
ParticlePool.cs
Generated by
1.10.0