Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken
2023-10-19 22:02:41 -04:00
3 changed files with 43 additions and 4 deletions

View 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);
}
}

View File

@@ -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);