Avoid to recalculate layer's hash when not necessary, reduce the number of component mapper's get requests

This commit is contained in:
fgnm
2024-04-30 13:19:46 +02:00
parent d9e4e8d4e0
commit bf0e617689
9 changed files with 19 additions and 19 deletions
@@ -58,7 +58,7 @@ public class ConvertToCompositeCommand extends EntityModifyRevertibleCommand {
for(int entity: entities) {
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(entity, ZIndexComponent.class);
String tmpId = EntityUtils.getEntityId(entity);
layersBackup.put(tmpId, zIndexComponent.layerName);
layersBackup.put(tmpId, zIndexComponent.getLayerName());
}
}
@@ -83,7 +83,7 @@ public class ConvertToCompositeCommand extends EntityModifyRevertibleCommand {
// put it on default layer
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(childEntity, ZIndexComponent.class);
zIndexComponent.layerName = "Default";
zIndexComponent.setLayerName("Default");
}
// recalculate composite size
@@ -94,7 +94,7 @@ public class ConvertToCompositeCommand extends EntityModifyRevertibleCommand {
dimensionsComponent.boundBox.set(0, 0, newSize.x, newSize.y);
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(entity, ZIndexComponent.class);
zIndexComponent.layerName = layerBoxMediator.getCurrentSelectedLayerName();
zIndexComponent.setLayerName(layerBoxMediator.getCurrentSelectedLayerName());
sandbox.getEngine().process();
@@ -131,7 +131,7 @@ public class ConvertToCompositeCommand extends EntityModifyRevertibleCommand {
// put layer data back
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(entity, ZIndexComponent.class);
zIndexComponent.layerName = layersBackup.get(EntityUtils.getEntityId(tmpEntity));
zIndexComponent.setLayerName(layersBackup.get(EntityUtils.getEntityId(tmpEntity)));
}
// remove composite
@@ -46,7 +46,7 @@ public class DeleteLayerCommand extends TransactiveCommand {
for(int i = 0; i < nodeComponent.children.size; i++) {
int child = nodeComponent.children.get(i);
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(child, ZIndexComponent.class);
if(zIndexComponent.layerName.equals(layerName)) {
if(zIndexComponent.getLayerName().equals(layerName)) {
result.add(child);
}
}
@@ -29,7 +29,7 @@ public class NewLayerCommand extends EntityModifyRevertibleCommand {
int viewingEntity = Sandbox.getInstance().getCurrentViewingEntity();
LayerMapComponent layerMapComponent = SandboxComponentRetriever.get(viewingEntity, LayerMapComponent.class);
if (layerMapComponent.getLayer(layerName) != null) {
if (layerMapComponent.getLayer(layerName.hashCode()) != null) {
cancel();
Dialogs.showErrorDialog(Sandbox.getInstance().getUIStage(), "Layer name already exists.").padBottom(20).pack();
return;
@@ -72,7 +72,7 @@ public class PasteItemsCommand extends EntityModifyRevertibleCommand {
transformComponent.x += diff.x;
transformComponent.y += diff.y;
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(entity, ZIndexComponent.class);
zIndexComponent.layerName = layerBoxMediator.getCurrentSelectedLayerName();
zIndexComponent.setLayerName(layerBoxMediator.getCurrentSelectedLayerName());
Sandbox.getInstance().getEngine().getSystem(LayerSystem.class).process();
Facade.getInstance().sendNotification(MsgAPI.NEW_ITEM_ADDED, entity);
pastedEntityIds.add(EntityUtils.getEntityId(entity));
@@ -64,7 +64,7 @@ public class RenameLayerCommand extends EntityModifyRevertibleCommand {
NodeComponent nodeComponent = SandboxComponentRetriever.get(viewEntity, NodeComponent.class);
LayerMapComponent layerMapComponent = SandboxComponentRetriever.get(viewEntity, LayerMapComponent.class);
if (layerMapComponent.getLayer(toName) != null) {
if (layerMapComponent.getLayer(toName.hashCode()) != null) {
cancel();
return;
}
@@ -73,8 +73,8 @@ public class RenameLayerCommand extends EntityModifyRevertibleCommand {
for(int childEntity: nodeComponent.children) {
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(childEntity, ZIndexComponent.class);
if(zIndexComponent.layerName.equals(fromName)) {
zIndexComponent.layerName = toName;
if(zIndexComponent.getLayerName().equals(fromName)) {
zIndexComponent.setLayerName(toName);
}
}
}
@@ -288,7 +288,7 @@ public class EntityUtils {
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(entity, ZIndexComponent.class);
LayerMapComponent layerMapComponent = SandboxComponentRetriever.get(SandboxComponentRetriever.get(entity, ParentNodeComponent.class).parentEntity, LayerMapComponent.class);
return layerMapComponent.getLayer(zIndexComponent.layerName);
return layerMapComponent.getLayer(zIndexComponent.layerHash);
}
/**
@@ -177,7 +177,7 @@ public class UIItemsTreeBox extends UICollapsibleBox {
ParentNodeComponent parentNodeComponent = parentNodeComponentMapper.get(item);
MainItemComponent mainItemComponent = mainItemComponentMapper.get(item);
UIItemsTreeNode node = Pools.get(UIItemsTreeNode.class, 20000).obtain();
UIItemsTreeNode node = Pools.get(UIItemsTreeNode.class, 80000).obtain();
tmpNodes.add(node);
if (parentNodeComponent == null) {
@@ -194,7 +194,7 @@ public class UIItemsTreeBox extends UICollapsibleBox {
}
ZIndexComponent zIndexComponent = zIndexComponentMapper.get(item);
node.setName(name, zIndexComponent.layerName);
node.setName(name, zIndexComponent.getLayerName());
node.setNodeValue(mainItemComponent.uniqueId, zIndexComponent.getGlobalZIndex());
if (mainItemComponent.entityType != EntityFactory.COMPOSITE_TYPE)
@@ -172,7 +172,7 @@ public class UILayerBoxMediator extends PanelMediator<UILayerBox> {
Set<Integer> selection = notification.getBody();
if(selection.size() == 1) {
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(selection.iterator().next(), ZIndexComponent.class);
index = findLayerByName(zIndexComponent.layerName);
index = findLayerByName(zIndexComponent.getLayerName());
if(index == -1) {
// handle this somehow
} else {
@@ -187,7 +187,7 @@ public class UILayerBoxMediator extends PanelMediator<UILayerBox> {
index = viewComponent.getCurrentSelectedLayerIndex();
int item = notification.getBody();
ZIndexComponent zIndexComponent = SandboxComponentRetriever.get(item, ZIndexComponent.class);
if(zIndexComponent.layerName == null) zIndexComponent.layerName = layers.get(index).layerName;
if(zIndexComponent.getLayerName() == null || zIndexComponent.getLayerName().isEmpty()) zIndexComponent.setLayerName(layers.get(index).layerName);
break;
case UILayerBox.CHANGE_LAYER_NAME:
String layerName = notification.getBody();
@@ -245,7 +245,7 @@ public class UILayerBoxMediator extends PanelMediator<UILayerBox> {
int viewEntity = Sandbox.getInstance().getCurrentViewingEntity();
LayerMapComponent layerMapComponent = SandboxComponentRetriever.get(viewEntity, LayerMapComponent.class);
layerMapComponent.getLayer(layerName).isLocked = setLocked;
layerMapComponent.getLayer(layerName.hashCode()).isLocked = setLocked;
}
private void selectEntitiesByLayerName(UILayerBox.UILayerItem layerItem) {
@@ -262,7 +262,7 @@ public class UILayerBoxMediator extends PanelMediator<UILayerBox> {
for(int i=0; i<nodeComponent.children.size; i++){
int entity = nodeComponent.children.get(i);
ZIndexComponent childZComponent = SandboxComponentRetriever.get(entity, ZIndexComponent.class);
if(childZComponent.layerName.equals(layerName)){
if(childZComponent.getLayerName().equals(layerName)){
items.add(entity);
}
}
@@ -278,7 +278,7 @@ public class UILayerBoxMediator extends PanelMediator<UILayerBox> {
for(int i=0; i<nodeComponent.children.size; i++){
int entity = nodeComponent.children.get(i);
ZIndexComponent childZComponent = SandboxComponentRetriever.get(entity, ZIndexComponent.class);
if(childZComponent.layerName.equals(layerName)){
if(childZComponent.getLayerName().equals(layerName)){
EntityUtils.getEntityLayer(entity).isVisible = setVisible;
}
}