mirror of
https://github.com/OMGeeky/ATCS.git
synced 2026-01-04 10:32:30 +01:00
Deleting a TMX Map also removes it from created/altered worldmaps, and
marks these as modified.
This commit is contained in:
@@ -1593,6 +1593,9 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
||||
public void targetUpdated() {
|
||||
this.name = ((TMXMap)target).getDesc();
|
||||
updateMessage();
|
||||
updateXmlViewText(((TMXMap)target).toXml());
|
||||
tmxViewer.repaint();
|
||||
tmxViewer.revalidate();
|
||||
}
|
||||
|
||||
|
||||
@@ -1682,6 +1685,10 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
||||
ATContentStudio.frame.closeEditor(map);
|
||||
map.childrenRemoved(new ArrayList<ProjectTreeNode>());
|
||||
map.delete();
|
||||
GameDataElement newOne = map.getProject().getMap(map.id);
|
||||
for (GameDataElement backlink : map.getBacklinks()) {
|
||||
backlink.elementChanged(map, newOne);
|
||||
}
|
||||
}
|
||||
});
|
||||
savePane.add(delete, JideBoxLayout.FIX);
|
||||
@@ -2005,11 +2012,9 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
||||
if (modified) {
|
||||
if (map.state != GameDataElement.State.modified) {
|
||||
map.state = GameDataElement.State.modified;
|
||||
TMXMapEditor.this.name = map.getDesc();
|
||||
map.childrenChanged(new ArrayList<ProjectTreeNode>());
|
||||
ATContentStudio.frame.editorChanged(TMXMapEditor.this);
|
||||
}
|
||||
updateXmlViewText(map.toXml());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,6 +119,8 @@ public class WorldMapEditor extends Editor implements FieldUpdateListener {
|
||||
public void targetUpdated() {
|
||||
this.name = ((GameDataElement)target).getDesc();
|
||||
updateMessage();
|
||||
updateXmlViewText(((WorldmapSegment)target).toXml());
|
||||
mapView.updateFromModel();
|
||||
}
|
||||
|
||||
public JPanel getXmlEditorPane() {
|
||||
@@ -1016,7 +1018,6 @@ public class WorldMapEditor extends Editor implements FieldUpdateListener {
|
||||
|
||||
public void notifyModelModified() {
|
||||
target.state = GameDataElement.State.modified;
|
||||
this.name = ((WorldmapSegment)target).getDesc();
|
||||
target.childrenChanged(new ArrayList<ProjectTreeNode>());
|
||||
}
|
||||
|
||||
|
||||
@@ -496,6 +496,9 @@ public class WorldMapView extends JComponent implements Scrollable {
|
||||
public void pushToModel() {
|
||||
worldmap.segmentX = offsetX / TILE_SIZE;
|
||||
worldmap.segmentY = offsetY / TILE_SIZE;
|
||||
for (String id : worldmap.mapLocations.keySet()) {
|
||||
worldmap.getProject().getMap(id).removeBacklink(worldmap);
|
||||
}
|
||||
worldmap.mapLocations.clear();
|
||||
for (String s : mapLocations.keySet()) {
|
||||
int x = mapLocations.get(s).x / TILE_SIZE;
|
||||
@@ -504,6 +507,10 @@ public class WorldMapView extends JComponent implements Scrollable {
|
||||
worldmap.mapLocations.put(s, new Point(x, y));
|
||||
}
|
||||
|
||||
for (String id : worldmap.mapLocations.keySet()) {
|
||||
worldmap.getProject().getMap(id).addBacklink(worldmap);
|
||||
}
|
||||
|
||||
List<String> toRemove = new ArrayList<String>();
|
||||
for (String s : worldmap.labels.keySet()) {
|
||||
if (!mapLocations.containsKey(s)) {
|
||||
|
||||
Reference in New Issue
Block a user