Browse Source

Port toolbar features from prefab to l3d

Jed 4 years ago
parent
commit
3dbf5dba99
1 changed files with 14 additions and 0 deletions
  1. 14 0
      hide/view/l3d/Level3D.hx

+ 14 - 0
hide/view/l3d/Level3D.hx

@@ -284,6 +284,8 @@ class Level3D extends FileView {
 	var curGridHeight : Int;
 
 	var showGrid = false;
+	// autoSync
+	var autoSync : Bool;
 	var currentVersion : Int = 0;
 	var lastSyncChange : Float = 0.;
 	var sceneFilters : Map<String, Bool>;
@@ -372,6 +374,7 @@ class Level3D extends FileView {
 		tools.saveDisplayKey = "Level3D/toolbar";
 		tools.addButton("video-camera", "Perspective camera", () -> resetCamera(false));
 		tools.addButton("video-camera", "Top camera", () -> resetCamera(true)).find(".icon").css({transform: "rotateZ(90deg)"});
+		tools.addToggle("arrows", "2D Camera", (b) -> sceneEditor.camera2D = b);
 		tools.addToggle("anchor", "Snap to ground", (v) -> sceneEditor.snapToGround = v, sceneEditor.snapToGround);
 		var localToggle = tools.addToggle("compass", "Local transforms", (v) -> sceneEditor.localTransform = v, sceneEditor.localTransform);
 		keys.register("sceneeditor.toggleLocal", () -> localToggle.toggle(!localToggle.isDown()));
@@ -419,6 +422,12 @@ class Level3D extends FileView {
 			scene.engine.backgroundColor = v;
 			updateGrid();
 		}, scene.engine.backgroundColor);
+		tools.addToggle("refresh", "Auto synchronize", function(b) {
+			autoSync = b;
+		});
+		tools.addRange("Speed", function(v) {
+			scene.speed = v;
+		}, scene.speed);
 
 		posToolTip = new h2d.Text(hxd.res.DefaultFont.get(), scene.s2d);
 		posToolTip.dropShadow = { dx : 1, dy : 1, color : 0, alpha : 0.5 };
@@ -585,6 +594,11 @@ class Level3D extends FileView {
 		if( curGridSize != data.gridSize || curGridWidth != data.width || curGridHeight != data.height ) {
 			updateGrid();
 		}
+		if( autoSync && (currentVersion != undo.currentID || lastSyncChange != properties.lastChange) ) {
+			save();
+			lastSyncChange = properties.lastChange;
+			currentVersion = undo.currentID;
+		}
 
 	}