diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ca280e0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/.nb-gradle/ +/core/build/ +/desktop/build/ \ No newline at end of file diff --git a/.gradle/2.14.1/taskArtifacts/cache.properties b/.gradle/2.14.1/taskArtifacts/cache.properties new file mode 100644 index 0000000..b1e623c --- /dev/null +++ b/.gradle/2.14.1/taskArtifacts/cache.properties @@ -0,0 +1 @@ +#Fri Oct 13 19:03:57 CEST 2017 diff --git a/.gradle/2.14.1/taskArtifacts/cache.properties.lock b/.gradle/2.14.1/taskArtifacts/cache.properties.lock new file mode 100644 index 0000000..bb7ec30 Binary files /dev/null and b/.gradle/2.14.1/taskArtifacts/cache.properties.lock differ diff --git a/.gradle/2.14.1/taskArtifacts/fileHashes.bin b/.gradle/2.14.1/taskArtifacts/fileHashes.bin new file mode 100644 index 0000000..ca8eab7 Binary files /dev/null and b/.gradle/2.14.1/taskArtifacts/fileHashes.bin differ diff --git a/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin b/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin new file mode 100644 index 0000000..555047c Binary files /dev/null and b/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin differ diff --git a/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin b/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin new file mode 100644 index 0000000..b03189c Binary files /dev/null and b/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin differ diff --git a/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin b/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin new file mode 100644 index 0000000..3fa8d15 Binary files /dev/null and b/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin differ diff --git a/core/src/com/darkrp2d/DarkRP2D.java b/core/src/com/darkrp2d/DarkRP2D.java index 44cd3d1..3cbac34 100755 --- a/core/src/com/darkrp2d/DarkRP2D.java +++ b/core/src/com/darkrp2d/DarkRP2D.java @@ -1,49 +1,83 @@ package com.darkrp2d; +import com.badlogic.ashley.core.Engine; import com.badlogic.gdx.Game; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.GlyphLayout; import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.utils.TimeUtils; import com.darkrp2d.input.CommandStream; import com.darkrp2d.input.InputHandler; import com.darkrp2d.input.commands.Command; -import com.darkrp2d.input.commands.MenuCommand; -import com.darkrp2d.scenes.menu.MenuScreen; public class DarkRP2D extends Game { public BitmapFont font; public SpriteBatch batch; + private Engine engine; @Override public void create () { font = new BitmapFont(); batch = new SpriteBatch(); - + engine = new Engine(); //Sets inputs - Gdx.input.setInputProcessor(new InputHandler(new MenuCommand(this, new MenuScreen(this)))); + Gdx.input.setInputProcessor(new InputHandler(this)); } + private double lag = 0.; + private static final double MS_PER_UPDATE = 16.66; + + private int ups = 0; + private double timer = 0.; + @Override + // GameLoop public void render () { - //Update stuff + lag += Gdx.graphics.getDeltaTime() * 1e3; //Seconds to milliseconds + timer += Gdx.graphics.getDeltaTime(); + + //Process Input Command currentCommand = CommandStream.pollCommand(); if(currentCommand != null) { currentCommand.execute(); } - //Render stuff + + //Update Stuff + while(lag >= MS_PER_UPDATE) { + update(); + ups++; + lag -= MS_PER_UPDATE; + } + + if(timer >= 1) { + System.out.println(ups); + ups = 0; + timer = 0.; + } + + trueRender(); + } + + public void update() { + + } + + public void trueRender() { Gdx.gl.glClearColor(0.f, 0.f, 0.f, 1.f); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + + //Render current Screen super.render(); batch.begin(); GlyphLayout layout = new GlyphLayout(font, "Hello World"); font.draw(batch, layout, Gdx.graphics.getWidth()/2-layout.width/2, Gdx.graphics.getHeight()/2-layout.height/2); batch.end(); - } + } @Override public void dispose () { diff --git a/core/src/com/darkrp2d/IDEAS.java b/core/src/com/darkrp2d/IDEAS.java index 5ae2236..44d9a89 100644 --- a/core/src/com/darkrp2d/IDEAS.java +++ b/core/src/com/darkrp2d/IDEAS.java @@ -24,4 +24,13 @@ public class IDEAS { * - Ganzes haus voller Marihuana Pflanzen (Leute abhängig (rimworld) oder irgendwelche boosts) */ + /* + * TODO ORDER: + * Add character from laptop + * box2D Character/camera movement + * Add World + * Add Charakter + * Add Cars + */ + } diff --git a/core/src/com/darkrp2d/entities/Character.java b/core/src/com/darkrp2d/entities/Character.java new file mode 100644 index 0000000..8694db5 --- /dev/null +++ b/core/src/com/darkrp2d/entities/Character.java @@ -0,0 +1,27 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.darkrp2d.entities; + +import com.badlogic.ashley.core.Entity; +import com.darkrp2d.entities.components.PositionComponent; + +/** + * + * @author Julian + */ +public class Character { + + //Singletone + private static Entity character; + public static Entity create() { + if(character == null) { + character = new Entity(); + character.add(new PositionComponent()); + } + return character; + } + +} diff --git a/core/src/com/darkrp2d/entities/components/PositionComponent.java b/core/src/com/darkrp2d/entities/components/PositionComponent.java new file mode 100644 index 0000000..d08ad1a --- /dev/null +++ b/core/src/com/darkrp2d/entities/components/PositionComponent.java @@ -0,0 +1,17 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.darkrp2d.entities.components; + +import com.badlogic.ashley.core.Component; + +/** + * + * @author Julian + */ +public class PositionComponent implements Component { + public float x = 0.f; + public float y = 0.f; +} diff --git a/core/src/com/darkrp2d/input/InputHandler.java b/core/src/com/darkrp2d/input/InputHandler.java index a9f6124..a15d125 100644 --- a/core/src/com/darkrp2d/input/InputHandler.java +++ b/core/src/com/darkrp2d/input/InputHandler.java @@ -7,7 +7,9 @@ package com.darkrp2d.input; import com.badlogic.gdx.Input; import com.badlogic.gdx.InputProcessor; +import com.darkrp2d.DarkRP2D; import com.darkrp2d.input.commands.*; +import com.darkrp2d.scenes.menu.MenuScreen; /** * @@ -18,12 +20,9 @@ public class InputHandler implements InputProcessor { Command testCommand; Command menuCommand; - - - public InputHandler(MenuCommand menuCommand) { + public InputHandler(DarkRP2D game) { testCommand = new TestCommand(); - this.menuCommand = menuCommand; - + this.menuCommand = new MenuCommand(game, new MenuScreen(game)); } @Override diff --git a/core/src/com/darkrp2d/scenes/game/Camera.java b/core/src/com/darkrp2d/scenes/game/Camera.java new file mode 100644 index 0000000..aae29dc --- /dev/null +++ b/core/src/com/darkrp2d/scenes/game/Camera.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.darkrp2d.scenes.game; + +/** + * + * @author Julian + */ +public class Camera { + +} diff --git a/core/src/com/darkrp2d/scenes/game/GameScreen.java b/core/src/com/darkrp2d/scenes/game/GameScreen.java new file mode 100644 index 0000000..a8234eb --- /dev/null +++ b/core/src/com/darkrp2d/scenes/game/GameScreen.java @@ -0,0 +1,56 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.darkrp2d.scenes.game; + +import com.badlogic.gdx.Screen; + +/** + * + * @author Julian + */ +public class GameScreen implements Screen { + + //Pass server ip.... + public GameScreen(int ip) { + + } + + @Override + public void show() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void render(float delta) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void resize(int width, int height) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void pause() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void resume() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void hide() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void dispose() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + +}