blob: fc72c66a3bcadf5da6f742652f428bdfa40a3557 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
package org.snoopdesigns.endless;
import java.util.List;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputMultiplexer;
import com.badlogic.gdx.utils.ScreenUtils;
import org.snoopdesigns.endless.context.Context;
import org.snoopdesigns.endless.context.OnInit;
import org.snoopdesigns.endless.physics.Box2DDebugRenderer;
import org.snoopdesigns.endless.physics.Box2DRenderer;
import org.snoopdesigns.endless.physics.camera.CameraRenderer;
import org.snoopdesigns.endless.renderer.CursorRenderer;
import org.snoopdesigns.endless.renderer.DebugRenderer;
import org.snoopdesigns.endless.renderer.Renderer;
import org.snoopdesigns.endless.utils.ExitControllable;
import org.snoopdesigns.endless.world.ObjectsRenderer;
import org.snoopdesigns.endless.world.bg.BackgroundRenderer;
public class EndlessGame extends ApplicationAdapter {
private final List<Renderer> renderers = List.of(
new BackgroundRenderer(),
new Box2DRenderer(),
new CameraRenderer(),
new Box2DDebugRenderer(),
new ObjectsRenderer(),
new CursorRenderer(),
new DebugRenderer()
);
private final List<OnInit> intializers = List.of(
new Context()
);
@Override
public void create () {
intializers.forEach(OnInit::create);
final InputMultiplexer inputMultiplexer = new InputMultiplexer();
renderers.forEach(inputMultiplexer::addProcessor);
inputMultiplexer.addProcessor(Context.getInstance().getPlayerShip());
inputMultiplexer.addProcessor(new ExitControllable());
Gdx.input.setInputProcessor(inputMultiplexer);
renderers.forEach(Renderer::create);
}
@Override
public void render () {
ScreenUtils.clear(0, 0, 0, 1);
renderers.forEach(Renderer::render);
}
@Override
public void resize(int width, int height) {
renderers.forEach(renderer ->
renderer.resize(width, height));
}
@Override
public void dispose() {
renderers.forEach(Renderer::dispose);
}
}
|