get All of a type from scene
parent
ae4c5bc8d2
commit
bcf1a6c265
|
|
@ -1,5 +1,7 @@
|
||||||
package xyz.valnet.engine.scenegraph;
|
package xyz.valnet.engine.scenegraph;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import xyz.valnet.hadean.scenes.GameScene;
|
import xyz.valnet.hadean.scenes.GameScene;
|
||||||
|
|
||||||
public class GameObject implements IRenderable, ITickable {
|
public class GameObject implements IRenderable, ITickable {
|
||||||
|
|
@ -13,6 +15,10 @@ public class GameObject implements IRenderable, ITickable {
|
||||||
return this.scene.get(clazz);
|
return this.scene.get(clazz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected <T> List<T> getAll(Class<T> clazz) {
|
||||||
|
return this.scene.getAll(clazz);
|
||||||
|
}
|
||||||
|
|
||||||
protected final void add(GameObject obj) {
|
protected final void add(GameObject obj) {
|
||||||
scene.add(obj);
|
scene.add(obj);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ import xyz.valnet.engine.scenegraph.GameObject;
|
||||||
import xyz.valnet.engine.scenegraph.IScene;
|
import xyz.valnet.engine.scenegraph.IScene;
|
||||||
import xyz.valnet.hadean.gameobjects.Camera;
|
import xyz.valnet.hadean.gameobjects.Camera;
|
||||||
import xyz.valnet.hadean.gameobjects.Pawn;
|
import xyz.valnet.hadean.gameobjects.Pawn;
|
||||||
|
import xyz.valnet.hadean.gameobjects.Selection;
|
||||||
|
import xyz.valnet.hadean.gameobjects.SelectionUI;
|
||||||
import xyz.valnet.hadean.gameobjects.Terrain;
|
import xyz.valnet.hadean.gameobjects.Terrain;
|
||||||
|
|
||||||
public class GameScene implements IScene {
|
public class GameScene implements IScene {
|
||||||
|
|
@ -27,6 +29,16 @@ public class GameScene implements IScene {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public <T> List<T> getAll(Class<T> clazz) {
|
||||||
|
List<T> stuff = new ArrayList<T>();
|
||||||
|
for(GameObject obj : objects) {
|
||||||
|
if(clazz.isInstance(obj)) {
|
||||||
|
stuff.add(clazz.cast(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return stuff;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render() {
|
public void render() {
|
||||||
for(GameObject obj : objects) {
|
for(GameObject obj : objects) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue