package com.thecherno.ld29.entity; import com.thecherno.ld29.graphics.Light; import com.thecherno.ld29.graphics.Shader; import com.thecherno.ld29.level.Level; public abstract class Entity { protected int x, y; protected int vao, vbo, vio, vto; protected int texture; protected Shader shader; protected Level level; private boolean removed = false; public void remove() { removed = true; } public boolean isRemoved() { return removed; } public void bindUniforms(Light light) { shader.bind(); light.bindUniforms(shader.getID()); shader.release(); } public int getX() { return x; } public int getY() { return y; } public abstract void update(); public abstract void render(); public void init(Level level) { this.level = level; } }