diff --git a/sdk/jme3-templates/src/com/jme3/gde/templates/files/Control.html b/sdk/jme3-templates/src/com/jme3/gde/templates/files/Control.html new file mode 100644 index 000000000..039061577 --- /dev/null +++ b/sdk/jme3-templates/src/com/jme3/gde/templates/files/Control.html @@ -0,0 +1,14 @@ + + + + + + + + +
A generic Control class that extends AbstractControl and can be used to control a spatial.
+ + diff --git a/sdk/jme3-templates/src/com/jme3/gde/templates/files/Control.template b/sdk/jme3-templates/src/com/jme3/gde/templates/files/Control.template new file mode 100644 index 000000000..7a48a7df9 --- /dev/null +++ b/sdk/jme3-templates/src/com/jme3/gde/templates/files/Control.template @@ -0,0 +1,66 @@ +<#assign licenseFirst = "/*"> +<#assign licensePrefix = " * "> +<#assign licenseLast = " */"> +<#include "../Licenses/license-${project.license}.txt"> + +<#if package?? && package != ""> +package ${package}; + +import com.jme3.export.InputCapsule; +import com.jme3.export.JmeExporter; +import com.jme3.export.JmeImporter; +import com.jme3.export.OutputCapsule; +import com.jme3.renderer.RenderManager; +import com.jme3.renderer.ViewPort; +import com.jme3.scene.Spatial; +import com.jme3.scene.control.AbstractControl; +import com.jme3.scene.control.Control; +import java.io.IOException; + + +/** + * + * @author ${user} + */ +public class ${name} extends AbstractControl{ + //Any local variables should be encapsulated by getters/setters so they + //appear in the SDK properties window and can be edited. + //Right-click a local variable to encapsulate it with getters and setters. + + @Override + protected void controlUpdate(float tpf) { + //TODO: add code that controls Spatial, + //e.g. spatial.rotate(tpf,tpf,tpf); + } + + @Override + protected void controlRender(RenderManager rm, ViewPort vp) { + //Only needed for rendering-related operations, + //not called when spatial is culled. + } + + public Control cloneForSpatial(Spatial spatial) { + Control control = new ${name}(); + //TODO: copy parameters to new Control + control.setSpatial(spatial); + return control; + } + + @Override + public void read(JmeImporter im) throws IOException { + super.read(im); + InputCapsule in = im.getCapsule(this); + //TODO: load properties of this Control, e.g. + //this.value = in.readFloat(value, "name", defaultValue); + } + + @Override + public void write(JmeExporter ex) throws IOException { + super.write(ex); + OutputCapsule out = ex.getCapsule(this); + //TODO: save properties of this Control, e.g. + //out.write(this.value, "name", defaultValue); + } + + +} diff --git a/sdk/jme3-templates/src/com/jme3/gde/templates/layer.xml b/sdk/jme3-templates/src/com/jme3/gde/templates/layer.xml index 35edf970a..16ad31c49 100644 --- a/sdk/jme3-templates/src/com/jme3/gde/templates/layer.xml +++ b/sdk/jme3-templates/src/com/jme3/gde/templates/layer.xml @@ -4,6 +4,7 @@ + @@ -13,5 +14,18 @@ + + + + + + + + + + + + +