Survivalcraft API 1.8.2.3
v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
SubsystemAmbientSounds.cs
浏览该文件的文档.
1
using
Engine
;
2
using
Engine.Audio
;
3
using
GameEntitySystem
;
4
using
TemplatesDatabase
;
5
6
namespace
Game
{
7
public
class
SubsystemAmbientSounds
:
Subsystem
,
IUpdateable
{
8
public
Sound
m_fireSound
;
9
10
public
Sound
m_waterSound
;
11
12
public
Sound
m_magmaSound
;
13
14
public
Random
m_random
=
new
();
15
16
public
SubsystemAudio
SubsystemAudio
{
get
;
set
; }
17
18
public
float
FireSoundVolume
{
get
;
set
; }
19
20
public
float
WaterSoundVolume
{
get
;
set
; }
21
22
public
float
MagmaSoundVolume
{
get
;
set
; }
23
24
public
UpdateOrder
UpdateOrder
=>
UpdateOrder
.Default;
25
26
public
virtual
void
Update
(
float
dt) {
27
m_fireSound.Volume =
MathUtils
.
Lerp
(
28
m_fireSound
.Volume,
29
SettingsManager
.
SoundsVolume
*
FireSoundVolume
,
30
MathUtils
.
Saturate
(3f *
Time
.
FrameDuration
)
31
);
32
if
(
m_fireSound
.Volume > 0.5f *
AudioManager
.
MinAudibleVolume
) {
33
m_fireSound
.Play();
34
}
35
else
{
36
m_fireSound
.Pause();
37
}
38
m_waterSound.Volume =
MathUtils
.
Lerp
(
39
m_waterSound
.Volume,
40
SettingsManager
.
SoundsVolume
*
WaterSoundVolume
,
41
MathUtils
.
Saturate
(3f *
Time
.
FrameDuration
)
42
);
43
if
(
m_waterSound
.Volume > 0.5f *
AudioManager
.
MinAudibleVolume
) {
44
m_waterSound
.Play();
45
}
46
else
{
47
m_waterSound
.Pause();
48
}
49
m_magmaSound.Volume =
MathUtils
.
Lerp
(
50
m_magmaSound
.Volume,
51
SettingsManager
.
SoundsVolume
*
MagmaSoundVolume
,
52
MathUtils
.
Saturate
(3f *
Time
.
FrameDuration
)
53
);
54
if
(
m_magmaSound
.Volume > 0.5f *
AudioManager
.
MinAudibleVolume
) {
55
m_magmaSound
.Play();
56
}
57
else
{
58
m_magmaSound
.Pause();
59
}
60
if
(
m_magmaSound
.State ==
SoundState
.Playing
61
&&
m_random
.Bool(0.2f * dt)) {
62
SubsystemAudio
.PlayRandomSound(
"Audio/Sizzles"
,
m_magmaSound
.Volume,
m_random
.Float(-0.2f, 0.2f), 0f, 0f);
63
}
64
FireSoundVolume
= 0f;
65
WaterSoundVolume
= 0f;
66
MagmaSoundVolume
= 0f;
67
}
68
69
public
override
void
Load
(
ValuesDictionary
valuesDictionary) {
70
SubsystemAudio
=
Project
.FindSubsystem<
SubsystemAudio
>(
true
);
71
m_fireSound
=
SubsystemAudio
.CreateSound(
"Audio/Fire"
);
72
m_fireSound.IsLooped =
true
;
73
m_fireSound.Volume = 0f;
74
m_waterSound
=
SubsystemAudio
.CreateSound(
"Audio/Water"
);
75
m_waterSound.IsLooped =
true
;
76
m_waterSound.Volume = 0f;
77
m_magmaSound
=
SubsystemAudio
.CreateSound(
"Audio/Magma"
);
78
m_magmaSound.IsLooped =
true
;
79
m_magmaSound.Volume = 0f;
80
}
81
}
82
}
Engine.Audio.Sound
定义
Sound.cs:11
Engine.MathUtils
定义
MathUtils.cs:2
Engine.MathUtils.Saturate
static float Saturate(float x)
定义
MathUtils.cs:163
Engine.MathUtils.Lerp
static float Lerp(float x1, float x2, float f)
定义
MathUtils.cs:213
Engine.Time
定义
Time.cs:4
Engine.Time.FrameDuration
static float FrameDuration
定义
Time.cs:46
Game.AudioManager
定义
AudioManager.cs:5
Game.AudioManager.MinAudibleVolume
static float MinAudibleVolume
定义
AudioManager.cs:6
Game.Random
定义
Random.cs:5
Game.SettingsManager
定义
SettingsManager.cs:11
Game.SettingsManager.SoundsVolume
static float SoundsVolume
定义
SettingsManager.cs:37
Game.SubsystemAmbientSounds
定义
SubsystemAmbientSounds.cs:7
Game.SubsystemAmbientSounds.m_random
Random m_random
定义
SubsystemAmbientSounds.cs:14
Game.SubsystemAmbientSounds.Load
override void Load(ValuesDictionary valuesDictionary)
定义
SubsystemAmbientSounds.cs:69
Game.SubsystemAmbientSounds.UpdateOrder
UpdateOrder UpdateOrder
定义
SubsystemAmbientSounds.cs:24
Game.SubsystemAmbientSounds.FireSoundVolume
float FireSoundVolume
定义
SubsystemAmbientSounds.cs:18
Game.SubsystemAmbientSounds.MagmaSoundVolume
float MagmaSoundVolume
定义
SubsystemAmbientSounds.cs:22
Game.SubsystemAmbientSounds.m_magmaSound
Sound m_magmaSound
定义
SubsystemAmbientSounds.cs:12
Game.SubsystemAmbientSounds.Update
virtual void Update(float dt)
定义
SubsystemAmbientSounds.cs:26
Game.SubsystemAmbientSounds.SubsystemAudio
SubsystemAudio SubsystemAudio
定义
SubsystemAmbientSounds.cs:16
Game.SubsystemAmbientSounds.WaterSoundVolume
float WaterSoundVolume
定义
SubsystemAmbientSounds.cs:20
Game.SubsystemAmbientSounds.m_fireSound
Sound m_fireSound
定义
SubsystemAmbientSounds.cs:8
Game.SubsystemAmbientSounds.m_waterSound
Sound m_waterSound
定义
SubsystemAmbientSounds.cs:10
GameEntitySystem.Subsystem
定义
Subsystem.cs:5
GameEntitySystem.Subsystem.ValuesDictionary
ValuesDictionary ValuesDictionary
定义
Subsystem.cs:12
GameEntitySystem.Subsystem.Project
Project Project
定义
Subsystem.cs:10
Game.IUpdateable
定义
IUpdateable.cs:2
Engine.Audio
定义
BaseSound.cs:10
Engine.Audio.SoundState
SoundState
定义
SoundState.cs:2
Engine
定义
BaseSound.cs:10
GameEntitySystem
定义
Component.cs:6
Game
定义
ContentFileBridge.cs:4
TemplatesDatabase
定义
Database.cs:6
SurvivalcraftApi 1.8.2.3
Survivalcraft.Windows
Subsystem
SubsystemAmbientSounds.cs
制作者
1.16.1