![JAR search and dependency download from the Maven repository](/logo.png)
com.uwsoft.editor.renderer.data.CompositeVO Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of overlap2d-runtime-libgdx Show documentation
Show all versions of overlap2d-runtime-libgdx Show documentation
overlap2d-runtime-libgdx provides functionality to load, manipulate and render scenes generated by Overlap2D.
The newest version!
package com.uwsoft.editor.renderer.data;
import com.badlogic.ashley.core.ComponentMapper;
import com.badlogic.ashley.core.Entity;
import com.uwsoft.editor.renderer.components.LayerMapComponent;
import com.uwsoft.editor.renderer.components.MainItemComponent;
import com.uwsoft.editor.renderer.components.NodeComponent;
import com.uwsoft.editor.renderer.factory.EntityFactory;
import com.uwsoft.editor.renderer.resources.FontSizePair;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
public class CompositeVO {
public ArrayList sImages = new ArrayList(1);
public ArrayList sImage9patchs = new ArrayList(1);
public ArrayList sTextBox = new ArrayList(1);
public ArrayList sLabels = new ArrayList(1);
public ArrayList sComposites = new ArrayList(1);
public ArrayList sSelectBoxes = new ArrayList(1);
public ArrayList sParticleEffects = new ArrayList(1);
public ArrayList sLights = new ArrayList(1);
public ArrayList sSpineAnimations = new ArrayList(1);
public ArrayList sSpriteAnimations = new ArrayList(1);
public ArrayList sSpriterAnimations = new ArrayList(1);
public ArrayList layers = new ArrayList();
public CompositeVO() {
}
public CompositeVO(CompositeVO vo) {
if (vo == null) return;
update(vo);
}
public void update(CompositeVO vo) {
clear();
for (int i = 0; i < vo.sImages.size(); i++) {
sImages.add(new SimpleImageVO(vo.sImages.get(i)));
}
for (int i = 0; i < vo.sImage9patchs.size(); i++) {
sImage9patchs.add(new Image9patchVO(vo.sImage9patchs.get(i)));
}
for (int i = 0; i < vo.sTextBox.size(); i++) {
sTextBox.add(new TextBoxVO(vo.sTextBox.get(i)));
}
for (int i = 0; i < vo.sLabels.size(); i++) {
sLabels.add(new LabelVO(vo.sLabels.get(i)));
}
for (int i = 0; i < vo.sComposites.size(); i++) {
sComposites.add(new CompositeItemVO(vo.sComposites.get(i)));
}
for (int i = 0; i < vo.sSelectBoxes.size(); i++) {
sSelectBoxes.add(new SelectBoxVO(vo.sSelectBoxes.get(i)));
}
for (int i = 0; i < vo.sParticleEffects.size(); i++) {
sParticleEffects.add(new ParticleEffectVO(vo.sParticleEffects.get(i)));
}
for (int i = 0; i < vo.sLights.size(); i++) {
sLights.add(new LightVO(vo.sLights.get(i)));
}
for (int i = 0; i < vo.sSpineAnimations.size(); i++) {
sSpineAnimations.add(new SpineVO(vo.sSpineAnimations.get(i)));
}
for (int i = 0; i < vo.sSpriteAnimations.size(); i++) {
sSpriteAnimations.add(new SpriteAnimationVO(vo.sSpriteAnimations.get(i)));
}
for (int i = 0; i < vo.sSpriterAnimations.size(); i++) {
sSpriterAnimations.add(new SpriterVO(vo.sSpriterAnimations.get(i)));
}
layers.clear();
for (int i = 0; i < vo.layers.size(); i++) {
layers.add(new LayerItemVO(vo.layers.get(i)));
}
}
public void addItem(MainItemVO vo) {
String className = vo.getClass().getSimpleName();
if (className.equals("SimpleImageVO")) {
sImages.add((SimpleImageVO) vo);
}
if (className.equals("Image9patchVO")) {
sImage9patchs.add((Image9patchVO) vo);
}
if (className.equals("TextBoxVO")) {
sTextBox.add((TextBoxVO) vo);
}
if (className.equals("LabelVO")) {
sLabels.add((LabelVO) vo);
}
if (className.equals("CompositeItemVO")) {
sComposites.add((CompositeItemVO) vo);
}
if (className.equals("SelectBoxVO")) {
sSelectBoxes.add((SelectBoxVO) vo);
}
if (className.equals("ParticleEffectVO")) {
sParticleEffects.add((ParticleEffectVO) vo);
}
if (className.equals("LightVO")) {
sLights.add((LightVO) vo);
}
if (className.equals("SpineVO")) {
sSpineAnimations.add((SpineVO) vo);
}
if (className.equals("SpriterVO")) {
sSpriterAnimations.add((SpriterVO) vo);
}
if (className.equals("SpriteAnimationVO")) {
sSpriteAnimations.add((SpriteAnimationVO) vo);
}
}
public void removeItem(MainItemVO vo) {
String className = vo.getClass().getSimpleName();
if (className.equals("SimpleImageVO")) {
sImages.remove((SimpleImageVO) vo);
}
if (className.equals("Image9patchVO")) {
sImage9patchs.remove((Image9patchVO) vo);
}
if (className.equals("TextBoxVO")) {
sTextBox.remove((TextBoxVO) vo);
}
if (className.equals("LabelVO")) {
sLabels.remove((LabelVO) vo);
}
if (className.equals("CompositeItemVO")) {
sComposites.remove((CompositeItemVO) vo);
}
if (className.equals("SelectBoxVO")) {
sSelectBoxes.remove((SelectBoxVO) vo);
}
if (className.equals("ParticleEffectVO")) {
sParticleEffects.remove((ParticleEffectVO) vo);
}
if (className.equals("LightVO")) {
sLights.remove((LightVO) vo);
}
if (className.equals("SpineVO")) {
sSpineAnimations.remove((SpineVO) vo);
}
if (className.equals("SpriteAnimationVO")) {
sSpriteAnimations.remove((SpriteAnimationVO) vo);
}
if (className.equals("SpriterVO")) {
sSpriterAnimations.remove((SpriterVO) vo);
}
}
public void clear() {
sImages.clear();
sTextBox.clear();
sLabels.clear();
sComposites.clear();
sSelectBoxes.clear();
sParticleEffects.clear();
sLights.clear();
sSpineAnimations.clear();
sSpriteAnimations.clear();
sSpriterAnimations.clear();
}
public boolean isEmpty() {
return sComposites.size() == 0 &&
sImage9patchs.size() == 0 &&
sImages.size() == 0 &&
sSpriteAnimations.size() == 0 &&
sLabels.size() == 0 &&
sLights.size() == 0 &&
sParticleEffects.size() == 0 &&
sSpriteAnimations.size() == 0 &&
sSpriterAnimations.size() == 0 &&
sSpineAnimations.size() == 0 &&
sSelectBoxes.size() == 0 &&
sTextBox.size() == 0;
}
public String[] getRecursiveParticleEffectsList() {
HashSet list = new HashSet();
for (ParticleEffectVO sParticleEffect : sParticleEffects) {
list.add(sParticleEffect.particleName);
}
for (CompositeItemVO sComposite : sComposites) {
String[] additionalList = sComposite.composite.getRecursiveParticleEffectsList();
Collections.addAll(list, additionalList);
}
String[] finalList = new String[list.size()];
list.toArray(finalList);
return finalList;
}
public String[] getRecursiveSpineAnimationList() {
HashSet list = new HashSet();
for (SpineVO sSpineAnimation : sSpineAnimations) {
list.add(sSpineAnimation.animationName);
}
for (CompositeItemVO sComposite : sComposites) {
String[] additionalList = sComposite.composite.getRecursiveSpineAnimationList();
Collections.addAll(list, additionalList);
}
String[] finalList = new String[list.size()];
list.toArray(finalList);
return finalList;
}
public String[] getRecursiveSpriteAnimationList() {
HashSet list = new HashSet();
for (SpriteAnimationVO sSpriteAnimation : sSpriteAnimations) {
list.add(sSpriteAnimation.animationName);
}
for (CompositeItemVO sComposite : sComposites) {
String[] additionalList = sComposite.composite.getRecursiveSpriteAnimationList();
Collections.addAll(list, additionalList);
}
String[] finalList = new String[list.size()];
list.toArray(finalList);
return finalList;
}
public String[] getRecursiveSpriterAnimationList() {
HashSet list = new HashSet();
for (SpriterVO sSpriterAnimation : sSpriterAnimations) {
list.add(sSpriterAnimation.animationName);
}
for (CompositeItemVO sComposite : sComposites) {
String[] additionalList = sComposite.composite.getRecursiveSpriterAnimationList();
Collections.addAll(list, additionalList);
}
String[] finalList = new String[list.size()];
list.toArray(finalList);
return finalList;
}
public FontSizePair[] getRecursiveFontList() {
HashSet list = new HashSet();
for (LabelVO sLabel : sLabels) {
list.add(new FontSizePair(sLabel.style.isEmpty() ? "arial" : sLabel.style, sLabel.size == 0 ? 12 : sLabel.size));
}
for (CompositeItemVO sComposite : sComposites) {
FontSizePair[] additionalList = sComposite.composite.getRecursiveFontList();
Collections.addAll(list, additionalList);
}
FontSizePair[] finalList = new FontSizePair[list.size()];
list.toArray(finalList);
return finalList;
}
public String[] getRecursiveShaderList() {
HashSet list = new HashSet();
for (MainItemVO item : getAllItems()) {
if(item.shaderName != null && !item.shaderName.isEmpty()){
list.add(item.shaderName);
}
}
String[] finalList = new String[list.size()];
list.toArray(finalList);
return finalList;
}
public ArrayList getAllItems() {
ArrayList itemsList = new ArrayList();
itemsList = getAllItemsRecursive(itemsList, this);
return itemsList;
}
private ArrayList getAllItemsRecursive(ArrayList itemsList, CompositeVO compositeVo) {
for(MainItemVO vo: compositeVo.sImage9patchs) {
itemsList.add(vo);
}
for(MainItemVO vo: compositeVo.sImages) {
itemsList.add(vo);
}
for(MainItemVO vo: compositeVo.sLabels) {
itemsList.add(vo);
}
for(MainItemVO vo: compositeVo.sLights) {
itemsList.add(vo);
}
for(MainItemVO vo: compositeVo.sParticleEffects) {
itemsList.add(vo);
}
for(MainItemVO vo: compositeVo.sSelectBoxes) {
itemsList.add(vo);
}
for(MainItemVO vo: compositeVo.sSpineAnimations) {
itemsList.add(vo);
}
for(MainItemVO vo: compositeVo.sSpriteAnimations) {
itemsList.add(vo);
}
for(MainItemVO vo: compositeVo.sSpriterAnimations) {
itemsList.add(vo);
}
for(MainItemVO vo: compositeVo.sTextBox) {
itemsList.add(vo);
}
for(CompositeItemVO vo: compositeVo.sComposites) {
itemsList = getAllItemsRecursive(itemsList,vo.composite);
itemsList.add(vo);
}
return itemsList;
}
public void loadFromEntity(Entity compositeEntity) {
NodeComponent nodeComponent = compositeEntity.getComponent(NodeComponent.class);
ComponentMapper mainItemComponentMapper = ComponentMapper.getFor(MainItemComponent.class);
ComponentMapper layerMainItemComponentComponentMapper = ComponentMapper.getFor(LayerMapComponent.class);
if(nodeComponent == null) return;
for(Entity entity: nodeComponent.children) {
int entityType = mainItemComponentMapper.get(entity).entityType;
if(entityType == EntityFactory.COMPOSITE_TYPE) {
CompositeItemVO vo = new CompositeItemVO();
vo.loadFromEntity(entity);
sComposites.add(vo);
}
if(entityType == EntityFactory.IMAGE_TYPE) {
SimpleImageVO vo = new SimpleImageVO();
vo.loadFromEntity(entity);
sImages.add(vo);
}
if(entityType == EntityFactory.NINE_PATCH) {
Image9patchVO vo = new Image9patchVO();
vo.loadFromEntity(entity);
sImage9patchs.add(vo);
}
if(entityType == EntityFactory.LABEL_TYPE) {
LabelVO vo = new LabelVO();
vo.loadFromEntity(entity);
sLabels.add(vo);
}
if(entityType == EntityFactory.PARTICLE_TYPE) {
ParticleEffectVO vo = new ParticleEffectVO();
vo.loadFromEntity(entity);
sParticleEffects.add(vo);
}
if(entityType == EntityFactory.SPRITE_TYPE) {
SpriteAnimationVO vo = new SpriteAnimationVO();
vo.loadFromEntity(entity);
sSpriteAnimations.add(vo);
}
if(entityType == EntityFactory.SPRITER_TYPE) {
SpriterVO vo = new SpriterVO();
vo.loadFromEntity(entity);
sSpriterAnimations.add(vo);
}
if(entityType == EntityFactory.SPINE_TYPE) {
SpineVO vo = new SpineVO();
vo.loadFromEntity(entity);
sSpineAnimations.add(vo);
}
if(entityType == EntityFactory.LIGHT_TYPE) {
LightVO vo = new LightVO();
vo.loadFromEntity(entity);
sLights.add(vo);
}
}
LayerMapComponent layerMapComponent = layerMainItemComponentComponentMapper.get(compositeEntity);
layers = layerMapComponent.getLayers();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy