Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SnowSplashParticleSystem.cs
浏览该文件的文档.
1
using
Engine
;
2
using
Engine.Graphics
;
3
4
namespace
Game
{
5
public
class
SnowSplashParticleSystem
:
ParticleSystem
<SnowSplashParticleSystem.Particle> {
6
public
class
Particle
:
Game
.
Particle
{
7
public
float
TimeToLive
;
8
9
public
Color
BaseColor
;
10
11
public
float
FadeFactor
;
12
}
13
14
public
Random
m_random
=
new
();
15
16
public
bool
m_isActive
;
17
18
public
SnowSplashParticleSystem
() : base(100) {
19
Texture
=
ContentManager
.
Get
<
Texture2D
>(
"Textures/SnowParticle"
);
20
TextureSlotsCount
= 4;
21
}
22
23
public
void
AddSplash
(
int
value,
Vector3
position,
Vector2
size,
Color
color,
int
textureSlot) {
24
for
(
int
i = 0; i <
Particles
.Length; i++) {
25
Particle
particle =
Particles
[i];
26
if
(!particle.
IsActive
) {
27
Block
block =
BlocksManager
.
Blocks
[
Terrain
.
ExtractContents
(value)];
28
particle.IsActive =
true
;
29
particle.Position = position;
30
particle.BaseColor = color;
31
particle.BillboardingMode =
ParticleBillboardingMode
.Horizontal;
32
particle.Size = size;
33
particle.TextureSlot = textureSlot;
34
if
(block is
WaterBlock
) {
35
((
WaterBlock
)block).GetLevelHeight(
FluidBlock
.
GetLevel
(
Terrain
.
ExtractData
(value)));
36
particle.TimeToLive =
m_random
.Float(0.2f, 0.3f);
37
particle.FadeFactor = 1f;
38
}
39
else
if
(block.
IsCollidable_
(value)
40
|| block is
SnowBlock
) {
41
particle.TimeToLive =
m_random
.Float(0.8f, 1.2f);
42
particle.FadeFactor = 1f;
43
}
44
break
;
45
}
46
}
47
m_isActive
=
true
;
48
}
49
50
public
override
bool
Simulate
(
float
dt) {
51
if
(
m_isActive
) {
52
dt = Math.Clamp(dt, 0f, 0.1f);
53
bool
flag =
false
;
54
for
(
int
i = 0; i <
Particles
.Length; i++) {
55
Particle
particle =
Particles
[i];
56
if
(particle.
IsActive
) {
57
particle.Color = particle.BaseColor *
MathUtils
.
Saturate
(particle.
FadeFactor
* particle.
TimeToLive
);
58
particle.TimeToLive -= dt;
59
if
(particle.
TimeToLive
<= 0f) {
60
particle.IsActive =
false
;
61
}
62
else
{
63
flag =
true
;
64
}
65
}
66
}
67
if
(!flag) {
68
m_isActive
=
false
;
69
}
70
}
71
return
false
;
72
}
73
}
74
}
Engine.Graphics.Texture2D
定义
Texture2D.cs:15
Engine.MathUtils
定义
MathUtils.cs:2
Engine.MathUtils.Saturate
static float Saturate(float x)
定义
MathUtils.cs:163
Game.Block
定义
Block.cs:5
Game.Block.IsCollidable_
virtual bool IsCollidable_(int value)
定义
Block.cs:260
Game.BlocksManager
定义
BlocksManager.cs:10
Game.BlocksManager.Blocks
static Block[] Blocks
定义
BlocksManager.cs:41
Game.ContentManager
定义
ContentManager.cs:50
Game.ContentManager.Get
static object Get(Type type, string name)
定义
ContentManager.cs:70
Game.FluidBlock
定义
FluidBlock.cs:5
Game.FluidBlock.GetLevel
static int GetLevel(int data)
定义
FluidBlock.cs:196
Game.Particle.IsActive
bool IsActive
定义
Particle.cs:5
Game.Particle.Color
Color Color
定义
Particle.cs:17
Game.ParticleSystem-1-g.TextureSlotsCount
int TextureSlotsCount
定义
ParticleSystem.cs:33
Game.ParticleSystem-1-g.Texture
Texture2D Texture
定义
ParticleSystem.cs:22
Game.ParticleSystem-1-g.ParticleSystem
ParticleSystem(int particlesCount)
定义
ParticleSystem.cs:35
Game.ParticleSystem-1-g.Particles
T[] Particles
定义
ParticleSystem.cs:20
Game.Random
定义
Random.cs:5
Game.SnowBlock
定义
SnowBlock.cs:5
Game.SnowSplashParticleSystem.Particle
定义
SnowSplashParticleSystem.cs:6
Game.SnowSplashParticleSystem.Particle.BaseColor
Color BaseColor
定义
SnowSplashParticleSystem.cs:9
Game.SnowSplashParticleSystem.Particle.FadeFactor
float FadeFactor
定义
SnowSplashParticleSystem.cs:11
Game.SnowSplashParticleSystem.Particle.TimeToLive
float TimeToLive
定义
SnowSplashParticleSystem.cs:7
Game.SnowSplashParticleSystem.Simulate
override bool Simulate(float dt)
定义
SnowSplashParticleSystem.cs:50
Game.SnowSplashParticleSystem.SnowSplashParticleSystem
SnowSplashParticleSystem()
定义
SnowSplashParticleSystem.cs:18
Game.SnowSplashParticleSystem.m_isActive
bool m_isActive
定义
SnowSplashParticleSystem.cs:16
Game.SnowSplashParticleSystem.m_random
Random m_random
定义
SnowSplashParticleSystem.cs:14
Game.SnowSplashParticleSystem.AddSplash
void AddSplash(int value, Vector3 position, Vector2 size, Color color, int textureSlot)
定义
SnowSplashParticleSystem.cs:23
Game.Terrain
定义
Terrain.cs:5
Game.Terrain.ExtractContents
static int ExtractContents(int value)
定义
Terrain.cs:303
Game.Terrain.ExtractData
static int ExtractData(int value)
定义
Terrain.cs:307
Game.WaterBlock
定义
WaterBlock.cs:3
Engine.Graphics
定义
BaseBatch.cs:1
Engine
定义
BaseSound.cs:10
Game
定义
ContentFileBridge.cs:4
Game.ParticleBillboardingMode
ParticleBillboardingMode
定义
ParticleBillboardingMode.cs:2
Engine.Color
定义
Color.cs:2
Engine.Vector2
定义
Vector2.cs:2
Engine.Vector3
定义
Vector3.cs:2
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Game
SnowSplashParticleSystem.cs
制作者
1.16.1