|
|
@@ -12,6 +12,7 @@ class MainToolbar extends Atomic.UIWidget {
|
|
|
translateButton: Atomic.UIButton;
|
|
|
rotateButton: Atomic.UIButton;
|
|
|
scaleButton: Atomic.UIButton;
|
|
|
+ axisButton: Atomic.UIButton;
|
|
|
|
|
|
constructor(parent: Atomic.UIWidget) {
|
|
|
|
|
|
@@ -23,15 +24,32 @@ class MainToolbar extends Atomic.UIWidget {
|
|
|
this.rotateButton = <Atomic.UIButton>this.getWidget("3d_rotate");
|
|
|
this.scaleButton = <Atomic.UIButton>this.getWidget("3d_scale");
|
|
|
|
|
|
+ this.axisButton = <Atomic.UIButton>this.getWidget("3d_axismode");
|
|
|
+
|
|
|
this.translateButton.value = 1;
|
|
|
|
|
|
parent.addChild(this);
|
|
|
|
|
|
+ this.subscribeToEvent("GizmoAxisModeChanged", (ev) => this.handleGizmoAxisModeChanged(ev));
|
|
|
this.subscribeToEvent("GizmoEditModeChanged", (ev) => this.handleGizmoEditModeChanged(ev));
|
|
|
this.subscribeToEvent(this, "WidgetEvent", (data) => this.handleWidgetEvent(data));
|
|
|
}
|
|
|
|
|
|
- handleGizmoEditModeChanged(ev) {
|
|
|
+ handleGizmoAxisModeChanged(ev: Editor.GizmoAxisModeChangedEvent) {
|
|
|
+
|
|
|
+ if (ev.toggle) return;
|
|
|
+
|
|
|
+ if (ev.mode == Editor.AXIS_WORLD) {
|
|
|
+ this.axisButton.value = 1;
|
|
|
+ this.axisButton.text = "World";
|
|
|
+ } else {
|
|
|
+ this.axisButton.value = 0;
|
|
|
+ this.axisButton.text = "Local";
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ handleGizmoEditModeChanged(ev: Editor.GizmoEditModeChangedEvent) {
|
|
|
|
|
|
this.translateButton.value = 0;
|
|
|
this.rotateButton.value = 0;
|
|
|
@@ -69,9 +87,7 @@ class MainToolbar extends Atomic.UIWidget {
|
|
|
|
|
|
} else if (ev.target.id == "3d_axismode") {
|
|
|
|
|
|
- ev.target.text = ev.target.value ? "World" : "Local";
|
|
|
-
|
|
|
- EditorUI.getShortcuts().invokeGizmoAxisModeChanged( ev.target.value ? Editor.AXIS_WORLD : Editor.AXIS_LOCAL);
|
|
|
+ EditorUI.getShortcuts().invokeGizmoAxisModeChanged(ev.target.value ? Editor.AXIS_WORLD : Editor.AXIS_LOCAL);
|
|
|
return true;
|
|
|
|
|
|
} else if (ev.target.id == "maintoolbar_play") {
|