injecting fields

This commit is contained in:
yugecin
2017-02-06 01:02:38 +01:00
parent 77a5ebf537
commit 80e1d6eb12
17 changed files with 87 additions and 81 deletions

View File

@@ -603,7 +603,7 @@ public class ButtonMenu extends BaseOpsuState {
private ScoreData scoreData;
public ButtonMenu(DisplayContainer displayContainer, InstanceContainer instanceContainer) {
super(displayContainer);
super();
Button.displayContainer = MenuState.displayContainer = displayContainer;
Button.instanceContainer = MenuState.instanceContainer = instanceContainer;
}

View File

@@ -55,8 +55,8 @@ import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.gui.TextField;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.DisplayContainer;
import yugecin.opsudance.core.events.EventBus;
import yugecin.opsudance.core.inject.Inject;
import yugecin.opsudance.core.inject.InstanceContainer;
import yugecin.opsudance.core.state.ComplexOpsuState;
import yugecin.opsudance.events.BarNotificationEvent;
@@ -69,7 +69,8 @@ import yugecin.opsudance.events.BarNotificationEvent;
*/
public class DownloadsMenu extends ComplexOpsuState {
private final InstanceContainer instanceContainer;
@Inject
private InstanceContainer instanceContainer;
/** Delay time, in milliseconds, between each search. */
private static final int SEARCH_DELAY = 700;
@@ -289,11 +290,6 @@ public class DownloadsMenu extends ComplexOpsuState {
}
}
public DownloadsMenu(DisplayContainer displayContainer, InstanceContainer instanceContainer) {
super(displayContainer);
this.instanceContainer = instanceContainer;
}
@Override
public void revalidate() {
super.revalidate();

View File

@@ -65,6 +65,7 @@ import org.newdawn.slick.util.Log;
import yugecin.opsudance.*;
import yugecin.opsudance.core.DisplayContainer;
import yugecin.opsudance.core.events.EventBus;
import yugecin.opsudance.core.inject.Inject;
import yugecin.opsudance.core.inject.InstanceContainer;
import yugecin.opsudance.core.state.ComplexOpsuState;
import yugecin.opsudance.core.state.transitions.FadeInTransitionState;
@@ -82,7 +83,8 @@ import yugecin.opsudance.utils.GLHelper;
*/
public class Game extends ComplexOpsuState {
private final InstanceContainer instanceContainer;
@Inject
private InstanceContainer instanceContainer;
public static boolean isInGame; // TODO delete this when #79 is fixed
/** Game restart states. */
@@ -321,9 +323,8 @@ public class Game extends ComplexOpsuState {
private boolean skippedToCheckpoint;
public Game(DisplayContainer displayContainer, InstanceContainer instanceContainer) {
super(displayContainer);
this.instanceContainer = instanceContainer;
public Game(DisplayContainer displayContainer) {
super();
mirrorCursor = new Cursor(true);
this.moveStoryboardOverlay = new MoveStoryboard(displayContainer);
this.optionsOverlay = new OptionsOverlay(displayContainer, OptionsMenu.storyboardOptions);

View File

@@ -31,7 +31,7 @@ import org.lwjgl.input.Keyboard;
import org.newdawn.slick.Color;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;
import yugecin.opsudance.core.DisplayContainer;
import yugecin.opsudance.core.inject.Inject;
import yugecin.opsudance.core.inject.InstanceContainer;
import yugecin.opsudance.core.state.BaseOpsuState;
@@ -43,18 +43,14 @@ import yugecin.opsudance.core.state.BaseOpsuState;
*/
public class GamePauseMenu extends BaseOpsuState {
private final InstanceContainer instanceContainer;
@Inject
private InstanceContainer instanceContainer;
@Inject
private Game gameState;
private MenuButton continueButton, retryButton, backButton;
private final Game gameState;
public GamePauseMenu(DisplayContainer displayContainer, InstanceContainer instanceContainer, Game gameState) {
super(displayContainer);
this.instanceContainer = instanceContainer;
this.gameState = gameState;
}
@Override
public void render(Graphics g) {
// get background image

View File

@@ -36,8 +36,8 @@ import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.Input;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.DisplayContainer;
import yugecin.opsudance.core.events.EventBus;
import yugecin.opsudance.core.inject.Inject;
import yugecin.opsudance.core.inject.InstanceContainer;
import yugecin.opsudance.core.state.BaseOpsuState;
import yugecin.opsudance.events.BarNotificationEvent;
@@ -51,7 +51,8 @@ import yugecin.opsudance.events.BarNotificationEvent;
*/
public class GameRanking extends BaseOpsuState {
private final InstanceContainer instanceContainer;
@Inject
private InstanceContainer instanceContainer;
/** Associated GameData object. */
private GameData data;
@@ -62,12 +63,6 @@ public class GameRanking extends BaseOpsuState {
/** Button coordinates. */
private float retryY, replayY;
public GameRanking(DisplayContainer displayContainer, InstanceContainer instanceContainer) {
super(displayContainer);
this.instanceContainer = instanceContainer;
}
@Override
public void revalidate() {
super.revalidate();

View File

@@ -46,8 +46,8 @@ import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.Input;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.DisplayContainer;
import yugecin.opsudance.core.events.EventBus;
import yugecin.opsudance.core.inject.Inject;
import yugecin.opsudance.core.inject.InstanceContainer;
import yugecin.opsudance.core.state.BaseOpsuState;
import yugecin.opsudance.core.state.OpsuState;
@@ -61,7 +61,8 @@ import yugecin.opsudance.events.BubbleNotificationEvent;
*/
public class MainMenu extends BaseOpsuState {
private final InstanceContainer instanceContainer;
@Inject
private InstanceContainer instanceContainer;
/** Idle time, in milliseconds, before returning the logo to its original position. */
private static final short LOGO_IDLE_DELAY = 10000;
@@ -126,11 +127,6 @@ public class MainMenu extends BaseOpsuState {
/** The star fountain. */
private StarFountain starFountain;
public MainMenu(DisplayContainer displayContainer, InstanceContainer instanceContainer) {
super(displayContainer);
this.instanceContainer = instanceContainer;
}
@Override
protected void revalidate() {
programStartTime = System.currentTimeMillis();

View File

@@ -70,6 +70,7 @@ import org.newdawn.slick.SpriteSheet;
import org.newdawn.slick.gui.TextField;
import yugecin.opsudance.core.DisplayContainer;
import yugecin.opsudance.core.events.EventBus;
import yugecin.opsudance.core.inject.Inject;
import yugecin.opsudance.core.inject.InstanceContainer;
import yugecin.opsudance.core.state.ComplexOpsuState;
import yugecin.opsudance.events.BarNotificationEvent;
@@ -83,7 +84,8 @@ import yugecin.opsudance.ui.OptionsOverlay;
*/
public class SongMenu extends ComplexOpsuState {
private final InstanceContainer instanceContainer;
@Inject
private InstanceContainer instanceContainer;
/** The max number of song buttons to be shown on each screen. */
public static final int MAX_SONG_BUTTONS = 6;
@@ -325,9 +327,8 @@ public class SongMenu extends ComplexOpsuState {
private final OptionsOverlay optionsOverlay;
public SongMenu(final DisplayContainer displayContainer, InstanceContainer instanceContainer) {
super(displayContainer);
this.instanceContainer = instanceContainer;
public SongMenu(DisplayContainer displayContainer) {
super();
optionsOverlay = new OptionsOverlay(displayContainer, OptionsMenu.normalOptions);
overlays.add(optionsOverlay);
}

View File

@@ -38,7 +38,7 @@ import org.newdawn.slick.Color;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.DisplayContainer;
import yugecin.opsudance.core.inject.Inject;
import yugecin.opsudance.core.inject.InstanceContainer;
import yugecin.opsudance.core.state.BaseOpsuState;
@@ -49,7 +49,8 @@ import yugecin.opsudance.core.state.BaseOpsuState;
*/
public class Splash extends BaseOpsuState {
private final InstanceContainer instanceContainer;
@Inject
private InstanceContainer instanceContainer;
/** Minimum time, in milliseconds, to display the splash screen (and fade in the logo). */
private static final int MIN_SPLASH_TIME = 400;
@@ -75,11 +76,6 @@ public class Splash extends BaseOpsuState {
// game-related variables
private boolean init = false;
public Splash(DisplayContainer displayContainer, InstanceContainer instanceContainer) {
super(displayContainer);
this.instanceContainer = instanceContainer;
}
@Override
protected void revalidate() {
super.revalidate();