removed drawable interface

This commit is contained in:
nora 2021-01-01 17:38:17 +01:00
parent adab1a4b7c
commit 667768e100
7 changed files with 13 additions and 37 deletions

View file

@ -8,6 +8,7 @@ import core.physics.Collision;
import core.objects.base.DebugPos; import core.objects.base.DebugPos;
import core.objects.core.GameObject; import core.objects.core.GameObject;
import custom.Init; import custom.Init;
import core.rendering.renderer.Renderer;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;

View file

@ -1,10 +1,8 @@
package core.objects.core; package core.objects.core;
import core.math.Coordinates; import core.math.Coordinates;
import core.rendering.Drawable;
import core.general.Master; import core.general.Master;
import core.math.Vector2D; import core.math.Vector2D;
import core.rendering.RenderEngine;
import core.rendering.renderer.Renderer; import core.rendering.renderer.Renderer;
import java.awt.*; import java.awt.*;

View file

@ -1,6 +1,5 @@
package core.physics.hitboxes; package core.physics.hitboxes;
import core.rendering.Drawable;
import core.math.Vector2D; import core.math.Vector2D;
public abstract class Hitbox{ public abstract class Hitbox{

View file

@ -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();
}

View file

@ -1,5 +1,7 @@
package core.rendering; package core.rendering;
import core.rendering.renderer.Renderer;
import java.awt.*; import java.awt.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -12,12 +14,12 @@ public class LayerManager {
/** /**
* A {@code List} of the {@code Lists} which are the layers * 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 * 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} * Create a new {@code LayerManager}
@ -31,14 +33,14 @@ public class LayerManager {
* @param g2d * @param g2d
*/ */
public void drawAll(Graphics2D 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 * Add a new {@code Renderer} to the buffer
* @param d * @param d
*/ */
public void addToRendererBuffer(Drawable d){ public void addToRendererBuffer(Renderer d){
buffer.add(d); buffer.add(d);
} }
@ -47,7 +49,7 @@ public class LayerManager {
* Creates new render layers if the requested layer doesn't exist * Creates new render layers if the requested layer doesn't exist
* @param d The Renderer * @param d The Renderer
*/ */
private void addRenderer(Drawable d) { private void addRenderer(Renderer d) {
int layer = d.getLayer(); int layer = d.getLayer();
@ -72,7 +74,7 @@ public class LayerManager {
* @param d The {@code Renderer} * @param d The {@code Renderer}
* @return {@code true} if the element exists in its layer * @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); return layers.get(d.getLayer()).remove(d);
} }

View file

@ -4,6 +4,7 @@ import core.general.Master;
import core.math.Coordinates; import core.math.Coordinates;
import core.math.Vector2D; import core.math.Vector2D;
import core.objects.base.Camera; import core.objects.base.Camera;
import core.rendering.renderer.Renderer;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
@ -68,7 +69,7 @@ public class RenderEngine extends JPanel {
* Add a {@code Renderer} to the scene. Gets added to the buffer * Add a {@code Renderer} to the scene. Gets added to the buffer
* @param d The {@code Renderer} * @param d The {@code Renderer}
*/ */
public void addRenderer(Drawable d){ public void addRenderer(Renderer d){
layerManager.addToRendererBuffer(d); layerManager.addToRendererBuffer(d);
} }
@ -78,7 +79,7 @@ public class RenderEngine extends JPanel {
* @param d * @param d
* @return * @return
*/ */
public boolean removeRenderer(Drawable d){ public boolean removeRenderer(Renderer d){
return layerManager.removeRenderer(d); return layerManager.removeRenderer(d);
} }

View file

@ -2,7 +2,6 @@ package core.rendering.renderer;
import core.general.Master; import core.general.Master;
import core.objects.core.GameObject; import core.objects.core.GameObject;
import core.rendering.Drawable;
import core.rendering.RenderEngine; import core.rendering.RenderEngine;
import java.awt.*; import java.awt.*;
@ -10,7 +9,7 @@ import java.awt.*;
/** /**
* The base renderer class for all renderers * The base renderer class for all renderers
*/ */
public abstract class Renderer implements Drawable { public abstract class Renderer{
protected RenderEngine re; protected RenderEngine re;
@ -33,7 +32,6 @@ public abstract class Renderer implements Drawable {
*/ */
public abstract void draw(); public abstract void draw();
@Override
public int getLayer() { public int getLayer() {
return object.getLayer(); return object.getLayer();
} }