|
@@ -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;
|
|
|
+
|
|
|
+</#if>
|
|
|
+/**
|
|
|
+ *
|
|
|
+ * @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);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|