mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-01-03 13:30:25 +07:00
SoundEffect - An Effect that produces sound when created. (#9178)
* SoundEffect * Add to ClassMap * Loading via prov does not work * MEEP, that's not how you random
This commit is contained in:
parent
34782e943c
commit
2522b16738
38
core/src/mindustry/entities/effect/SoundEffect.java
Normal file
38
core/src/mindustry/entities/effect/SoundEffect.java
Normal file
@ -0,0 +1,38 @@
|
||||
package mindustry.entities.effect;
|
||||
|
||||
import arc.*;
|
||||
import arc.audio.*;
|
||||
import arc.func.*;
|
||||
import arc.graphics.*;
|
||||
import arc.math.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.gen.*;
|
||||
|
||||
/** Plays a sound effect when created and simultaneously renders an effect. */
|
||||
public class SoundEffect extends Effect{
|
||||
public Sound sound = Sounds.none;
|
||||
public float minPitch = 0.8f;
|
||||
public float maxPitch = 1.2f;
|
||||
public float minVolume = 1f;
|
||||
public float maxVolume = 1f;
|
||||
public Effect effect;
|
||||
|
||||
public SoundEffect(){
|
||||
}
|
||||
|
||||
public SoundEffect(Sound sound, Effect effect){
|
||||
this.sound = sound;
|
||||
this.effect = effect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void create(float x, float y, float rotation, Color color, Object data){
|
||||
if(!shouldCreate()) return;
|
||||
|
||||
sound.at(x, y, Mathf.random(minPitch, maxPitch), Mathf.random(minVolume, maxVolume));
|
||||
effect.create(x, y, rotation, color, data);
|
||||
}
|
||||
}
|
@ -66,6 +66,7 @@ public class ClassMap{
|
||||
classes.put("ParticleEffect", mindustry.entities.effect.ParticleEffect.class);
|
||||
classes.put("RadialEffect", mindustry.entities.effect.RadialEffect.class);
|
||||
classes.put("SeqEffect", mindustry.entities.effect.SeqEffect.class);
|
||||
classes.put("SoundEffect", mindustry.entities.effect.SoundEffect.class);
|
||||
classes.put("WaveEffect", mindustry.entities.effect.WaveEffect.class);
|
||||
classes.put("WrapEffect", mindustry.entities.effect.WrapEffect.class);
|
||||
classes.put("DrawPart", mindustry.entities.part.DrawPart.class);
|
||||
|
Loading…
Reference in New Issue
Block a user