Files
Mindustry/core/src/mindustry/entities/effect/SoundEffect.java
MEEPofFaith 2522b16738 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
2023-10-19 13:55:04 -04:00

39 lines
1018 B
Java

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