From ee92e5f22933fee1556b3bf56b926a7365d4a192 Mon Sep 17 00:00:00 2001 From: "nor..67" Date: Fri, 1 Feb 2013 04:39:29 +0000 Subject: [PATCH] SDK - allow setting BlenderKey options for models supported via blender importer git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10288 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../AbstractBlenderImportDataObject.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java b/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java index 29fc3bcb5..094a81072 100644 --- a/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java +++ b/sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java @@ -4,14 +4,15 @@ */ package com.jme3.gde.blender.filetypes; +import com.jme3.asset.BlenderKey; +import com.jme3.asset.ModelKey; import com.jme3.gde.blender.BlenderTool; import com.jme3.gde.core.assets.ProjectAssetManager; import com.jme3.gde.core.assets.SpatialAssetDataObject; +import com.jme3.gde.core.util.Beans; import com.jme3.scene.Spatial; +import com.jme3.scene.plugins.ogre.OgreMeshKey; import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; import java.util.logging.Level; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; @@ -63,12 +64,14 @@ public abstract class AbstractBlenderImportDataObject extends SpatialAssetDataOb i++; blend1File = FileUtil.findBrother(mainFile, BlenderTool.TEMP_SUFFIX + i); } - String assetKey = mgr.getRelativeAssetPath(outFile.getPath()); + String assetKeyName = mgr.getRelativeAssetPath(outFile.getPath()); + BlenderKey key = new BlenderKey(assetKeyName); + Beans.copyProperties(key, getAssetKey()); FileLock lock = null; try { lock = getPrimaryFile().lock(); listListener.start(); - Spatial spatial = mgr.loadModel(assetKey); + Spatial spatial = mgr.loadModel(assetKeyName); replaceFiles(); listListener.stop(); savable = spatial; @@ -89,6 +92,15 @@ public abstract class AbstractBlenderImportDataObject extends SpatialAssetDataOb return null; } + @Override + public synchronized ModelKey getAssetKey() { + if(super.getAssetKey() instanceof BlenderKey){ + return (BlenderKey)assetKey; + } + assetKey = new BlenderKey(super.getAssetKey().getName()); + return (BlenderKey)assetKey; + } + protected void replaceFiles() { for (int i = 0; i < assetList.size(); i++) { FileObject fileObject = assetList.get(i);