Преглед на файлове

trail material edition ok

ncannasse преди 8 години
родител
ревизия
94f3e08b70
променени са 2 файла, в които са добавени 13 реда и са изтрити 4 реда
  1. 4 3
      hide/comp/PropsEditor.hx
  2. 9 1
      hide/view/SceneEditor.hx

+ 4 - 3
hide/comp/PropsEditor.hx

@@ -17,15 +17,16 @@ class PropsEditor extends Component {
 		fields = [];
 		fields = [];
 	}
 	}
 
 
-	public function addMaterial( m : h3d.mat.Material, ?parent : Element ) {
+	public function addMaterial( m : h3d.mat.Material, ?parent : Element, ?onChange ) {
 		var props = m.props;
 		var props = m.props;
 		var def = h3d.mat.MaterialSetup.current.editMaterial(props);
 		var def = h3d.mat.MaterialSetup.current.editMaterial(props);
-		def = add(def, props, function(_) {
+		def = add(def, props, function(name) {
 			if( m.model != null )
 			if( m.model != null )
 				h3d.mat.MaterialSetup.current.saveModelMaterial(m);
 				h3d.mat.MaterialSetup.current.saveModelMaterial(m);
 			m.refreshProps();
 			m.refreshProps();
 			def.remove();
 			def.remove();
-			addMaterial(m, parent);
+			addMaterial(m, parent, onChange);
+			if( onChange != null ) onChange(name);
 		});
 		});
 		if( parent != null && parent.length != 0 )
 		if( parent != null && parent.length != 0 )
 			def.appendTo(parent);
 			def.appendTo(parent);

+ 9 - 1
hide/view/SceneEditor.hx

@@ -168,15 +168,20 @@ class SceneEditor extends FileView {
 
 
 			var elt : ExtraProperties = cast elt;
 			var elt : ExtraProperties = cast elt;
 			var obj : h3d.scene.Trail = cast obj;
 			var obj : h3d.scene.Trail = cast obj;
+
+
 			var props = properties.add(new Element('
 			var props = properties.add(new Element('
+			<div class="group" name="Material">
+			</div>
 			<div class="group" name="Trail Properties">
 			<div class="group" name="Trail Properties">
 				<dl>
 				<dl>
 					<dt>Angle</dt><dd><input type="range" field="angle" scale="${180/Math.PI}" min="0" max="${Math.PI*2}"/></dd>
 					<dt>Angle</dt><dd><input type="range" field="angle" scale="${180/Math.PI}" min="0" max="${Math.PI*2}"/></dd>
-					<dt>Duration</dt><dd><input type="range" field="duration" min="0" max="10"/></dd>
+					<dt>Duration</dt><dd><input type="range" field="duration" min="0" max="1"/></dd>
 					<dt>Size Start</dt><dd><input type="range" field="sizeStart" min="0" max="10"/></dd>
 					<dt>Size Start</dt><dd><input type="range" field="sizeStart" min="0" max="10"/></dd>
 					<dt>Size End</dt><dd><input type="range" field="sizeEnd" min="0" max="10"/></dd>
 					<dt>Size End</dt><dd><input type="range" field="sizeEnd" min="0" max="10"/></dd>
 					<dt>Movement Min.</dt><dd><input type="range" field="movementMin" min="0" max="1"/></dd>
 					<dt>Movement Min.</dt><dd><input type="range" field="movementMin" min="0" max="1"/></dd>
 					<dt>Movement Max.</dt><dd><input type="range" field="movementMax" min="0" max="1"/></dd>
 					<dt>Movement Max.</dt><dd><input type="range" field="movementMax" min="0" max="1"/></dd>
+					<dt>Smoothness</dt><dd><input type="range" field="smoothness" min="0" max="1"/></dd>
 					<dt>Texture</dt><dd><input type="texture" field="texture"/></dd>
 					<dt>Texture</dt><dd><input type="texture" field="texture"/></dd>
 				</dl>
 				</dl>
 			</div>
 			</div>
@@ -184,6 +189,9 @@ class SceneEditor extends FileView {
 				elt.data = obj.save();
 				elt.data = obj.save();
 			});
 			});
 
 
+			properties.addMaterial( obj.material, props.find("[name=Material] > .content"), function(_) elt.data = obj.save());
+
+
 		default:
 		default:
 		}
 		}
 	}
 	}