- 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
3.0
nor..67 12 years ago
parent f5b5f2f2a3
commit ee92e5f229
  1. 22
      sdk/jme3-blender/src/com/jme3/gde/blender/filetypes/AbstractBlenderImportDataObject.java

@ -4,14 +4,15 @@
*/ */
package com.jme3.gde.blender.filetypes; 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.blender.BlenderTool;
import com.jme3.gde.core.assets.ProjectAssetManager; import com.jme3.gde.core.assets.ProjectAssetManager;
import com.jme3.gde.core.assets.SpatialAssetDataObject; import com.jme3.gde.core.assets.SpatialAssetDataObject;
import com.jme3.gde.core.util.Beans;
import com.jme3.scene.Spatial; import com.jme3.scene.Spatial;
import com.jme3.scene.plugins.ogre.OgreMeshKey;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import org.openide.DialogDisplayer; import org.openide.DialogDisplayer;
import org.openide.NotifyDescriptor; import org.openide.NotifyDescriptor;
@ -63,12 +64,14 @@ public abstract class AbstractBlenderImportDataObject extends SpatialAssetDataOb
i++; i++;
blend1File = FileUtil.findBrother(mainFile, BlenderTool.TEMP_SUFFIX + 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; FileLock lock = null;
try { try {
lock = getPrimaryFile().lock(); lock = getPrimaryFile().lock();
listListener.start(); listListener.start();
Spatial spatial = mgr.loadModel(assetKey); Spatial spatial = mgr.loadModel(assetKeyName);
replaceFiles(); replaceFiles();
listListener.stop(); listListener.stop();
savable = spatial; savable = spatial;
@ -89,6 +92,15 @@ public abstract class AbstractBlenderImportDataObject extends SpatialAssetDataOb
return null; 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() { protected void replaceFiles() {
for (int i = 0; i < assetList.size(); i++) { for (int i = 0; i < assetList.size(); i++) {
FileObject fileObject = assetList.get(i); FileObject fileObject = assetList.get(i);

Loading…
Cancel
Save