Addedchanges to match new datamodel in AT. Notably, ability to disable a

Map Object Group in a new game in a map, and the associated rewards
((de)activateMapObjectGroup) in dialogues that replace
(de)activateMapChangeArea.
This commit is contained in:
Zukero
2016-07-19 17:37:54 +02:00
parent 830e9de56b
commit 1e8dd405c3
4 changed files with 43 additions and 24 deletions

View File

@@ -124,6 +124,7 @@ public class TMXMapEditor extends Editor {
private JPanel layerDetailsPane;
private BooleanBasedCheckBox layerVisibleBox;
private BooleanBasedCheckBox activeLayerBox;
private JTextField layerNameField;
private MapObjectsListModel groupObjectsListModel;
private JList groupObjectsList;
@@ -308,6 +309,7 @@ public class TMXMapEditor extends Editor {
break;
}
}
activeForNewGame = addBooleanBasedCheckBox(groupDetailPane, "Active for new game", objGroup.active, map.writable, listener);
groupObjectsListModel = new MapObjectsListModel(objGroup);
groupObjectsList = new JList(groupObjectsListModel);
groupObjectsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
@@ -1683,6 +1685,11 @@ public class TMXMapEditor extends Editor {
modified = false;
tmxViewer.revalidate();
tmxViewer.repaint();
} else if (source == activeForNewGame) {
if (selectedLayer instanceof tiled.core.ObjectGroup) {
map.getGroup((tiled.core.ObjectGroup) selectedLayer).active = activeForNewGame.isSelected();
}
modified = true;
} else if (source == layerList) {
modified = false;
tmxViewer.revalidate();
@@ -1692,15 +1699,8 @@ public class TMXMapEditor extends Editor {
tmxViewer.revalidate();
tmxViewer.repaint();
} else if (source == areaField) {
if (selectedMapObject instanceof SpawnArea) {
SpawnArea area = (SpawnArea)selectedMapObject;
area.name = (String) value;
groupObjectsListModel.objectChanged(area);
} else if (selectedMapObject instanceof MapChange) {
MapChange area = (MapChange) selectedMapObject;
area.name = (String) value;
groupObjectsListModel.objectChanged(area);
}
selectedMapObject.name = (String) value;
groupObjectsListModel.objectChanged(selectedMapObject);
} else if (source == spawngroupField) {
if (selectedMapObject instanceof SpawnArea) {
SpawnArea area = (SpawnArea)selectedMapObject;
@@ -1709,7 +1709,7 @@ public class TMXMapEditor extends Editor {
npc.removeBacklink(map);
}
}
area.name = (String) value;
area.spawngroup_id = (String) value;
selectedMapObject.link();
npcList.setModel(new SpawnGroupNpcListModel(area));
groupObjectsListModel.objectChanged(area);
@@ -1717,10 +1717,6 @@ public class TMXMapEditor extends Editor {
npcList.repaint();
tmxViewer.revalidate();
tmxViewer.repaint();
} else if (selectedMapObject instanceof MapChange) {
MapChange area = (MapChange) selectedMapObject;
area.name = (String) value;
groupObjectsListModel.objectChanged(area);
}
} else if (source == targetAreaCombo) {
if (selectedMapObject instanceof MapChange) {