mirror of
https://github.com/Noratrieb/Java2DGame.git
synced 2026-01-14 14:05:01 +01:00
removed drawable interface
This commit is contained in:
parent
adab1a4b7c
commit
667768e100
7 changed files with 13 additions and 37 deletions
|
|
@ -8,6 +8,7 @@ import core.physics.Collision;
|
|||
import core.objects.base.DebugPos;
|
||||
import core.objects.core.GameObject;
|
||||
import custom.Init;
|
||||
import core.rendering.renderer.Renderer;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
package core.objects.core;
|
||||
|
||||
import core.math.Coordinates;
|
||||
import core.rendering.Drawable;
|
||||
import core.general.Master;
|
||||
import core.math.Vector2D;
|
||||
import core.rendering.RenderEngine;
|
||||
import core.rendering.renderer.Renderer;
|
||||
|
||||
import java.awt.*;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package core.physics.hitboxes;
|
||||
|
||||
import core.rendering.Drawable;
|
||||
import core.math.Vector2D;
|
||||
|
||||
public abstract class Hitbox{
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
package core.rendering;
|
||||
|
||||
/**
|
||||
* This interface has to be implemented by every
|
||||
*/
|
||||
public interface Drawable {
|
||||
|
||||
/**
|
||||
* <p>The draw method is called every frame after the update by the master object on each object. Everything
|
||||
* about drawing should be handled here in this method.</p>
|
||||
* <p>No general calculations should be made in this method. The game should be able to work just
|
||||
* fine even without this method being called.</p>
|
||||
* <p>This function is <i>NOT</i> intended to be called manually.</p>
|
||||
*
|
||||
*/
|
||||
void draw();
|
||||
|
||||
/**
|
||||
* Returns the layer of the Drawable
|
||||
* @return The render layer
|
||||
*/
|
||||
int getLayer();
|
||||
}
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
package core.rendering;
|
||||
|
||||
import core.rendering.renderer.Renderer;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -12,12 +14,12 @@ public class LayerManager {
|
|||
/**
|
||||
* A {@code List} of the {@code Lists} which are the layers
|
||||
*/
|
||||
private final List<List<Drawable>> layers;
|
||||
private final List<List<Renderer>> layers;
|
||||
|
||||
/**
|
||||
* The buffer of newly added Renderers
|
||||
*/
|
||||
private final List<Drawable> buffer = new ArrayList<>();
|
||||
private final List<Renderer> buffer = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Create a new {@code LayerManager}
|
||||
|
|
@ -31,14 +33,14 @@ public class LayerManager {
|
|||
* @param g2d
|
||||
*/
|
||||
public void drawAll(Graphics2D g2d){
|
||||
layers.forEach(e -> e.forEach(f -> f.draw()));
|
||||
layers.forEach(e -> e.forEach(Renderer::draw));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new {@code Renderer} to the buffer
|
||||
* @param d
|
||||
*/
|
||||
public void addToRendererBuffer(Drawable d){
|
||||
public void addToRendererBuffer(Renderer d){
|
||||
buffer.add(d);
|
||||
}
|
||||
|
||||
|
|
@ -47,7 +49,7 @@ public class LayerManager {
|
|||
* Creates new render layers if the requested layer doesn't exist
|
||||
* @param d The Renderer
|
||||
*/
|
||||
private void addRenderer(Drawable d) {
|
||||
private void addRenderer(Renderer d) {
|
||||
|
||||
int layer = d.getLayer();
|
||||
|
||||
|
|
@ -72,7 +74,7 @@ public class LayerManager {
|
|||
* @param d The {@code Renderer}
|
||||
* @return {@code true} if the element exists in its layer
|
||||
*/
|
||||
public boolean removeRenderer(Drawable d) {
|
||||
public boolean removeRenderer(Renderer d) {
|
||||
return layers.get(d.getLayer()).remove(d);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import core.general.Master;
|
|||
import core.math.Coordinates;
|
||||
import core.math.Vector2D;
|
||||
import core.objects.base.Camera;
|
||||
import core.rendering.renderer.Renderer;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
|
@ -68,7 +69,7 @@ public class RenderEngine extends JPanel {
|
|||
* Add a {@code Renderer} to the scene. Gets added to the buffer
|
||||
* @param d The {@code Renderer}
|
||||
*/
|
||||
public void addRenderer(Drawable d){
|
||||
public void addRenderer(Renderer d){
|
||||
layerManager.addToRendererBuffer(d);
|
||||
}
|
||||
|
||||
|
|
@ -78,7 +79,7 @@ public class RenderEngine extends JPanel {
|
|||
* @param d
|
||||
* @return
|
||||
*/
|
||||
public boolean removeRenderer(Drawable d){
|
||||
public boolean removeRenderer(Renderer d){
|
||||
return layerManager.removeRenderer(d);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package core.rendering.renderer;
|
|||
|
||||
import core.general.Master;
|
||||
import core.objects.core.GameObject;
|
||||
import core.rendering.Drawable;
|
||||
import core.rendering.RenderEngine;
|
||||
|
||||
import java.awt.*;
|
||||
|
|
@ -10,7 +9,7 @@ import java.awt.*;
|
|||
/**
|
||||
* The base renderer class for all renderers
|
||||
*/
|
||||
public abstract class Renderer implements Drawable {
|
||||
public abstract class Renderer{
|
||||
|
||||
protected RenderEngine re;
|
||||
|
||||
|
|
@ -33,7 +32,6 @@ public abstract class Renderer implements Drawable {
|
|||
*/
|
||||
public abstract void draw();
|
||||
|
||||
@Override
|
||||
public int getLayer() {
|
||||
return object.getLayer();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue