Skip to content

Commit

Permalink
Make generic arguments on screen optional
Browse files Browse the repository at this point in the history
  • Loading branch information
bitbrain committed May 9, 2020
1 parent 60b3574 commit d9c15b6
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package de.bitbrain.braingdx.screen;

import de.bitbrain.braingdx.BrainGdxGame;
import de.bitbrain.braingdx.context.GameContext2D;
import de.bitbrain.braingdx.context.GameContext2DImpl;
import de.bitbrain.braingdx.graphics.shader.ShaderConfig;
import de.bitbrain.braingdx.screens.AbstractScreen;
import de.bitbrain.braingdx.util.ArgumentFactory;

public abstract class AbstractBrainGdxScreen2D<T extends BrainGdxGame, C extends GameContext2D> extends AbstractScreen<T, C> {

public AbstractBrainGdxScreen2D(final T game) {
super(game, new ArgumentFactory<AbstractScreen<T, C>, C>() {
@Override
public C create(AbstractScreen<T, C> screen) {
return (C) new GameContext2DImpl(screen.getViewportFactory(), new ShaderConfig(), game, screen);
}
});
}

public AbstractBrainGdxScreen2D(final T game, ArgumentFactory<AbstractScreen<T, C>, C> argumentFactory) {
super(game, argumentFactory);
}
}
19 changes: 3 additions & 16 deletions 2d/src/main/java/de/bitbrain/braingdx/screen/BrainGdxScreen2D.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,10 @@

import de.bitbrain.braingdx.BrainGdxGame;
import de.bitbrain.braingdx.context.GameContext2D;
import de.bitbrain.braingdx.context.GameContext2DImpl;
import de.bitbrain.braingdx.graphics.shader.ShaderConfig;
import de.bitbrain.braingdx.screens.AbstractScreen;
import de.bitbrain.braingdx.util.ArgumentFactory;

public abstract class BrainGdxScreen2D<T extends BrainGdxGame, C extends GameContext2D> extends AbstractScreen<T, C> {
public abstract class BrainGdxScreen2D extends AbstractBrainGdxScreen2D<BrainGdxGame, GameContext2D> {

public BrainGdxScreen2D(final T game) {
super(game, new ArgumentFactory<AbstractScreen<T, C>, C>() {
@Override
public C create(AbstractScreen<T, C> screen) {
return (C) new GameContext2DImpl(screen.getViewportFactory(), new ShaderConfig(), game, screen);
}
});
}

public BrainGdxScreen2D(final T game,ArgumentFactory<AbstractScreen<T, C>, C> argumentFactory) {
super(game, argumentFactory);
public BrainGdxScreen2D(BrainGdxGame game) {
super(game);
}
}
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Version 0.6.32

* simplify screens by making generic arguments optional

# Version 0.6.31

* expose screen shake value
Expand Down

0 comments on commit d9c15b6

Please sign in to comment.