* Fix export objects that doesn't have resources

* Fix names
This commit is contained in:
fgnm
2022-03-13 11:43:03 +01:00
parent 0041616d88
commit 23ac981e87
26 changed files with 129 additions and 142 deletions
@@ -2,8 +2,8 @@ package games.rednblack.editor.controller.commands.resource;
import games.rednblack.editor.proxy.ResolutionManager;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
/**
* Created by azakhary on 11/29/2015.
@@ -21,7 +21,7 @@ public class DeleteImageResource extends DeleteResourceCommand {
@Override
public void doAction() {
String imageName = notification.getBody();
if (AssetImporter.getInstance().deleteAsset(ImportUtils.TYPE_IMAGE, sandbox.getRootEntity(), imageName)) {
if (AssetIOManager.getInstance().deleteAsset(AssetsUtils.TYPE_IMAGE, sandbox.getRootEntity(), imageName)) {
ResolutionManager resolutionManager = facade.retrieveProxy(ResolutionManager.NAME);
resolutionManager.rePackProjectImagesForAllResolutions(true);
sendNotification(DONE, imageName);
@@ -1,7 +1,7 @@
package games.rednblack.editor.controller.commands.resource;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
public class DeleteLibraryAction extends DeleteResourceCommand {
@@ -17,7 +17,7 @@ public class DeleteLibraryAction extends DeleteResourceCommand {
public void doAction() {
String libraryActionName = notification.getBody();
AssetImporter.getInstance().deleteAsset(ImportUtils.TYPE_HYPERLAP2D_ACTION, sandbox.getRootEntity(), libraryActionName);
AssetIOManager.getInstance().deleteAsset(AssetsUtils.TYPE_HYPERLAP2D_ACTION, sandbox.getRootEntity(), libraryActionName);
facade.sendNotification(DONE, libraryActionName);
}
@@ -1,7 +1,7 @@
package games.rednblack.editor.controller.commands.resource;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
/**
* Created by azakhary on 11/29/2015.
@@ -20,7 +20,7 @@ public class DeleteLibraryItem extends DeleteResourceCommand {
public void doAction() {
String libraryItemName = notification.getBody();
AssetImporter.getInstance().deleteAsset(ImportUtils.TYPE_HYPERLAP2D_LIBRARY, sandbox.getRootEntity(), libraryItemName);
AssetIOManager.getInstance().deleteAsset(AssetsUtils.TYPE_HYPERLAP2D_LIBRARY, sandbox.getRootEntity(), libraryItemName);
facade.sendNotification(DONE, libraryItemName);
}
@@ -2,7 +2,7 @@ package games.rednblack.editor.controller.commands.resource;
import games.rednblack.editor.proxy.ResolutionManager;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.view.ui.BoxItemResourceSelectionUIMediator;
public class DeleteMultipleResources extends DeleteResourceCommand {
@@ -19,7 +19,7 @@ public class DeleteMultipleResources extends DeleteResourceCommand {
public void doAction() {
BoxItemResourceSelectionUIMediator boxSelection = facade.retrieveMediator(BoxItemResourceSelectionUIMediator.NAME);
for (String resource : boxSelection.boxResourceSelectedSet) {
if (!AssetImporter.getInstance().deleteAsset(sandbox.getRootEntity(), resource))
if (!AssetIOManager.getInstance().deleteAsset(sandbox.getRootEntity(), resource))
cancel();
}
@@ -1,8 +1,8 @@
package games.rednblack.editor.controller.commands.resource;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
/**
* Created by Sasun Poghosyan on 5/10/2016.
@@ -20,7 +20,7 @@ public class DeleteParticleEffect extends DeleteResourceCommand {
@Override
public void doAction() {
String particleName = notification.getBody();
if (AssetImporter.getInstance().deleteAsset(ImportUtils.TYPE_PARTICLE_EFFECT, sandbox.getRootEntity(), particleName)) {
if (AssetIOManager.getInstance().deleteAsset(AssetsUtils.TYPE_PARTICLE_EFFECT, sandbox.getRootEntity(), particleName)) {
projectManager.loadProjectData(projectManager.getCurrentProjectPath());
sendNotification(DONE, particleName);
SceneVO vo = sandbox.sceneVoFromItems();
@@ -2,8 +2,8 @@ package games.rednblack.editor.controller.commands.resource;
import games.rednblack.editor.proxy.ResolutionManager;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
/**
* Created by Sasun Poghosyan on 5/10/2016.
@@ -21,7 +21,7 @@ public class DeleteSpineAnimation extends DeleteResourceCommand {
@Override
public void doAction() {
String spineItemName = notification.getBody();
if (AssetImporter.getInstance().deleteAsset(ImportUtils.TYPE_SPINE_ANIMATION, sandbox.getRootEntity(), spineItemName)) {
if (AssetIOManager.getInstance().deleteAsset(AssetsUtils.TYPE_SPINE_ANIMATION, sandbox.getRootEntity(), spineItemName)) {
ResolutionManager resolutionManager = facade.retrieveProxy(ResolutionManager.NAME);
resolutionManager.rePackProjectImagesForAllResolutions(true);
@@ -2,8 +2,8 @@ package games.rednblack.editor.controller.commands.resource;
import games.rednblack.editor.proxy.ResolutionManager;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
/**
* Created by Sasun Poghosyan on 5/12/2016.
@@ -21,7 +21,7 @@ public class DeleteSpriteAnimation extends DeleteResourceCommand {
@Override
public void doAction() {
String spriteAnimationName = notification.getBody();
if (AssetImporter.getInstance().deleteAsset(ImportUtils.TYPE_SPRITE_ANIMATION_ATLAS, sandbox.getRootEntity(), spriteAnimationName)) {
if (AssetIOManager.getInstance().deleteAsset(AssetsUtils.TYPE_SPRITE_ANIMATION_ATLAS, sandbox.getRootEntity(), spriteAnimationName)) {
ResolutionManager resolutionManager = facade.retrieveProxy(ResolutionManager.NAME);
resolutionManager.rePackProjectImagesForAllResolutions(true);
@@ -1,8 +1,8 @@
package games.rednblack.editor.controller.commands.resource;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
public class DeleteTalosVFX extends DeleteResourceCommand {
@@ -17,7 +17,7 @@ public class DeleteTalosVFX extends DeleteResourceCommand {
@Override
public void doAction() {
String particleName = notification.getBody();
if (AssetImporter.getInstance().deleteAsset(ImportUtils.TYPE_TALOS_VFX, sandbox.getRootEntity(), particleName)) {
if (AssetIOManager.getInstance().deleteAsset(AssetsUtils.TYPE_TALOS_VFX, sandbox.getRootEntity(), particleName)) {
projectManager.loadProjectData(projectManager.getCurrentProjectPath());
sendNotification(DONE, particleName);
SceneVO vo = sandbox.sceneVoFromItems();
@@ -7,8 +7,8 @@ import com.badlogic.gdx.utils.Json;
import games.rednblack.editor.controller.commands.NonRevertibleCommand;
import games.rednblack.editor.renderer.data.*;
import games.rednblack.editor.renderer.utils.HyperJson;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.ZipUtils;
import games.rednblack.h2d.common.MsgAPI;
import games.rednblack.h2d.common.vo.ExportMapperVO;
@@ -97,10 +97,11 @@ public class ExportLibraryItemCommand extends NonRevertibleCommand {
FileUtils.writeStringToFile(new File(tempDir.getPath() + File.separator + libraryItemName + ".lib"), json.toJson(compositeItemVO), "utf-8");
for (MainItemVO itemVO : compositeItemVO.getAllItems()) {
AssetImporter.getInstance().exportAsset(itemVO, exportMapperVO, tempDir);
if (itemVO instanceof CompositeItemVO) continue;
AssetIOManager.getInstance().exportAsset(itemVO, exportMapperVO, tempDir);
}
exportMapperVO.mapper.add(new ExportedAsset(ImportUtils.TYPE_HYPERLAP2D_INTERNAL_LIBRARY, libraryItemName + ".lib"));
exportMapperVO.mapper.add(new ExportedAsset(AssetsUtils.TYPE_HYPERLAP2D_INTERNAL_LIBRARY, libraryItemName + ".lib"));
FileUtils.writeStringToFile(new File(tempDir.getPath() + File.separator + "mapper"), json.toJson(exportMapperVO), "utf-8");
@@ -12,7 +12,7 @@ import games.rednblack.editor.data.migrations.IVersionMigrator;
import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.renderer.data.ProjectInfoVO;
import games.rednblack.editor.renderer.data.TexturePackVO;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.h2d.common.vo.ProjectVO;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
@@ -67,7 +67,7 @@ public class VersionMigTo020 implements IVersionMigrator {
}
try {
ImportUtils.unpackAtlasIntoTmpFolder(atlasTargetPath.file(), null,projectPath + File.separator + ProjectManager.IMAGE_DIR_PATH);
AssetsUtils.unpackAtlasIntoTmpFolder(atlasTargetPath.file(), null,projectPath + File.separator + ProjectManager.IMAGE_DIR_PATH);
} catch (Exception ignore) {
}
}
@@ -87,7 +87,7 @@ public class VersionMigTo020 implements IVersionMigrator {
}
try {
ImportUtils.unpackAtlasIntoTmpFolder(atlasTargetPath.file(), animName, projectPath + File.separator + ProjectManager.IMAGE_DIR_PATH);
AssetsUtils.unpackAtlasIntoTmpFolder(atlasTargetPath.file(), animName, projectPath + File.separator + ProjectManager.IMAGE_DIR_PATH);
} catch (Exception ignore) {
}
}
@@ -20,18 +20,18 @@ import games.rednblack.h2d.extension.talos.TalosVO;
import java.io.File;
import java.io.IOException;
public class AssetImporter {
public class AssetIOManager {
private static AssetImporter sInstance;
private static AssetIOManager sInstance;
private ImportPanelMediator.AssetsImportProgressHandler progressHandler;
private ImportPanel viewComponent;
private final Array<Asset> assetDescriptors = new Array<>();
private final ObjectMap<Class<? extends MainItemVO>, Integer> dataClassExportMap = new ObjectMap<>();
public static AssetImporter getInstance() {
public static AssetIOManager getInstance() {
if (sInstance == null) {
sInstance = new AssetImporter();
sInstance = new AssetIOManager();
sInstance.assetDescriptors.add(new ImageAsset());
sInstance.assetDescriptors.add(new AtlasAsset());
sInstance.assetDescriptors.add(new ParticleEffectAsset());
@@ -44,17 +44,17 @@ public class AssetImporter {
sInstance.assetDescriptors.add(new HyperLap2DLibraryAsset());
sInstance.assetDescriptors.add(new HyperLap2DActionAsset());
sInstance.dataClassExportMap.put(SimpleImageVO.class, ImportUtils.TYPE_IMAGE);
sInstance.dataClassExportMap.put(Image9patchVO.class, ImportUtils.TYPE_IMAGE);
sInstance.dataClassExportMap.put(SpineVO.class, ImportUtils.TYPE_SPINE_ANIMATION);
sInstance.dataClassExportMap.put(SpriteAnimationVO.class, ImportUtils.TYPE_SPRITE_ANIMATION_ATLAS);
sInstance.dataClassExportMap.put(ParticleEffectVO.class, ImportUtils.TYPE_PARTICLE_EFFECT);
sInstance.dataClassExportMap.put(TalosVO.class, ImportUtils.TYPE_TALOS_VFX);
sInstance.dataClassExportMap.put(SimpleImageVO.class, AssetsUtils.TYPE_IMAGE);
sInstance.dataClassExportMap.put(Image9patchVO.class, AssetsUtils.TYPE_IMAGE);
sInstance.dataClassExportMap.put(SpineVO.class, AssetsUtils.TYPE_SPINE_ANIMATION);
sInstance.dataClassExportMap.put(SpriteAnimationVO.class, AssetsUtils.TYPE_SPRITE_ANIMATION_ATLAS);
sInstance.dataClassExportMap.put(ParticleEffectVO.class, AssetsUtils.TYPE_PARTICLE_EFFECT);
sInstance.dataClassExportMap.put(TalosVO.class, AssetsUtils.TYPE_TALOS_VFX);
}
return sInstance;
}
private AssetImporter() {
private AssetIOManager() {
}
@@ -67,7 +67,7 @@ public class AssetImporter {
}
public void postPathObtainAction(String[] paths) {
int fileType = ImportUtils.TYPE_UNKNOWN;
int fileType = AssetsUtils.TYPE_UNKNOWN;
Array<FileHandle> files = getFilesFromPaths(paths);
for (Asset asset : assetDescriptors) {
@@ -100,7 +100,7 @@ public class AssetImporter {
SettingsManager settingsManager = HyperLap2DFacade.getInstance().retrieveProxy(SettingsManager.NAME);
settingsManager.setLastImportedPath(files.get(0).parent().path());
int count = (type != ImportUtils.TYPE_ANIMATION_PNG_SEQUENCE) ? files.size : 1;
int count = (type != AssetsUtils.TYPE_ANIMATION_PNG_SEQUENCE) ? files.size : 1;
viewComponent.setImportingView(type, count);
}
@@ -149,8 +149,12 @@ public class AssetImporter {
return false;
}
public boolean exportAsset(MainItemVO itemVO, ExportMapperVO exportMapperVO, File tmpDir) throws IOException {
return exportAsset(dataClassExportMap.get(itemVO.getClass()), itemVO, exportMapperVO, tmpDir);
public boolean exportAsset(MainItemVO itemVO, ExportMapperVO exportMapperVO, File tmpDir) {
try {
return exportAsset(dataClassExportMap.get(itemVO.getClass()), itemVO, exportMapperVO, tmpDir);
} catch (Exception e) {
return false;
}
}
public boolean exportAsset(int type, MainItemVO itemVO, ExportMapperVO exportMapperVO, File tmpDir) throws IOException {
@@ -1,21 +1,3 @@
/*
* ******************************************************************************
* * Copyright 2015 See AUTHORS file.
* *
* * Licensed under the Apache License, Version 2.0 (the "License");
* * you may not use this file except in compliance with the License.
* * You may obtain a copy of the License at
* *
* * http://www.apache.org/licenses/LICENSE-2.0
* *
* * Unless required by applicable law or agreed to in writing, software
* * distributed under the License is distributed on an "AS IS" BASIS,
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* * See the License for the specific language governing permissions and
* * limitations under the License.
* *****************************************************************************
*/
package games.rednblack.editor.utils;
import com.badlogic.gdx.files.FileHandle;
@@ -30,9 +12,9 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class ImportUtils {
public class AssetsUtils {
private static ImportUtils instance;
private static AssetsUtils instance;
public static final int TYPE_FAILED = -3;
public static final int TYPE_MIXED = -2;
@@ -54,7 +36,7 @@ public class ImportUtils {
private final FileTypeFilter fileTypeFilter;
private ImportUtils() {
private AssetsUtils() {
fileTypeFilter = new FileTypeFilter(false);
fileTypeFilter.addRule("All Supported (*.png, *.atlas, *.p, *.json, *.vert, *.frag, *.h2dlib, *.h2daction)", "png", "atlas", "p", "json", "vert", "frag", "h2dlib", "h2daction");
@@ -67,9 +49,9 @@ public class ImportUtils {
fileTypeFilter.addRule("HyperLap2D Action (*.h2daction)", "h2daction");
}
public static ImportUtils getInstance() {
public static AssetsUtils getInstance() {
if (instance == null) {
instance = new ImportUtils();
instance = new AssetsUtils();
}
return instance;
@@ -7,7 +7,7 @@ import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.proxy.ResolutionManager;
import games.rednblack.editor.proxy.ResourceManager;
import games.rednblack.editor.renderer.data.*;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.view.stage.Sandbox;
import games.rednblack.h2d.common.ProgressHandler;
import games.rednblack.h2d.common.vo.ExportMapperVO;
@@ -43,7 +43,7 @@ public abstract class Asset implements IAsset {
public int matchType(Array<FileHandle> files) {
for (FileHandle file : new Array.ArrayIterator<>(files)) {
if (!matchMimeType(file))
return ImportUtils.TYPE_UNKNOWN;
return AssetsUtils.TYPE_UNKNOWN;
}
return getType();
}
@@ -95,7 +95,7 @@ public abstract class Asset implements IAsset {
File v = new File(currentProjectPath + ProjectManager.SHADER_DIR_PATH + File.separator + shaderName + ".vert");
FileUtils.copyFileToDirectory(v, tmpDir);
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(ImportUtils.TYPE_SHADER, shaderName + ".frag"));
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(ImportUtils.TYPE_SHADER, shaderName + ".vert"));
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(AssetsUtils.TYPE_SHADER, shaderName + ".frag"));
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(AssetsUtils.TYPE_SHADER, shaderName + ".vert"));
}
}
@@ -4,7 +4,7 @@ import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.utils.Array;
import games.rednblack.editor.renderer.data.TexturePackVO;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.h2d.common.MsgAPI;
import games.rednblack.h2d.common.ProgressHandler;
@@ -17,7 +17,7 @@ public class AtlasAsset extends Asset {
@Override
public int getType() {
return ImportUtils.TYPE_TEXTURE_ATLAS;
return AssetsUtils.TYPE_TEXTURE_ATLAS;
}
@Override
@@ -25,7 +25,7 @@ public class AtlasAsset extends Asset {
if (!file.extension().equals("atlas")) return false;
try {
TextureAtlas.TextureAtlasData atlas = new TextureAtlas.TextureAtlasData(file, file.parent(), false);
return !ImportUtils.isAtlasAnimationSequence(atlas.getRegions());
return !AssetsUtils.isAtlasAnimationSequence(atlas.getRegions());
} catch (Exception ignore) {
}
return false;
@@ -45,7 +45,7 @@ public class AtlasAsset extends Asset {
if (tmpDir.exists())
FileUtils.forceDelete(tmpDir.file());
FileUtils.forceMkdir(tmpDir.file());
ImportUtils.unpackAtlasIntoTmpFolder(fileHandle.file(), null, tmpDir.path());
AssetsUtils.unpackAtlasIntoTmpFolder(fileHandle.file(), null, tmpDir.path());
Array<FileHandle> images = new Array<>(tmpDir.list());
projectManager.copyImageFilesForAllResolutionsIntoProject(images, true, progressHandler);
FileUtils.forceDelete(tmpDir.file());
@@ -5,7 +5,7 @@ import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import games.rednblack.editor.renderer.data.GraphVO;
import games.rednblack.editor.renderer.utils.HyperJson;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.h2d.common.ProgressHandler;
@@ -21,7 +21,7 @@ public class HyperLap2DActionAsset extends Asset {
@Override
public int getType() {
return ImportUtils.TYPE_HYPERLAP2D_ACTION;
return AssetsUtils.TYPE_HYPERLAP2D_ACTION;
}
@Override
@@ -6,7 +6,7 @@ import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import games.rednblack.editor.renderer.data.*;
import games.rednblack.editor.renderer.utils.HyperJson;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.h2d.common.ProgressHandler;
import org.apache.commons.io.FileUtils;
@@ -22,7 +22,7 @@ public class HyperLap2DInternalLibraryAsset extends Asset {
@Override
public int getType() {
return ImportUtils.TYPE_HYPERLAP2D_INTERNAL_LIBRARY;
return AssetsUtils.TYPE_HYPERLAP2D_INTERNAL_LIBRARY;
}
@Override
@@ -11,8 +11,8 @@ import games.rednblack.editor.renderer.components.MainItemComponent;
import games.rednblack.editor.renderer.data.CompositeItemVO;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.renderer.utils.HyperJson;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.ZipUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.editor.utils.runtime.EntityUtils;
@@ -36,7 +36,7 @@ public class HyperLap2DLibraryAsset extends Asset {
@Override
public int getType() {
return ImportUtils.TYPE_HYPERLAP2D_LIBRARY;
return AssetsUtils.TYPE_HYPERLAP2D_LIBRARY;
}
@Override
@@ -114,7 +114,7 @@ public class HyperLap2DLibraryAsset extends Asset {
progressHandler.progressChanged(80f * recursiveProgressIndex / (exportMapperVO.mapper.size - 1));
ExportMapperVO.ExportedAsset asset = exportMapperVO.mapper.get(recursiveProgressIndex);
FileHandle file = new FileHandle(libTmpDir.getPath() + File.separator + asset.fileName);
AssetImporter.getInstance().importInternalResource(file, this);
AssetIOManager.getInstance().importInternalResource(file, this);
} else {
try {
FileUtils.deleteDirectory(libTmpDir);
@@ -149,7 +149,7 @@ public class HyperLap2DLibraryAsset extends Asset {
importStarted = true;
ExportMapperVO.ExportedAsset asset = exportMapperVO.mapper.get(0);
FileHandle file = new FileHandle(libTmpDir.getPath() + File.separator + asset.fileName);
AssetImporter.getInstance().importInternalResource(file, recursiveProgressHandler);
AssetIOManager.getInstance().importInternalResource(file, recursiveProgressHandler);
}
}
@@ -11,7 +11,7 @@ import games.rednblack.editor.proxy.SceneDataManager;
import games.rednblack.editor.renderer.components.NinePatchComponent;
import games.rednblack.editor.renderer.components.TextureRegionComponent;
import games.rednblack.editor.renderer.data.*;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.editor.utils.runtime.EntityUtils;
import games.rednblack.editor.utils.runtime.SandboxComponentRetriever;
@@ -33,12 +33,12 @@ public class ImageAsset extends Asset {
names[i] = files.get(i).nameWithoutExtension();
}
return ImportUtils.isAnimationSequence(names) ? ImportUtils.TYPE_UNKNOWN : super.matchType(files);
return AssetsUtils.isAnimationSequence(names) ? AssetsUtils.TYPE_UNKNOWN : super.matchType(files);
}
@Override
public int getType() {
return ImportUtils.TYPE_IMAGE;
return AssetsUtils.TYPE_IMAGE;
}
@Override
@@ -190,11 +190,11 @@ public class ImageAsset extends Asset {
if (item instanceof SimpleImageVO imageVO) {
File fileSrc = new File(currentProjectPath + ProjectManager.IMAGE_DIR_PATH + File.separator + imageVO.imageName + ".png");
FileUtils.copyFileToDirectory(fileSrc, tmpDir);
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(ImportUtils.TYPE_IMAGE, fileSrc.getName()));
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(AssetsUtils.TYPE_IMAGE, fileSrc.getName()));
} else if (item instanceof Image9patchVO imageVO) {
File fileSrc = new File(currentProjectPath + ProjectManager.IMAGE_DIR_PATH + File.separator + imageVO.imageName + ".9.png");
FileUtils.copyFileToDirectory(fileSrc, tmpDir);
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(ImportUtils.TYPE_IMAGE, fileSrc.getName()));
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(AssetsUtils.TYPE_IMAGE, fileSrc.getName()));
}
return true;
@@ -13,7 +13,7 @@ import games.rednblack.editor.renderer.data.CompositeItemVO;
import games.rednblack.editor.renderer.data.MainItemVO;
import games.rednblack.editor.renderer.data.ParticleEffectVO;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.editor.utils.runtime.EntityUtils;
import games.rednblack.editor.utils.runtime.SandboxComponentRetriever;
@@ -33,7 +33,7 @@ public class ParticleEffectAsset extends Asset {
@Override
public int getType() {
return ImportUtils.TYPE_PARTICLE_EFFECT;
return AssetsUtils.TYPE_PARTICLE_EFFECT;
}
@Override
@@ -206,7 +206,7 @@ public class ParticleEffectAsset extends Asset {
ParticleEffectVO particleEffectVO = (ParticleEffectVO) item;
File fileSrc = new File(currentProjectPath + ProjectManager.PARTICLE_DIR_PATH + File.separator + particleEffectVO.particleName);
FileUtils.copyFileToDirectory(fileSrc, tmpDir);
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(ImportUtils.TYPE_PARTICLE_EFFECT, fileSrc.getName()));
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(AssetsUtils.TYPE_PARTICLE_EFFECT, fileSrc.getName()));
ParticleEffect particleEffect = new ParticleEffect(resourceManager.getParticleEffect(particleEffectVO.particleName));
for (ParticleEmitter emitter : particleEffect.getEmitters()) {
for (String path : emitter.getImagePaths()) {
@@ -3,7 +3,7 @@ package games.rednblack.editor.utils.asset.impl;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Array;
import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.h2d.common.ProgressHandler;
import org.apache.commons.io.FileUtils;
@@ -20,7 +20,7 @@ public class ShaderAsset extends Asset {
@Override
public int getType() {
return ImportUtils.TYPE_SHADER;
return AssetsUtils.TYPE_SHADER;
}
@Override
@@ -11,7 +11,7 @@ import games.rednblack.editor.proxy.SceneDataManager;
import games.rednblack.editor.renderer.data.*;
import games.rednblack.editor.renderer.utils.Version;
import games.rednblack.editor.utils.HyperLap2DUtils;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.editor.utils.runtime.EntityUtils;
import games.rednblack.editor.utils.runtime.SandboxComponentRetriever;
@@ -46,7 +46,7 @@ public class SpineAsset extends Asset {
@Override
public int getType() {
return ImportUtils.TYPE_SPINE_ANIMATION;
return AssetsUtils.TYPE_SPINE_ANIMATION;
}
@Override
@@ -141,7 +141,7 @@ public class SpineAsset extends Asset {
if (tmpDir.exists())
FileUtils.forceDelete(tmpDir.file());
FileUtils.forceMkdir(tmpDir.file());
ImportUtils.unpackAtlasIntoTmpFolder(atlasFileSource.file(), fileNameWithOutExt, tmpDir.path());
AssetsUtils.unpackAtlasIntoTmpFolder(atlasFileSource.file(), fileNameWithOutExt, tmpDir.path());
Array<FileHandle> images = new Array<>(tmpDir.list());
projectManager.copyImageFilesForAllResolutionsIntoProject(images, true, progressHandler);
FileUtils.forceDelete(tmpDir.file());
@@ -189,7 +189,7 @@ public class SpineAsset extends Asset {
}
}
}
return ImportUtils.deleteDirectory(filePath);
return AssetsUtils.deleteDirectory(filePath);
}
private boolean deleteSingleImage(String resolutionName, String imageName) {
@@ -259,7 +259,7 @@ public class SpineAsset extends Asset {
SpineVO spineVO = (SpineVO) item;
File fileSrc = new File(currentProjectPath + ProjectManager.SPINE_DIR_PATH + File.separator + spineVO.animationName);
FileUtils.copyDirectory(fileSrc, tmpDir);
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(ImportUtils.TYPE_SPINE_ANIMATION, fileSrc.getName() + ".json"));
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(AssetsUtils.TYPE_SPINE_ANIMATION, fileSrc.getName() + ".json"));
return true;
}
}
@@ -7,7 +7,7 @@ import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.proxy.SceneDataManager;
import games.rednblack.editor.renderer.components.sprite.SpriteAnimationComponent;
import games.rednblack.editor.renderer.data.*;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.editor.utils.runtime.EntityUtils;
import games.rednblack.editor.utils.runtime.SandboxComponentRetriever;
@@ -25,7 +25,7 @@ public class SpriteAnimationAtlasAsset extends Asset {
protected boolean matchMimeType(FileHandle file) {
try {
TextureAtlas.TextureAtlasData atlas = new TextureAtlas.TextureAtlasData(file, file.parent(), false);
return ImportUtils.isAtlasAnimationSequence(atlas.getRegions());
return AssetsUtils.isAtlasAnimationSequence(atlas.getRegions());
} catch (Exception ignore) {
}
return false;
@@ -33,7 +33,7 @@ public class SpriteAnimationAtlasAsset extends Asset {
@Override
public int getType() {
return ImportUtils.TYPE_SPRITE_ANIMATION_ATLAS;
return AssetsUtils.TYPE_SPRITE_ANIMATION_ATLAS;
}
@Override
@@ -54,7 +54,7 @@ public class SpriteAnimationAtlasAsset extends Asset {
String newAnimName;
try {
String fileNameWithoutExt = ImportUtils.getAtlasName(fileHandle);
String fileNameWithoutExt = AssetsUtils.getAtlasName(fileHandle);
String targetPath = projectManager.getCurrentProjectPath() + File.separator
+ ProjectManager.SPRITE_DIR_PATH + File.separator + fileNameWithoutExt;
@@ -67,7 +67,7 @@ public class SpriteAnimationAtlasAsset extends Asset {
if (tmpDir.exists())
FileUtils.forceDelete(tmpDir.file());
FileUtils.forceMkdir(tmpDir.file());
ImportUtils.unpackAtlasIntoTmpFolder(fileHandle.file(), null, tmpDir.path());
AssetsUtils.unpackAtlasIntoTmpFolder(fileHandle.file(), null, tmpDir.path());
Array<FileHandle> images = new Array<>(tmpDir.list());
projectManager.copyImageFilesForAllResolutionsIntoProject(images, true, progressHandler);
FileUtils.forceDelete(tmpDir.file());
@@ -123,7 +123,7 @@ public class SpriteAnimationAtlasAsset extends Asset {
}
}
projectManager.deleteRegionFromPack(projectManager.getCurrentProjectInfoVO().animationsPacks, spriteName);
return ImportUtils.deleteDirectory(filePath);
return AssetsUtils.deleteDirectory(filePath);
}
protected void postDeleteSpriteAnimation(int root, String spriteAnimationName) {
@@ -182,7 +182,7 @@ public class SpriteAnimationAtlasAsset extends Asset {
SpriteAnimationVO spriteAnimationVO = (SpriteAnimationVO) item;
File fileSrc = new File(currentProjectPath + ProjectManager.SPRITE_DIR_PATH + File.separator + spriteAnimationVO.animationName);
FileUtils.copyDirectory(fileSrc, tmpDir);
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(ImportUtils.TYPE_SPRITE_ANIMATION_ATLAS, fileSrc.getName() + ".atlas"));
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(AssetsUtils.TYPE_SPRITE_ANIMATION_ATLAS, fileSrc.getName() + ".atlas"));
return true;
}
}
@@ -4,7 +4,7 @@ import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.tools.texturepacker.TexturePacker;
import com.badlogic.gdx.utils.Array;
import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.h2d.common.ProgressHandler;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
@@ -21,7 +21,7 @@ public class SpriteAnimationSequenceAsset extends SpriteAnimationAtlasAsset {
for (int i = 0; i < files.size; i++) {
names[i] = files.get(i).nameWithoutExtension();
}
return ImportUtils.isAnimationSequence(names) ? getType() : ImportUtils.TYPE_UNKNOWN;
return AssetsUtils.isAnimationSequence(names) ? getType() : AssetsUtils.TYPE_UNKNOWN;
}
@Override
@@ -31,7 +31,7 @@ public class SpriteAnimationSequenceAsset extends SpriteAnimationAtlasAsset {
@Override
public int getType() {
return ImportUtils.TYPE_ANIMATION_PNG_SEQUENCE;
return AssetsUtils.TYPE_ANIMATION_PNG_SEQUENCE;
}
@Override
@@ -16,7 +16,7 @@ import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.h2d.common.vo.ExportMapperVO;
import games.rednblack.h2d.extension.talos.TalosComponent;
import games.rednblack.h2d.extension.talos.TalosVO;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.editor.utils.runtime.EntityUtils;
import games.rednblack.editor.utils.runtime.SandboxComponentRetriever;
@@ -44,7 +44,7 @@ public class TalosVFXAsset extends Asset {
@Override
public int getType() {
return ImportUtils.TYPE_TALOS_VFX;
return AssetsUtils.TYPE_TALOS_VFX;
}
@Override
@@ -248,7 +248,7 @@ public class TalosVFXAsset extends Asset {
TalosVO talosVO = (TalosVO) item;
File fileSrc = new File(currentProjectPath + ProjectManager.TALOS_VFX_DIR_PATH + File.separator + talosVO.particleName);
FileUtils.copyFileToDirectory(fileSrc, tmpDir);
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(ImportUtils.TYPE_TALOS_VFX, fileSrc.getName()));
exportMapperVO.mapper.add(new ExportMapperVO.ExportedAsset(AssetsUtils.TYPE_TALOS_VFX, fileSrc.getName()));
ParticleEffectDescriptor particleEffect = resourceManager.getProjectTalosList().get(talosVO.particleName);
for (ParticleEmitterDescriptor emitter : new Array.ArrayIterator<>(particleEffect.emitterModuleGraphs)) {
for (AbstractModule module : new Array.ArrayIterator<>(emitter.getModules())) {
@@ -32,7 +32,7 @@ import com.kotcrab.vis.ui.widget.VisProgressBar;
import com.kotcrab.vis.ui.widget.VisTable;
import com.kotcrab.vis.ui.widget.VisTextButton;
import games.rednblack.editor.HyperLap2DFacade;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.view.stage.Sandbox;
import games.rednblack.h2d.common.UIDraggablePanel;
@@ -91,18 +91,18 @@ public class ImportPanel extends UIDraggablePanel {
private void fillTypeNames() {
typeNames.clear();
typeNames.put(ImportUtils.TYPE_ANIMATION_PNG_SEQUENCE, "PNG Sequence Animation");
typeNames.put(ImportUtils.TYPE_BITMAP_FONT, "Bitmap Font");
typeNames.put(ImportUtils.TYPE_IMAGE, "Texture");
typeNames.put(ImportUtils.TYPE_TEXTURE_ATLAS, "Texture Atlas");
typeNames.put(ImportUtils.TYPE_PARTICLE_EFFECT, "Particle Effect");
typeNames.put(ImportUtils.TYPE_SPINE_ANIMATION, "Spine Animation");
typeNames.put(ImportUtils.TYPE_SPRITE_ANIMATION_ATLAS, "Animation Atlas Pack");
typeNames.put(ImportUtils.TYPE_TTF_FONT, "TTF Font");
typeNames.put(ImportUtils.TYPE_HYPERLAP2D_LIBRARY, "HyperLap2D Library");
typeNames.put(ImportUtils.TYPE_HYPERLAP2D_ACTION, "HyperLap2D Action");
typeNames.put(ImportUtils.TYPE_SHADER, "Shader");
typeNames.put(ImportUtils.TYPE_TALOS_VFX, "Talos VFX");
typeNames.put(AssetsUtils.TYPE_ANIMATION_PNG_SEQUENCE, "PNG Sequence Animation");
typeNames.put(AssetsUtils.TYPE_BITMAP_FONT, "Bitmap Font");
typeNames.put(AssetsUtils.TYPE_IMAGE, "Texture");
typeNames.put(AssetsUtils.TYPE_TEXTURE_ATLAS, "Texture Atlas");
typeNames.put(AssetsUtils.TYPE_PARTICLE_EFFECT, "Particle Effect");
typeNames.put(AssetsUtils.TYPE_SPINE_ANIMATION, "Spine Animation");
typeNames.put(AssetsUtils.TYPE_SPRITE_ANIMATION_ATLAS, "Animation Atlas Pack");
typeNames.put(AssetsUtils.TYPE_TTF_FONT, "TTF Font");
typeNames.put(AssetsUtils.TYPE_HYPERLAP2D_LIBRARY, "HyperLap2D Library");
typeNames.put(AssetsUtils.TYPE_HYPERLAP2D_ACTION, "HyperLap2D Action");
typeNames.put(AssetsUtils.TYPE_SHADER, "Shader");
typeNames.put(AssetsUtils.TYPE_TALOS_VFX, "Talos VFX");
}
public static class DropBundle {
@@ -190,21 +190,21 @@ public class ImportPanel extends UIDraggablePanel {
public void showError(int type) {
String text = "";
if(type == ImportUtils.TYPE_UNSUPPORTED || type == ImportUtils.TYPE_UNKNOWN) {
if(type == AssetsUtils.TYPE_UNSUPPORTED || type == AssetsUtils.TYPE_UNKNOWN) {
text = "unsupported file type/types";
}
if(type == ImportUtils.TYPE_MIXED) {
if(type == AssetsUtils.TYPE_MIXED) {
text = "Multiple import types, please use one";
}
switch (type) {
case ImportUtils.TYPE_UNSUPPORTED:
case ImportUtils.TYPE_UNKNOWN:
case AssetsUtils.TYPE_UNSUPPORTED:
case AssetsUtils.TYPE_UNKNOWN:
text = "Unsupported file type/types";
break;
case ImportUtils.TYPE_MIXED:
case AssetsUtils.TYPE_MIXED:
text = "Multiple import types, please use one";
break;
case ImportUtils.TYPE_FAILED:
case AssetsUtils.TYPE_FAILED:
text = "Import has failed";
break;
}
@@ -25,8 +25,8 @@ import com.kotcrab.vis.ui.widget.file.FileTypeFilter;
import games.rednblack.editor.HyperLap2DFacade;
import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.proxy.SettingsManager;
import games.rednblack.editor.utils.AssetImporter;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.AssetIOManager;
import games.rednblack.editor.utils.AssetsUtils;
import games.rednblack.editor.view.menu.ResourcesMenu;
import games.rednblack.editor.view.stage.Sandbox;
import games.rednblack.editor.view.stage.UIStage;
@@ -53,8 +53,8 @@ public class ImportPanelMediator extends Mediator<ImportPanel> {
public void onRegister() {
super.onRegister();
facade = HyperLap2DFacade.getInstance();
AssetImporter.getInstance().setProgressHandler(new AssetsImportProgressHandler());
AssetImporter.getInstance().setViewComponent(viewComponent);
AssetIOManager.getInstance().setProgressHandler(new AssetsImportProgressHandler());
AssetIOManager.getInstance().setViewComponent(viewComponent);
}
@Override
@@ -82,12 +82,12 @@ public class ImportPanelMediator extends Mediator<ImportPanel> {
case MsgAPI.ACTION_FILES_DROPPED:
ImportPanel.DropBundle bundle = notification.getBody();
if (viewComponent.checkDropRegionHit(bundle.pos)) {
AssetImporter.getInstance().setProgressHandler(new AssetsImportProgressHandler());
AssetImporter.getInstance().postPathObtainAction(bundle.paths);
AssetIOManager.getInstance().setProgressHandler(new AssetsImportProgressHandler());
AssetIOManager.getInstance().postPathObtainAction(bundle.paths);
}
break;
case ImportPanel.IMPORT_FAILED:
viewComponent.showError(ImportUtils.TYPE_FAILED);
viewComponent.showError(AssetsUtils.TYPE_FAILED);
break;
}
}
@@ -97,7 +97,7 @@ public class ImportPanelMediator extends Mediator<ImportPanel> {
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(() -> {
try (MemoryStack stack = MemoryStack.stackPush()) {
FileTypeFilter.Rule allSupportedRule = ImportUtils.getInstance().getFileTypeFilter().getRules().get(0);
FileTypeFilter.Rule allSupportedRule = AssetsUtils.getInstance().getFileTypeFilter().getRules().get(0);
PointerBuffer aFilterPatterns = stack.mallocPointer(allSupportedRule.getExtensions().size);
for (String ext : new Array.ArrayIterator<>(allSupportedRule.getExtensions())) {
aFilterPatterns.put(stack.UTF8("*." + ext));
@@ -114,8 +114,8 @@ public class ImportPanelMediator extends Mediator<ImportPanel> {
if (files != null) {
String[] paths = files.split("\\|");
if(paths.length > 0) {
AssetImporter.getInstance().setProgressHandler(new AssetsImportProgressHandler());
AssetImporter.getInstance().postPathObtainAction(paths);
AssetIOManager.getInstance().setProgressHandler(new AssetsImportProgressHandler());
AssetIOManager.getInstance().postPathObtainAction(paths);
}
}
});