remove unnecessary events pattern and replace it with something more simple

This commit is contained in:
yugecin
2018-06-25 22:18:26 +02:00
parent a2edb8a1c1
commit ab19b53d63
36 changed files with 227 additions and 330 deletions

View File

@@ -31,10 +31,11 @@ import org.newdawn.slick.SlickException;
import org.newdawn.slick.util.Log;
import org.newdawn.slick.util.ResourceLoader;
import yugecin.opsudance.core.errorhandling.ErrorHandler;
import yugecin.opsudance.events.BubNotifListener;
import yugecin.opsudance.skinning.SkinService;
import yugecin.opsudance.utils.SlickUtil;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.InstanceContainer.*;
import static yugecin.opsudance.options.Options.*;
/**
@@ -743,7 +744,7 @@ public enum GameImage {
String err = String.format("Could not find default image '%s'.", filename);
Log.warn(err);
BubNotifListener.EVENT.make().onBubNotif(err, Colors.BUB_RED);
bubNotifs.send(BUB_RED, err);
}
/**
@@ -806,8 +807,7 @@ public enum GameImage {
img = img.getScaledCopy(0.5f);
list.add(img);
} catch (SlickException e) {
BubNotifListener.EVENT.make().onBubNotif(
String.format("Failed to set image '%s'.", name), Colors.BUB_RED);
bubNotifs.sendf(BUB_RED, "Failed to set image '%s'.", name);
break;
}
}
@@ -834,8 +834,7 @@ public enum GameImage {
img = img.getScaledCopy(0.5f);
return img;
} catch (SlickException e) {
BubNotifListener.EVENT.make().onBubNotif(
String.format("Failed to set image '%s'.", filename), Colors.BUB_RED);
bubNotifs.sendf(BUB_RED, "Failed to set image '%s'.", filename);
}
}
return null;

View File

@@ -33,7 +33,6 @@ import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.UnsupportedAudioFileException;
import itdelatrisu.opsu.ui.Colors;
import org.lwjgl.BufferUtils;
import org.lwjgl.openal.AL;
import org.lwjgl.openal.AL10;
@@ -45,10 +44,10 @@ import org.newdawn.slick.openal.SoundStore;
import org.newdawn.slick.util.Log;
import org.newdawn.slick.util.ResourceLoader;
import org.tritonus.share.sampled.file.TAudioFileFormat;
import yugecin.opsudance.events.BarNotifListener;
import yugecin.opsudance.events.BubNotifListener;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.errorhandling.ErrorHandler.*;
import static yugecin.opsudance.core.InstanceContainer.*;
import static yugecin.opsudance.options.Options.*;
/**
@@ -103,8 +102,7 @@ public class MusicController {
if (lastBeatmap == null || !beatmap.audioFilename.equals(lastBeatmap.audioFilename)) {
final File audioFile = beatmap.audioFilename;
if (!audioFile.isFile() && !ResourceLoader.resourceExists(audioFile.getPath())) {
BarNotifListener.EVENT.make().onBarNotif(String.format("Could not find track '%s'.",
audioFile.getName()));
barNotifs.sendf("Could not find track '%s'.", audioFile.getName());
return;
}
@@ -159,7 +157,7 @@ public class MusicController {
} catch (Exception e) {
String err = String.format("Could not play track '%s'.", file.getName());
Log.error(err, e);
BubNotifListener.EVENT.make().onBubNotif(err, Colors.BUB_RED);
bubNotifs.send(BUB_RED, err);
}
}

View File

@@ -36,15 +36,14 @@ import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineListener;
import javax.sound.sampled.LineUnavailableException;
import itdelatrisu.opsu.ui.Colors;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.util.ResourceLoader;
import yugecin.opsudance.events.BarNotifListener;
import yugecin.opsudance.events.BubNotifListener;
import yugecin.opsudance.options.Configuration;
import yugecin.opsudance.skinning.SkinService;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.errorhandling.ErrorHandler.*;
import static yugecin.opsudance.core.InstanceContainer.*;
import static yugecin.opsudance.options.Options.*;
/**
@@ -220,8 +219,8 @@ public class SoundController {
// menu and game sounds
for (SoundEffect s : SoundEffect.values()) {
if ((currentFileName = getSoundFileName(s.getFileName())) == null) {
BubNotifListener.EVENT.make().onBubNotif(
"Could not find sound file " + s.getFileName(), Colors.BUB_ORANGE);
final String name = s.getFileName();
bubNotifs.send(BUB_ORANGE, "Could not find sound file " + name);
continue;
}
MultiClip newClip = loadClip(currentFileName, currentFileName.endsWith(".mp3"));
@@ -240,8 +239,10 @@ public class SoundController {
for (HitSound s : HitSound.values()) {
String filename = String.format("%s-%s", ss.getName(), s.getFileName());
if ((currentFileName = getSoundFileName(filename)) == null) {
BubNotifListener.EVENT.make().onBubNotif(
"Could not find hit sound file " + filename, Colors.BUB_ORANGE);
bubNotifs.send(
BUB_ORANGE,
"Could not find hit sound file " + filename
);
continue;
}
MultiClip newClip = loadClip(currentFileName, false);
@@ -398,8 +399,7 @@ public class SoundController {
@Override
public void error() {
BarNotifListener.EVENT.make().onBarNotif(
"Failed to download track preview");
barNotifs.send("Failed to download track preview");
}
});
try {

View File

@@ -31,13 +31,12 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import itdelatrisu.opsu.ui.Colors;
import org.newdawn.slick.Color;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.Nullable;
import yugecin.opsudance.events.BubNotifListener;
import yugecin.opsudance.skinning.SkinService;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.errorhandling.ErrorHandler.*;
import static yugecin.opsudance.core.InstanceContainer.*;
import static yugecin.opsudance.options.Options.*;
@@ -890,7 +889,7 @@ public class BeatmapParser {
private static void logAndShowErrorNotification(Exception e, String message, Object... formatArgs) {
message = String.format(message, formatArgs);
Log.error(message, e);
BubNotifListener.EVENT.make().onBubNotif(message, Colors.BUB_RED);
bubNotifs.send(BUB_RED, message);
}
}

View File

@@ -21,8 +21,6 @@ package itdelatrisu.opsu.beatmap;
import itdelatrisu.opsu.Utils;
import itdelatrisu.opsu.audio.MusicController;
import itdelatrisu.opsu.db.BeatmapDB;
import itdelatrisu.opsu.ui.Colors;
import yugecin.opsudance.events.BubNotifListener;
import java.io.File;
import java.io.IOException;
@@ -36,6 +34,9 @@ import java.util.LinkedList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.InstanceContainer.*;
/**
* Indexed, expanding, doubly-linked list data type for song groups.
*/
@@ -215,7 +216,7 @@ public class BeatmapSetList {
try {
Utils.deleteToTrash(dir);
} catch (IOException e) {
BubNotifListener.EVENT.make().onBubNotif("Could not delete song group", Colors.BUB_ORANGE);
bubNotifs.send(BUB_ORANGE, "Could not delete song group");
}
if (ws != null)
ws.resume();
@@ -271,7 +272,7 @@ public class BeatmapSetList {
try {
Utils.deleteToTrash(file);
} catch (IOException e) {
BubNotifListener.EVENT.make().onBubNotif("Could not delete song", Colors.BUB_ORANGE);
bubNotifs.send(BUB_ORANGE, "Could not delete song");
}
if (ws != null)
ws.resume();

View File

@@ -38,11 +38,9 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import itdelatrisu.opsu.ui.Colors;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.events.BarNotifListener;
import yugecin.opsudance.events.BubNotifListener;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.InstanceContainer.*;
import static yugecin.opsudance.options.Options.*;
@@ -101,7 +99,7 @@ public class BeatmapWatchService {
ws.register(config.beatmapDir.toPath());
} catch (IOException e) {
Log.error("Could not create watch service", e);
BubNotifListener.EVENT.make().onBubNotif("Could not create watch service", Colors.BUB_RED);
bubNotifs.send(BUB_RED, "Could not create watch service");
return;
}
@@ -124,7 +122,7 @@ public class BeatmapWatchService {
} catch (IOException e) {
String msg = "An I/O exception occurred while closing the previous watch service.";
Log.error(msg, e);
BarNotifListener.EVENT.make().onBarNotif(msg);
barNotifs.send(msg);
ws = null;
}
}

View File

@@ -23,12 +23,11 @@ import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.List;
import itdelatrisu.opsu.ui.Colors;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.events.BubNotifListener;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.InstanceContainer.*;
/**
@@ -97,7 +96,7 @@ public class OszUnpacker {
} catch (ZipException e) {
String err = String.format("Failed to unzip file %s to dest %s.", file.getAbsolutePath(), dest.getAbsolutePath());
Log.error(err, e);
BubNotifListener.EVENT.make().onBubNotif(err, Colors.BUB_RED);
bubNotifs.send(BUB_RED, err);
}
}

View File

@@ -33,10 +33,10 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import itdelatrisu.opsu.ui.Colors;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.events.BubNotifListener;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.InstanceContainer.*;
import static yugecin.opsudance.core.errorhandling.ErrorHandler.*;
/**
@@ -220,7 +220,7 @@ public class Download {
else if (redirectCount > MAX_REDIRECTS)
error = String.format("Download for URL '%s' is attempting too many redirects (over %d).", base.toString(), MAX_REDIRECTS);
if (error != null) {
BubNotifListener.EVENT.make().onBubNotif(error, Colors.BUB_ORANGE);
bubNotifs.send(BUB_ORANGE, error);
throw new IOException();
}

View File

@@ -33,9 +33,8 @@ import java.io.File;
import org.newdawn.slick.Color;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import yugecin.opsudance.events.BarNotifListener;
import yugecin.opsudance.events.BubNotifListener;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.InstanceContainer.*;
import static yugecin.opsudance.options.Options.*;
@@ -280,14 +279,12 @@ public class DownloadNode {
download.setListener(new DownloadListener() {
@Override
public void completed() {
BarNotifListener.EVENT.make().onBarNotif(
String.format("Download complete: %s", getTitle()));
barNotifs.sendf("Download complete: %s", getTitle());
}
@Override
public void error() {
BarNotifListener.EVENT.make().onBarNotif(
"Download failed due to a connection error.");
barNotifs.send("Download failed due to a connection error.");
}
});
this.download = download;
@@ -409,9 +406,10 @@ public class DownloadNode {
public void drawDownload(Graphics g, float position, int id, boolean hover) {
Download download = this.download; // in case clearDownload() is called asynchronously
if (download == null) {
BubNotifListener.EVENT.make().onBubNotif(
"Trying to draw download information for button without Download object",
Colors.BUB_ORANGE);
bubNotifs.send(
BUB_ORANGE,
"Trying to draw download information for button without Download object"
);
return;
}

View File

@@ -36,7 +36,6 @@ import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.newdawn.slick.util.Log;
import org.newdawn.slick.util.ResourceLoader;
import yugecin.opsudance.core.Constants;
import yugecin.opsudance.events.BarNotifListener;
import static yugecin.opsudance.core.errorhandling.ErrorHandler.*;
import static yugecin.opsudance.core.InstanceContainer.*;
@@ -241,14 +240,13 @@ public class Updater {
@Override
public void completed() {
status = Status.UPDATE_DOWNLOADED;
BarNotifListener.EVENT.make().onBarNotif("Update has finished downloading");
barNotifs.send("Update has finished downloading");
}
@Override
public void error() {
status = Status.CONNECTION_ERROR;
BarNotifListener.EVENT.make().onBarNotif(
"Update failed due to a connection error.");
barNotifs.send("Update failed due to a connection error.");
}
});
}

View File

@@ -39,13 +39,12 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import itdelatrisu.opsu.ui.Colors;
import org.apache.commons.compress.compressors.lzma.LZMACompressorInputStream;
import org.newdawn.slick.util.Log;
import lzma.streams.LzmaOutputStream;
import yugecin.opsudance.events.BubNotifListener;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.errorhandling.ErrorHandler.*;
import static yugecin.opsudance.core.InstanceContainer.*;
@@ -275,7 +274,7 @@ public class Replay {
public void save() {
// create replay directory
if (!config.replayDir.isDirectory() && !config.replayDir.mkdir()) {
BubNotifListener.EVENT.make().onBubNotif("Failed to create replay directory", Colors.BUB_RED);
bubNotifs.send(BUB_RED, "Failed to create replay directory");
return;
}

View File

@@ -28,10 +28,9 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import itdelatrisu.opsu.ui.Colors;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.events.BubNotifListener;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.InstanceContainer.*;
/**
@@ -69,7 +68,7 @@ public class ReplayImporter {
if (!config.replayDir.isDirectory() && !config.replayDir.mkdir()) {
String err = String.format("Failed to create replay directory '%s'.", config.replayDir.getAbsolutePath());
Log.error(err);
BubNotifListener.EVENT.make().onBubNotif(err, Colors.BUB_RED);
bubNotifs.send(BUB_RED, err);
return;
}
@@ -83,7 +82,7 @@ public class ReplayImporter {
moveToFailedDirectory(file);
String err = String.format("Failed to import replay '%s'. The replay file could not be parsed.", file.getName());
Log.error(err, e);
BubNotifListener.EVENT.make().onBubNotif(err, Colors.BUB_RED);
bubNotifs.send(BUB_RED, err);
continue;
}
Beatmap beatmap = BeatmapSetList.get().getBeatmapFromHash(r.beatmapHash);
@@ -102,7 +101,7 @@ public class ReplayImporter {
moveToFailedDirectory(file);
String err = String.format("Failed to import replay '%s'. The associated beatmap could not be found.", file.getName());
Log.error(err);
BubNotifListener.EVENT.make().onBubNotif(err, Colors.BUB_RED);
bubNotifs.send(BUB_RED, err);
}
}

View File

@@ -29,10 +29,11 @@ import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.LinkedList;
import itdelatrisu.opsu.ui.Colors;
import org.newdawn.slick.Color;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.events.BubNotifListener;
import static itdelatrisu.opsu.ui.Colors.*;
import static yugecin.opsudance.core.InstanceContainer.*;
/**
* Loads skin configuration files.
@@ -293,7 +294,7 @@ public class SkinLoader {
} catch (IOException e) {
String err = String.format("Failed to read file '%s'.", skinFile.getAbsolutePath());
Log.error(err, e);
BubNotifListener.EVENT.make().onBubNotif(err, Colors.BUB_RED);
bubNotifs.send(BUB_RED, err);
}
return skin;

View File

@@ -53,7 +53,6 @@ import org.newdawn.slick.SlickException;
import org.newdawn.slick.gui.TextField;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.state.ComplexOpsuState;
import yugecin.opsudance.events.BarNotifListener;
import static org.lwjgl.input.Keyboard.*;
import static yugecin.opsudance.core.InstanceContainer.*;
@@ -273,13 +272,12 @@ public class DownloadsMenu extends ComplexOpsuState {
if (this.importedNode == null) {
return;
}
String msg;
if (dirs.length == 1) {
msg = "Imported 1 new song.";
} else {
msg = String.format("Imported %d new songs.", dirs.length);
barNotifs.send("Imported 1 new song.");
return;
}
BarNotifListener.EVENT.make().onBarNotif(msg);
barNotifs.sendf("Imported %d new songs.", dirs.length);
}
}
@@ -686,7 +684,7 @@ public class DownloadsMenu extends ComplexOpsuState {
if (playing)
previewID = node.getID();
} catch (SlickException e) {
BarNotifListener.EVENT.make().onBarNotif("Failed to load track preview. See log for details.");
barNotifs.send("Failed to load track preview. See log for details.");
Log.error(e);
}
}
@@ -709,7 +707,7 @@ public class DownloadsMenu extends ComplexOpsuState {
if (!DownloadList.get().contains(node.getID())) {
node.createDownload(serverMenu.getSelectedItem());
if (node.getDownload() == null) {
BarNotifListener.EVENT.make().onBarNotif("The download could not be started");
barNotifs.send("The download could not be started");
} else {
DownloadList.get().addNode(node);
node.getDownload().start();
@@ -951,7 +949,7 @@ public class DownloadsMenu extends ComplexOpsuState {
pageDir = Page.RESET;
previewID = -1;
if (barNotificationOnLoad != null) {
BarNotifListener.EVENT.make().onBarNotif(barNotificationOnLoad);
barNotifs.send(barNotificationOnLoad);
barNotificationOnLoad = null;
}
}

View File

@@ -57,8 +57,6 @@ import org.newdawn.slick.SlickException;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.*;
import yugecin.opsudance.core.state.ComplexOpsuState;
import yugecin.opsudance.events.BarNotifListener;
import yugecin.opsudance.events.BubNotifListener;
import yugecin.opsudance.objects.curves.FakeCombinedCurve;
import yugecin.opsudance.options.OptionGroups;
import yugecin.opsudance.sbv2.MoveStoryboard;
@@ -67,6 +65,7 @@ import yugecin.opsudance.ui.OptionsOverlay;
import yugecin.opsudance.ui.StoryboardOverlay;
import yugecin.opsudance.utils.GLHelper;
import static itdelatrisu.opsu.ui.Colors.*;
import static org.lwjgl.input.Keyboard.*;
import static yugecin.opsudance.options.Options.*;
import static yugecin.opsudance.core.InstanceContainer.*;
@@ -335,9 +334,10 @@ public class Game extends ComplexOpsuState {
gOffscreen.setBackground(Color.black);
} catch (SlickException e) {
Log.error("could not create offscreen graphics", e);
BubNotifListener.EVENT.make().onBubNotif(
"Exception while creating offscreen graphics. See logfile for details.",
Colors.BUB_RED);
bubNotifs.send(
BUB_RED,
"Exception while creating offscreen graphics. See logfile for details."
);
}
// initialize music position bar location
@@ -1167,7 +1167,7 @@ public class Game extends ComplexOpsuState {
if (0 <= time && time < 3600) {
OPTION_CHECKPOINT.setValue(time);
SoundController.playSound(SoundEffect.MENUCLICK);
BarNotifListener.EVENT.make().onBarNotif("Checkpoint saved.");
barNotifs.send("Checkpoint saved.");
}
}
break;
@@ -1179,7 +1179,7 @@ public class Game extends ComplexOpsuState {
break; // invalid checkpoint
loadCheckpoint(checkpoint);
SoundController.playSound(SoundEffect.MENUHIT);
BarNotifListener.EVENT.make().onBarNotif("Checkpoint loaded.");
barNotifs.send("Checkpoint loaded.");
}
break;
case KEY_F:
@@ -1222,12 +1222,12 @@ public class Game extends ComplexOpsuState {
break;
case KEY_MINUS:
currentMapMusicOffset += 5;
BarNotifListener.EVENT.make().onBarNotif("Current map offset: " + currentMapMusicOffset);
barNotifs.send("Current map offset: " + currentMapMusicOffset);
break;
}
if (key == KEY_ADD || c == '+') {
currentMapMusicOffset -= 5;
BarNotifListener.EVENT.make().onBarNotif("Current map offset: " + currentMapMusicOffset);
barNotifs.send("Current map offset: " + currentMapMusicOffset);
}
return true;
@@ -1447,8 +1447,9 @@ public class Game extends ComplexOpsuState {
}
if (beatmap == null || beatmap.objects == null) {
BubNotifListener.EVENT.make().onBubNotif("Game was running without a beatmap", Colors.BUB_RED);
bubNotifs.send(BUB_RED, "Game was running without a beatmap");
displayContainer.switchStateInstantly(songMenuState);
return;
}
Dancer.instance.reset();
@@ -1554,7 +1555,7 @@ public class Game extends ComplexOpsuState {
} catch (Exception e) {
String message = String.format("Failed to create %s at index %d:\n%s", hitObject.getTypeName(), i, hitObject.toString());
Log.error(message, e);
BubNotifListener.EVENT.make().onBubNotif(message, Colors.BUB_RED);
bubNotifs.send(BUB_RED, message);
gameObjects[i] = new DummyObject(hitObject);
}
}
@@ -2138,15 +2139,16 @@ public class Game extends ComplexOpsuState {
if (replay == null) {
this.isReplay = false;
this.replay = null;
} else {
if (replay.frames == null) {
BubNotifListener.EVENT.make().onBubNotif("Attempting to set a replay with no frames.",
Colors.BUB_ORANGE);
return;
}
this.isReplay = true;
this.replay = replay;
return;
}
if (replay.frames == null) {
bubNotifs.send(BUB_ORANGE, "Attempting to set a replay with no frames.");
return;
}
this.isReplay = true;
this.replay = replay;
}
/**

View File

@@ -38,7 +38,6 @@ import org.newdawn.slick.Image;
import org.newdawn.slick.Input;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.state.BaseOpsuState;
import yugecin.opsudance.events.BarNotifListener;
import static yugecin.opsudance.core.InstanceContainer.*;
@@ -157,14 +156,14 @@ public class GameRanking extends BaseOpsuState {
gameState.setRestart((data.isGameplay()) ? Game.Restart.REPLAY : Game.Restart.NEW);
returnToGame = true;
} catch (FileNotFoundException e) {
BarNotifListener.EVENT.make().onBarNotif("Replay file not found.");
barNotifs.send("Replay file not found.");
} catch (IOException e) {
Log.error("Failed to load replay data.", e);
BarNotifListener.EVENT.make().onBarNotif(
"Failed to load replay data. See log for details.");
barNotifs.send("Failed to load replay data. See log for details.");
}
} else
BarNotifListener.EVENT.make().onBarNotif("Replay file not found.");
} else {
barNotifs.send("Replay file not found.");
}
}
// retry

View File

@@ -48,9 +48,8 @@ import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.Constants;
import yugecin.opsudance.core.state.BaseOpsuState;
import yugecin.opsudance.core.state.OpsuState;
import yugecin.opsudance.events.BarNotifListener;
import yugecin.opsudance.events.BubNotifListener;
import static itdelatrisu.opsu.ui.Colors.*;
import static org.lwjgl.input.Keyboard.*;
import static yugecin.opsudance.core.InstanceContainer.*;
import static yugecin.opsudance.options.Options.*;
@@ -466,9 +465,9 @@ public class MainMenu extends BaseOpsuState {
UI.enter();
if (!enterNotification) {
if (updater.getStatus() == Updater.Status.UPDATE_AVAILABLE) {
BarNotifListener.EVENT.make().onBarNotif("An opsu! update is available.");
barNotifs.send("An opsu! update is available.");
} else if (updater.justUpdated()) {
BarNotifListener.EVENT.make().onBarNotif("opsu! is now up to date!");
barNotifs.send("opsu! is now up to date!");
}
enterNotification = true;
}
@@ -531,15 +530,15 @@ public class MainMenu extends BaseOpsuState {
if (musicPlay.contains(x, y)) {
if (MusicController.isPlaying()) {
MusicController.pause();
BarNotifListener.EVENT.make().onBarNotif("Pause");
barNotifs.send("Pause");
} else if (!MusicController.isTrackLoading()) {
MusicController.resume();
BarNotifListener.EVENT.make().onBarNotif("Play");
barNotifs.send("Play");
}
return true;
} else if (musicNext.contains(x, y)) {
nextTrack(true);
BarNotifListener.EVENT.make().onBarNotif(">> Next");
barNotifs.send(">> Next");
return true;
} else if (musicPrevious.contains(x, y)) {
lastMeasureProgress = 0f;
@@ -551,7 +550,7 @@ public class MainMenu extends BaseOpsuState {
} else {
MusicController.setPosition(0);
}
BarNotifListener.EVENT.make().onBarNotif("<< Previous");
barNotifs.send("<< Previous");
return true;
}
@@ -567,11 +566,10 @@ public class MainMenu extends BaseOpsuState {
try {
Desktop.getDesktop().browse(Constants.REPOSITORY_URI);
} catch (UnsupportedOperationException e) {
BarNotifListener.EVENT.make().onBarNotif(
"The repository web page could not be opened.");
barNotifs.send("The repository web page could not be opened.");
} catch (IOException e) {
Log.error("could not browse to repo", e);
BubNotifListener.EVENT.make().onBubNotif("Could not browse to repo", Colors.BUB_ORANGE);
bubNotifs.send(BUB_ORANGE, "Could not browse to repo");
}
return true;
}
@@ -580,11 +578,10 @@ public class MainMenu extends BaseOpsuState {
try {
Desktop.getDesktop().browse(Constants.DANCE_REPOSITORY_URI);
} catch (UnsupportedOperationException e) {
BarNotifListener.EVENT.make().onBarNotif(
"The repository web page could not be opened.");
barNotifs.send("The repository web page could not be opened.");
} catch (IOException e) {
Log.error("could not browse to repo", e);
BubNotifListener.EVENT.make().onBubNotif("Could not browse to repo", Colors.BUB_ORANGE);
bubNotifs.send(BUB_ORANGE, "Could not browse to repo");
}
return true;
}

View File

@@ -64,7 +64,6 @@ import org.newdawn.slick.Input;
import org.newdawn.slick.SpriteSheet;
import org.newdawn.slick.gui.TextField;
import yugecin.opsudance.core.state.ComplexOpsuState;
import yugecin.opsudance.events.BarNotifListener;
import yugecin.opsudance.options.OptionGroups;
import yugecin.opsudance.ui.OptionsOverlay;
@@ -446,8 +445,7 @@ public class SongMenu extends ComplexOpsuState {
if (!displayContainer.isInState(SongMenu.class)) {
return;
}
BarNotifListener.EVENT.make().onBarNotif(
"Changed is Songs folder detected. Hit F5 to refresh.");
barNotifs.send("Changes in Songs folder detected. Hit F5 to refresh.");
}
});
@@ -955,7 +953,7 @@ public class SongMenu extends ComplexOpsuState {
setFocus(BeatmapSetList.get().getRandomNode(), -1, true, true);
if (BeatmapSetList.get().size() < 1 && group.getEmptyMessage() != null) {
BarNotifListener.EVENT.make().onBarNotif(group.getEmptyMessage());
barNotifs.send(group.getEmptyMessage());
}
return true;
}
@@ -1761,7 +1759,7 @@ public class SongMenu extends ComplexOpsuState {
Beatmap beatmap = MusicController.getBeatmap();
if (focusNode == null || beatmap != focusNode.getSelectedBeatmap()) {
BarNotifListener.EVENT.make().onBarNotif("Unable to load the beatmap audio.");
barNotifs.send("Unable to load the beatmap audio.");
return;
}