use of com.talosvfx.talos.editor.addons.scene.widgets.gizmos.Gizmo in project talos by rockbite.
the class SceneEditorWorkspace method makeGizmosFor.
private void makeGizmosFor(GameObject gameObject) {
if (gizmoMap.containsKey(gameObject))
return;
Iterable<AComponent> components = gameObject.getComponents();
for (AComponent component : components) {
Array<Gizmo> gizmos = GizmoRegister.makeGizmosFor(component);
for (Gizmo gizmo : gizmos) {
if (gizmo != null) {
gizmo.setGameObject(gameObject);
Array<Gizmo> list = gizmoMap.get(gameObject);
if (list == null)
list = new Array<>();
gizmoMap.put(gameObject, list);
if (gizmo != null) {
gizmoList.add(gizmo);
list.add(gizmo);
}
}
}
}
}
use of com.talosvfx.talos.editor.addons.scene.widgets.gizmos.Gizmo in project talos by rockbite.
the class SceneEditorWorkspace method onGameObjectSelectionChanged.
@EventHandler
public void onGameObjectSelectionChanged(GameObjectSelectionChanged event) {
Array<GameObject> gameObjects = event.get();
for (Gizmo gizmo : gizmoList) {
gizmo.setSelected(false);
}
if (gameObjects.size == 1) {
Array<Gizmo> gizmos = gizmoMap.get(gameObjects.get(0));
for (Gizmo gizmo : gizmos) {
gizmo.setSelected(true);
}
} else {
for (GameObject gameObject : gameObjects) {
Array<Gizmo> gizmos = gizmoMap.get(gameObject);
if (gizmos != null) {
for (Gizmo gizmo : gizmos) {
if (gizmo.isMultiSelect()) {
gizmo.setSelected(true);
}
}
}
}
}
if (selection.size == 0) {
// we select the main container then
if (currentContainer instanceof Scene) {
Scene scene = (Scene) currentContainer;
selectPropertyHolder(scene);
}
} else {
if (selection.size == 1) {
selectPropertyHolder(gameObjects.first());
} else {
MultiPropertyHolder multiPropertyHolder = new MultiPropertyHolder(gameObjects);
selectPropertyHolder(multiPropertyHolder);
}
}
}
Aggregations