123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- class PluginSoundDebug extends PluginBase
- {
- override void OnInit()
- {
- m_TickTimer = new Timer();
- m_TickTimer.Run(0.1, this, "OnGUITimer", NULL, true);
- }
-
- override void OnUpdate(float delta_time)
- {
- ;
- }
-
- override void OnDestroy()
- {
- m_TickTimer = NULL;
- }
-
- void Show()
- {
- m_TickTimer = new Timer();
- m_TickTimer.Run(0.1, this, "OnGUITimer", NULL, true);
- }
-
- void Hide()
- {
- m_TickTimer = NULL;
- }
-
- void OnGUITimer()
- {
- DbgUI.BeginCleanupScope();
- DbgUI.Begin("Sound debug", 10, 10);
-
- DbgUI.PushID_Str("SoundParams");
- DbgUI.Text("SoundParams: ");
- DbgUI.SameLine();
- string soundsetName = "BearGrowl_SoundSet";
- DbgUI.InputText("", soundsetName, 200);
- DbgUI.PopID();
-
- DbgUI.PushID_Str("Offset");
- DbgUI.Text("Offset pos: ");
- vector posOffset = "0 0 0";
- float posVal;
-
- DbgUI.SameLine();
- DbgUI.PushID_Int(1);
- DbgUI.InputFloat("", posVal, 80);
- DbgUI.PopID();
- posOffset[0] = posVal;
-
- DbgUI.SameLine();
- DbgUI.PushID_Int(2);
- DbgUI.InputFloat("", posVal, 80);
- DbgUI.PopID();
- posOffset[1] = posVal;
-
- DbgUI.SameLine();
- DbgUI.PushID_Int(3);
- DbgUI.InputFloat("", posVal, 80);
- DbgUI.PopID();
- posOffset[2] = posVal;
- DbgUI.PopID();
-
- if(DbgUI.Button("Create"))
- {
- m_soundParams = new SoundParams(soundsetName);
- m_soundBuilder = new SoundObjectBuilder(m_soundParams);
- m_soundObject = m_soundBuilder.BuildSoundObject();
- m_soundObject.SetPosition(GetGame().GetPlayer().GetPosition() + posOffset);
- }
-
- DbgUI.Text("SoundObjectBuilder: ");
-
- DbgUI.Text("SoundObject: ");
-
- DbgUI.Text("AbstractWave: ");
-
- vector posOffset2 = "0 10 0";
-
- if(m_soundParams != NULL)
- {
- DbgUI.Text("FadeInFactor: ");
- DbgUI.SameLine();
- DbgUI.PushID_Str("fadeIn");
- DbgUI.InputFloat("", fadeInVolume, 80);
- DbgUI.PopID();
-
- DbgUI.Text("FadeOutFactor: ");
- DbgUI.SameLine();
- DbgUI.PushID_Str("fadeOut");
- DbgUI.InputFloat("", fadeOutVolume, 80);
- DbgUI.PopID();
-
- DbgUI.PushID_Str("Offset2");
- DbgUI.Text("Offset2 pos: ");
- float posVal2;
- DbgUI.SameLine();
- DbgUI.PushID_Int(100);
- posVal2 = posOffset2[0];
- DbgUI.InputFloat("", posVal2, 80);
- DbgUI.PopID();
- posOffset2[0] = posVal2;
- DbgUI.SameLine();
- DbgUI.PushID_Int(101);
- posVal2 = posOffset2[1];
- DbgUI.InputFloat("", posVal2, 80);
- DbgUI.PopID();
- posOffset2[1] = posVal2;
- DbgUI.SameLine();
- DbgUI.PushID_Int(102);
- posVal2 = posOffset2[2];
- DbgUI.InputFloat("", posVal2, 80);
- DbgUI.PopID();
- posOffset2[2] = posVal2;
- DbgUI.PopID();
-
- DbgUI.Text("skip: ");
- DbgUI.SameLine();
- float skip = 0.0;
- DbgUI.PushID_Int(200);
- DbgUI.InputFloat("", skip, 80);
- DbgUI.PopID();
-
- if(DbgUI.Button("Create and play"))
- {
- m_wave = GetGame().GetSoundScene().Play3D(m_soundObject, m_soundBuilder);
- m_wave.SetFadeInFactor(fadeInVolume);
- m_wave.Skip(skip);
- m_wave.SetPosition(GetGame().GetPlayer().GetPosition() + posOffset2);
- }
- }
-
- if(m_wave != NULL)
- {
- DbgUI.Text("Wave length: " + m_wave.GetLength() + "s");
-
- //DbgUI.Text("Wave position: " + Math.Round(m_wave.GetCurrPosition() * 100) + "%");
- DbgUI.Text("Volume: ");
- DbgUI.SameLine();
- float volume = 1.0;
- DbgUI.InputFloat(" ", volume, 80);
- DbgUI.SameLine();
- if(DbgUI.Button("SetVolume"))
- m_wave.SetVolume(volume);
- DbgUI.SameLine();
- if(DbgUI.Button("SetVolumeRelative"))
- m_wave.SetVolumeRelative(volume);
-
- if(DbgUI.Button("Play"))
- m_wave.Play();
- if(DbgUI.Button("Stop"))
- m_wave.Stop();
- if(DbgUI.Button("Restart"))
- m_wave.Restart();
- if(DbgUI.Button("Repeat"))
- m_wave.Loop(true);
- if(DbgUI.Button("StopRepeat"))
- m_wave.Loop(false);
- if(DbgUI.Button("Set position"))
- m_wave.SetPosition(GetGame().GetPlayer().GetPosition() + posOffset2);
- }
-
- DbgUI.End();
- DbgUI.EndCleanupScope();
- }
-
-
- ref Timer m_TickTimer;
-
- ref SoundParams m_soundParams;
- ref SoundObjectBuilder m_soundBuilder;
- ref SoundObject m_soundObject;
- float fadeInVolume = 1.1;
- float fadeOutVolume = 0.9;
- AbstractWave m_wave;
- }
|