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