Search in sources :

Example 6 with Gizmo

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);
                }
            }
        }
    }
}
Also used : TransformGizmo(com.talosvfx.talos.editor.addons.scene.widgets.gizmos.TransformGizmo) Gizmo(com.talosvfx.talos.editor.addons.scene.widgets.gizmos.Gizmo) AComponent(com.talosvfx.talos.editor.addons.scene.logic.components.AComponent)

Example 7 with 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);
        }
    }
}
Also used : TransformGizmo(com.talosvfx.talos.editor.addons.scene.widgets.gizmos.TransformGizmo) Gizmo(com.talosvfx.talos.editor.addons.scene.widgets.gizmos.Gizmo) EventHandler(com.talosvfx.talos.editor.notifications.EventHandler)

Aggregations

Gizmo (com.talosvfx.talos.editor.addons.scene.widgets.gizmos.Gizmo)7 TransformGizmo (com.talosvfx.talos.editor.addons.scene.widgets.gizmos.TransformGizmo)7 Vector2 (com.badlogic.gdx.math.Vector2)2 Rectangle (com.badlogic.gdx.math.Rectangle)1 InputEvent (com.badlogic.gdx.scenes.scene2d.InputEvent)1 InputListener (com.badlogic.gdx.scenes.scene2d.InputListener)1 AComponent (com.talosvfx.talos.editor.addons.scene.logic.components.AComponent)1 EventHandler (com.talosvfx.talos.editor.notifications.EventHandler)1