[Editor only] When an asset is deleted has to be removed in any scene

This commit is contained in:
fgnm
2021-12-18 19:53:02 +01:00
parent 7e88aa42fd
commit 2a18249a49
6 changed files with 60 additions and 16 deletions
@@ -65,18 +65,6 @@ public class SceneDataManager extends Proxy {
return vo;
}
public void loadScene(SceneVO sceneVO, String resolution) {
/*
if (sceneVO == null || sceneVO.composite == null) return;
FontSizePair[] fonts = sceneVO.composite.getRecursiveFontList();
TextureManager textureManager = facade.retrieveProxy(TextureManager.NAME);
ResolutionManager resolutionManager = facade.retrieveProxy(ResolutionManager.NAME);
textureManager.loadBitmapFonts(fonts, resolutionManager.getCurrentMul());*/
// Apparently all was loaded when project was loaded
}
public String getCurrProjectScenePathByName(String sceneName) {
ProjectManager projectManager = facade.retrieveProxy(ProjectManager.NAME);
return projectManager.getCurrentProjectPath() + "/scenes/" + sceneName + ".dt";
@@ -7,12 +7,10 @@ import com.badlogic.gdx.utils.Array;
import com.kotcrab.vis.ui.util.dialog.Dialogs;
import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.proxy.ResolutionManager;
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.CompositeItemVO;
import games.rednblack.editor.renderer.data.Image9patchVO;
import games.rednblack.editor.renderer.data.ResolutionEntryVO;
import games.rednblack.editor.renderer.data.SimpleImageVO;
import games.rednblack.editor.renderer.data.*;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.asset.Asset;
import games.rednblack.editor.utils.runtime.EntityUtils;
@@ -128,6 +126,16 @@ public class ImageAsset extends Asset {
for (CompositeItemVO compositeItemVO : projectManager.getCurrentProjectInfoVO().libraryItems.values()) {
deleteAllImagesOfItem(compositeItemVO, imageName);
}
for (SceneVO scene : projectManager.currentProjectInfoVO.scenes) {
CompositeItemVO tmpVo = new CompositeItemVO();
SceneVO loadedScene = resourceManager.getSceneVO(scene.sceneName);
tmpVo.composite = loadedScene.composite;
deleteAllImagesOfItem(tmpVo, imageName);
loadedScene.composite = tmpVo.composite;
SceneDataManager sceneDataManager = facade.retrieveProxy(SceneDataManager.NAME);
sceneDataManager.saveScene(loadedScene);
}
}
private void deleteAllImagesOfItem(CompositeItemVO compositeItemVO, String imageName) {
@@ -5,9 +5,11 @@ import com.badlogic.gdx.utils.Array;
import com.kotcrab.vis.ui.util.dialog.Dialogs;
import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.proxy.ResolutionManager;
import games.rednblack.editor.proxy.SceneDataManager;
import games.rednblack.editor.renderer.components.particle.ParticleComponent;
import games.rednblack.editor.renderer.data.CompositeItemVO;
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.asset.Asset;
import games.rednblack.editor.utils.runtime.EntityUtils;
@@ -154,6 +156,16 @@ public class ParticleEffectAsset extends Asset {
for (CompositeItemVO compositeItemVO : projectManager.getCurrentProjectInfoVO().libraryItems.values()) {
deleteAllParticles(compositeItemVO, name);
}
for (SceneVO scene : projectManager.currentProjectInfoVO.scenes) {
CompositeItemVO tmpVo = new CompositeItemVO();
SceneVO loadedScene = resourceManager.getSceneVO(scene.sceneName);
tmpVo.composite = loadedScene.composite;
deleteAllParticles(tmpVo, name);
loadedScene.composite = tmpVo.composite;
SceneDataManager sceneDataManager = facade.retrieveProxy(SceneDataManager.NAME);
sceneDataManager.saveScene(loadedScene);
}
}
private void deleteAllParticles(CompositeItemVO compositeItemVO, String name) {
@@ -7,9 +7,11 @@ import com.badlogic.gdx.utils.JsonReader;
import com.badlogic.gdx.utils.JsonValue;
import com.kotcrab.vis.ui.util.dialog.Dialogs;
import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.proxy.SceneDataManager;
import games.rednblack.editor.renderer.components.SpineDataComponent;
import games.rednblack.editor.renderer.data.CompositeItemVO;
import games.rednblack.editor.renderer.data.ResolutionEntryVO;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.renderer.data.SpineVO;
import games.rednblack.editor.renderer.utils.Version;
import games.rednblack.editor.utils.HyperLap2DUtils;
@@ -213,6 +215,16 @@ public class SpineAsset extends Asset {
for (CompositeItemVO compositeItemVO : projectManager.getCurrentProjectInfoVO().libraryItems.values()) {
deleteAllSpineAnimationsOfItem(compositeItemVO, spineAnimationName);
}
for (SceneVO scene : projectManager.currentProjectInfoVO.scenes) {
CompositeItemVO tmpVo = new CompositeItemVO();
SceneVO loadedScene = resourceManager.getSceneVO(scene.sceneName);
tmpVo.composite = loadedScene.composite;
deleteAllSpineAnimationsOfItem(tmpVo, spineAnimationName);
loadedScene.composite = tmpVo.composite;
SceneDataManager sceneDataManager = facade.retrieveProxy(SceneDataManager.NAME);
sceneDataManager.saveScene(loadedScene);
}
}
private void deleteAllSpineAnimationsOfItem(CompositeItemVO compositeItemVO, String spineAnimationName) {
@@ -4,9 +4,11 @@ import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.utils.Array;
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.CompositeItemVO;
import games.rednblack.editor.renderer.data.ResolutionEntryVO;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.renderer.data.SpriteAnimationVO;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.asset.Asset;
@@ -136,6 +138,16 @@ public class SpriteAnimationAtlasAsset extends Asset {
for (CompositeItemVO compositeItemVO : projectManager.getCurrentProjectInfoVO().libraryItems.values()) {
deleteAllSpriteAnimationsOfItem(compositeItemVO, spriteAnimationName);
}
for (SceneVO scene : projectManager.currentProjectInfoVO.scenes) {
CompositeItemVO tmpVo = new CompositeItemVO();
SceneVO loadedScene = resourceManager.getSceneVO(scene.sceneName);
tmpVo.composite = loadedScene.composite;
deleteAllSpriteAnimationsOfItem(tmpVo, spriteAnimationName);
loadedScene.composite = tmpVo.composite;
SceneDataManager sceneDataManager = facade.retrieveProxy(SceneDataManager.NAME);
sceneDataManager.saveScene(loadedScene);
}
}
private void deleteAllSpriteAnimationsOfItem(CompositeItemVO rootItemVo, String spriteAnimationName) {
@@ -7,8 +7,10 @@ import com.kotcrab.vis.ui.util.dialog.Dialogs;
import com.talosvfx.talos.runtime.ParticleEmitterDescriptor;
import games.rednblack.editor.proxy.ProjectManager;
import games.rednblack.editor.proxy.ResolutionManager;
import games.rednblack.editor.proxy.SceneDataManager;
import games.rednblack.editor.renderer.components.particle.TalosDataComponent;
import games.rednblack.editor.renderer.data.CompositeItemVO;
import games.rednblack.editor.renderer.data.SceneVO;
import games.rednblack.editor.renderer.data.TalosVO;
import games.rednblack.editor.utils.ImportUtils;
import games.rednblack.editor.utils.asset.Asset;
@@ -196,6 +198,16 @@ public class TalosVFXAsset extends Asset {
for (CompositeItemVO compositeItemVO : projectManager.getCurrentProjectInfoVO().libraryItems.values()) {
deleteAllParticles(compositeItemVO, name);
}
for (SceneVO scene : projectManager.currentProjectInfoVO.scenes) {
CompositeItemVO tmpVo = new CompositeItemVO();
SceneVO loadedScene = resourceManager.getSceneVO(scene.sceneName);
tmpVo.composite = loadedScene.composite;
deleteAllParticles(tmpVo, name);
loadedScene.composite = tmpVo.composite;
SceneDataManager sceneDataManager = facade.retrieveProxy(SceneDataManager.NAME);
sceneDataManager.saveScene(loadedScene);
}
}
private void deleteAllParticles(CompositeItemVO compositeItemVO, String name) {