Skip to content

Commit 60b3574

Browse files
committed
Add option to define custom game context
1 parent 06716fc commit 60b3574

File tree

6 files changed

+25
-8
lines changed

6 files changed

+25
-8
lines changed

Diff for: 2d/src/main/java/de/bitbrain/braingdx/graphics/VectorGameCamera.java

+5
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,11 @@ public void onEvent(int i, BaseTween<?> baseTween) {
350350
}
351351
}
352352

353+
@Override
354+
public Vector2 getShake() {
355+
return shake;
356+
}
357+
353358
@Override
354359
public void setStickToWorldBounds(boolean enabled) {
355360
this.worldBoundsStickiness = enabled;

Diff for: 2d/src/main/java/de/bitbrain/braingdx/screen/BrainGdxScreen2D.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,18 @@
77
import de.bitbrain.braingdx.screens.AbstractScreen;
88
import de.bitbrain.braingdx.util.ArgumentFactory;
99

10-
public abstract class BrainGdxScreen2D<T extends BrainGdxGame> extends AbstractScreen<T, GameContext2D> {
10+
public abstract class BrainGdxScreen2D<T extends BrainGdxGame, C extends GameContext2D> extends AbstractScreen<T, C> {
1111

1212
public BrainGdxScreen2D(final T game) {
13-
super(game, new ArgumentFactory<AbstractScreen, GameContext2D>() {
13+
super(game, new ArgumentFactory<AbstractScreen<T, C>, C>() {
1414
@Override
15-
public GameContext2D create(AbstractScreen screen) {
16-
return new GameContext2DImpl(screen.getViewportFactory(), new ShaderConfig(), game, screen);
15+
public C create(AbstractScreen<T, C> screen) {
16+
return (C) new GameContext2DImpl(screen.getViewportFactory(), new ShaderConfig(), game, screen);
1717
}
1818
});
1919
}
20+
21+
public BrainGdxScreen2D(final T game,ArgumentFactory<AbstractScreen<T, C>, C> argumentFactory) {
22+
super(game, argumentFactory);
23+
}
2024
}

Diff for: CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# Version 0.6.31
2+
3+
* expose screen shake value
4+
* add option to define custom game context
5+
16
# Version 0.6.30
27

38
* add camera zoom tweening

Diff for: core/src/main/java/de/bitbrain/braingdx/graphics/GameCamera.java

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package de.bitbrain.braingdx.graphics;
22

33
import com.badlogic.gdx.graphics.Camera;
4+
import com.badlogic.gdx.math.Vector2;
45
import com.badlogic.gdx.math.Vector3;
56
import de.bitbrain.braingdx.util.Resizeable;
67
import de.bitbrain.braingdx.util.Updateable;
@@ -204,4 +205,6 @@ enum ZoomMode {
204205
* @param duration the length of the effect in seconds
205206
*/
206207
void shake(float strength, float duration);
208+
209+
Vector2 getShake();
207210
}

Diff for: core/src/main/java/de/bitbrain/braingdx/screens/AbstractScreen.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ public Viewport create(int width, int height, Camera camera) {
4848
private boolean created = false;
4949
private T game;
5050
private C gameContext;
51-
private ArgumentFactory<AbstractScreen, C> contextFactory;
51+
private ArgumentFactory<AbstractScreen<T, C>, C> contextFactory;
5252

53-
public AbstractScreen(T game, ArgumentFactory<AbstractScreen, C> contextFactory) {
53+
public AbstractScreen(T game, ArgumentFactory<AbstractScreen<T, C>, C> contextFactory) {
5454
this.game = game;
5555
this.contextFactory = contextFactory;
5656
}

Diff for: core/src/test/java/de/bitbrain/braingdx/screens/AbstractScreenTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ public void testRender() {
2222
final GameContext context = mock(GameContext.class);
2323
when(context.getBackgroundColor()).thenReturn(Color.BLACK);
2424
final AtomicBoolean onUpdateCalled = new AtomicBoolean();
25-
ArgumentFactory<AbstractScreen, GameContext> contextArgumentFactory = new ArgumentFactory<AbstractScreen, GameContext>() {
25+
ArgumentFactory<AbstractScreen<BrainGdxGame, GameContext>, GameContext> contextArgumentFactory = new ArgumentFactory<AbstractScreen<BrainGdxGame, GameContext>, GameContext>() {
2626
@Override
27-
public GameContext create(AbstractScreen supplier) {
27+
public GameContext create(AbstractScreen<BrainGdxGame, GameContext> supplier) {
2828
return context;
2929
}
3030
};

0 commit comments

Comments
 (0)