Implemented sound volume
This commit is contained in:
@@ -338,7 +338,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{
|
||||
rotation - 90);
|
||||
}
|
||||
|
||||
float backTrns = 4f;
|
||||
float backTrns = 5f;
|
||||
if(item.amount > 0){
|
||||
ItemStack stack = item;
|
||||
int stored = Mathf.clamp(stack.amount / 6, 1, 8);
|
||||
@@ -351,6 +351,10 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{
|
||||
y + Angles.trnsy(rotation + 180f + angT, backTrns + lenT),
|
||||
itemSize, itemSize, rotation);
|
||||
}
|
||||
|
||||
Lines.stroke(1f, Pal.accent);
|
||||
Lines.circle(x + Angles.trnsx(rotation + 180f, backTrns),
|
||||
y + Angles.trnsy(rotation + 180f, backTrns), 3f + Mathf.absin(Time.time(), 4f, 1f));
|
||||
}
|
||||
|
||||
Draw.reset();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package io.anuke.mindustry.game;
|
||||
|
||||
import io.anuke.annotations.Annotations.*;
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.audio.*;
|
||||
import io.anuke.arc.math.*;
|
||||
import io.anuke.arc.util.*;
|
||||
@@ -9,24 +10,29 @@ import io.anuke.arc.util.*;
|
||||
public class MusicControl{
|
||||
private static final float finTime = 80f, foutTime = 80f;
|
||||
private @Nullable Music current;
|
||||
private float fade;
|
||||
|
||||
public void play(@Nullable Music music){
|
||||
if(current != null){
|
||||
current.setVolume(fade * Core.settings.getInt("musicvol") / 100f);
|
||||
}
|
||||
|
||||
if(current == null && music != null){
|
||||
current = music;
|
||||
current.setLooping(true);
|
||||
current.setVolume(0f);
|
||||
current.setVolume(fade = 0f);
|
||||
current.play();
|
||||
}else if(current == music && music != null){
|
||||
current.setVolume(Mathf.clamp(current.getVolume() + Time.delta()/finTime));
|
||||
fade = Mathf.clamp(fade + Time.delta()/finTime);
|
||||
}else if(current != null){
|
||||
current.setVolume(Mathf.clamp(current.getVolume() - Time.delta()/foutTime));
|
||||
fade = Mathf.clamp(fade - Time.delta()/foutTime);
|
||||
|
||||
if(current.getVolume() <= 0.01f){
|
||||
if(fade <= 0.01f){
|
||||
current.stop();
|
||||
current = null;
|
||||
if(music != null){
|
||||
current = music;
|
||||
current.setVolume(0f);
|
||||
current.setVolume(fade = 0f);
|
||||
current.setLooping(true);
|
||||
current.play();
|
||||
}
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
package io.anuke.mindustry.ui.dialogs;
|
||||
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.collection.ObjectMap;
|
||||
import io.anuke.arc.files.FileHandle;
|
||||
import io.anuke.arc.function.Consumer;
|
||||
import io.anuke.arc.input.KeyCode;
|
||||
import io.anuke.arc.scene.Element;
|
||||
import io.anuke.arc.scene.event.InputEvent;
|
||||
import io.anuke.arc.scene.event.InputListener;
|
||||
import io.anuke.arc.*;
|
||||
import io.anuke.arc.collection.*;
|
||||
import io.anuke.arc.files.*;
|
||||
import io.anuke.arc.function.*;
|
||||
import io.anuke.arc.input.*;
|
||||
import io.anuke.arc.scene.*;
|
||||
import io.anuke.arc.scene.event.*;
|
||||
import io.anuke.arc.scene.ui.*;
|
||||
import io.anuke.arc.scene.ui.SettingsDialog.SettingsTable.Setting;
|
||||
import io.anuke.arc.scene.ui.layout.Table;
|
||||
import io.anuke.arc.scene.ui.SettingsDialog.SettingsTable.*;
|
||||
import io.anuke.arc.scene.ui.layout.*;
|
||||
import io.anuke.arc.util.*;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.core.Platform;
|
||||
import io.anuke.mindustry.graphics.Pal;
|
||||
import io.anuke.mindustry.core.GameState.*;
|
||||
import io.anuke.mindustry.core.*;
|
||||
import io.anuke.mindustry.graphics.*;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
|
||||
import static io.anuke.arc.Core.bundle;
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
public class SettingsMenuDialog extends SettingsDialog{
|
||||
@@ -127,9 +127,8 @@ public class SettingsMenuDialog extends SettingsDialog{
|
||||
}
|
||||
|
||||
void addSettings(){
|
||||
//TODO add when sound works again
|
||||
//sound.volumePrefs();
|
||||
sound.add("[LIGHT_GRAY]there is no sound implemented in v4 yet");
|
||||
sound.sliderPref("musicvol", bundle.get("setting.musicvol.name", "Music Volume"), 100, 0, 100, 1, i -> i + "%");
|
||||
sound.sliderPref("sfxvol", bundle.get("setting.sfxvol.name", "SFX Volume"), 100, 0, 100, 1, i -> i + "%");
|
||||
|
||||
game.screenshakePref();
|
||||
if(mobile){
|
||||
|
||||
Reference in New Issue
Block a user