mirror of
https://github.com/OMGeeky/ATCS.git
synced 2026-01-23 03:34:10 +01:00
More bug fixes in Requirement management for Key and Replace areas.
Much better handling of the old school form, and smooth, automatic transitionning from old school to new school, but only when necessary!
This commit is contained in:
@@ -20,7 +20,7 @@ public class KeyArea extends MapObject {
|
|||||||
String requireId = obj.getProperties().getProperty("requireId");
|
String requireId = obj.getProperties().getProperty("requireId");
|
||||||
String requireValue = obj.getProperties().getProperty("requireValue");
|
String requireValue = obj.getProperties().getProperty("requireValue");
|
||||||
oldSchoolRequirement = false;
|
oldSchoolRequirement = false;
|
||||||
if (requireId == null) {
|
if (requireType == null) {
|
||||||
String[] fields = obj.getName().split(":");
|
String[] fields = obj.getName().split(":");
|
||||||
if (fields.length == 2) {
|
if (fields.length == 2) {
|
||||||
requireType = Requirement.RequirementType.questProgress.toString();
|
requireType = Requirement.RequirementType.questProgress.toString();
|
||||||
@@ -76,7 +76,7 @@ public class KeyArea extends MapObject {
|
|||||||
}
|
}
|
||||||
if (requirement != null) {
|
if (requirement != null) {
|
||||||
if (oldSchoolRequirement && Requirement.RequirementType.questProgress.equals(requirement.type) && (requirement.negated == null || !requirement.negated)) {
|
if (oldSchoolRequirement && Requirement.RequirementType.questProgress.equals(requirement.type) && (requirement.negated == null || !requirement.negated)) {
|
||||||
tmxObject.setName(requirement.required_obj_id+":"+Integer.toString(requirement.required_value));
|
tmxObject.setName(requirement.required_obj_id+":"+((requirement.required_value == null) ? "" : Integer.toString(requirement.required_value)));
|
||||||
} else {
|
} else {
|
||||||
if (requirement.type != null) {
|
if (requirement.type != null) {
|
||||||
tmxObject.getProperties().setProperty("requireType", requirement.type.toString());
|
tmxObject.getProperties().setProperty("requireType", requirement.type.toString());
|
||||||
@@ -98,7 +98,7 @@ public class KeyArea extends MapObject {
|
|||||||
|
|
||||||
public void updateNameFromRequirementChange() {
|
public void updateNameFromRequirementChange() {
|
||||||
if (oldSchoolRequirement && Requirement.RequirementType.questProgress.equals(requirement.type) && (requirement.negated == null || !requirement.negated)) {
|
if (oldSchoolRequirement && Requirement.RequirementType.questProgress.equals(requirement.type) && (requirement.negated == null || !requirement.negated)) {
|
||||||
name = requirement.required_obj_id+":"+Integer.toString(requirement.required_value);
|
name = requirement.required_obj_id+":"+((requirement.required_value == null) ? "" : Integer.toString(requirement.required_value));
|
||||||
} else if (oldSchoolRequirement) {
|
} else if (oldSchoolRequirement) {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
String futureName = requirement.type.toString() + "#" + Integer.toString(i);
|
String futureName = requirement.type.toString() + "#" + Integer.toString(i);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class ReplaceArea extends MapObject {
|
|||||||
String requireType = obj.getProperties().getProperty("requireType");
|
String requireType = obj.getProperties().getProperty("requireType");
|
||||||
String requireId = obj.getProperties().getProperty("requireId");
|
String requireId = obj.getProperties().getProperty("requireId");
|
||||||
String requireValue = obj.getProperties().getProperty("requireValue");
|
String requireValue = obj.getProperties().getProperty("requireValue");
|
||||||
if (requireId == null) {
|
if (requireType == null) {
|
||||||
String[] fields = obj.getName().split(":");
|
String[] fields = obj.getName().split(":");
|
||||||
if (fields.length == 2) {
|
if (fields.length == 2) {
|
||||||
requireType = Requirement.RequirementType.questProgress.toString();
|
requireType = Requirement.RequirementType.questProgress.toString();
|
||||||
@@ -91,7 +91,7 @@ public class ReplaceArea extends MapObject {
|
|||||||
}
|
}
|
||||||
if (requirement != null) {
|
if (requirement != null) {
|
||||||
if (oldSchoolRequirement && Requirement.RequirementType.questProgress.equals(requirement.type) && (requirement.negated == null || !requirement.negated)) {
|
if (oldSchoolRequirement && Requirement.RequirementType.questProgress.equals(requirement.type) && (requirement.negated == null || !requirement.negated)) {
|
||||||
tmxObject.setName(requirement.required_obj_id+":"+Integer.toString(requirement.required_value));
|
tmxObject.setName(requirement.required_obj_id+":"+((requirement.required_value == null) ? "" : Integer.toString(requirement.required_value)));
|
||||||
} else {
|
} else {
|
||||||
tmxObject.getProperties().setProperty("requireType", requirement.type.toString());
|
tmxObject.getProperties().setProperty("requireType", requirement.type.toString());
|
||||||
if (requirement.required_obj != null) {
|
if (requirement.required_obj != null) {
|
||||||
@@ -112,7 +112,7 @@ public class ReplaceArea extends MapObject {
|
|||||||
//Don't use yet !
|
//Don't use yet !
|
||||||
public void updateNameFromRequirementChange() {
|
public void updateNameFromRequirementChange() {
|
||||||
if (oldSchoolRequirement && Requirement.RequirementType.questProgress.equals(requirement.type) && (requirement.negated == null || !requirement.negated)) {
|
if (oldSchoolRequirement && Requirement.RequirementType.questProgress.equals(requirement.type) && (requirement.negated == null || !requirement.negated)) {
|
||||||
name = requirement.required_obj_id+":"+Integer.toString(requirement.required_value);
|
name = requirement.required_obj_id+":"+((requirement.required_value == null) ? "" : Integer.toString(requirement.required_value));
|
||||||
} else if (oldSchoolRequirement) {
|
} else if (oldSchoolRequirement) {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
String futureName = requirement.type.toString() + "#" + Integer.toString(i);
|
String futureName = requirement.type.toString() + "#" + Integer.toString(i);
|
||||||
|
|||||||
@@ -1813,6 +1813,7 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private int skipAreaFieldEvents = 0;
|
||||||
|
|
||||||
public class MapFieldUpdater implements FieldUpdateListener {
|
public class MapFieldUpdater implements FieldUpdateListener {
|
||||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||||
@@ -1848,8 +1849,22 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
|||||||
tmxViewer.revalidate();
|
tmxViewer.revalidate();
|
||||||
tmxViewer.repaint();
|
tmxViewer.repaint();
|
||||||
} else if (source == areaField) {
|
} else if (source == areaField) {
|
||||||
selectedMapObject.name = (String) value;
|
if (skipAreaFieldEvents > 0) skipAreaFieldEvents--;
|
||||||
groupObjectsListModel.objectChanged(selectedMapObject);
|
else {
|
||||||
|
selectedMapObject.name = (String) value;
|
||||||
|
if (selectedMapObject instanceof KeyArea) {
|
||||||
|
KeyArea area = (KeyArea) selectedMapObject;
|
||||||
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.oldSchoolRequirement = false;
|
||||||
|
}
|
||||||
|
} else if (selectedMapObject instanceof ReplaceArea) {
|
||||||
|
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
||||||
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.oldSchoolRequirement = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
groupObjectsListModel.objectChanged(selectedMapObject);
|
||||||
|
}
|
||||||
} else if (source == spawngroupField) {
|
} else if (source == spawngroupField) {
|
||||||
if (selectedMapObject instanceof SpawnArea) {
|
if (selectedMapObject instanceof SpawnArea) {
|
||||||
SpawnArea area = (SpawnArea)selectedMapObject;
|
SpawnArea area = (SpawnArea)selectedMapObject;
|
||||||
@@ -1973,12 +1988,20 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
|||||||
KeyArea area = (KeyArea) selectedMapObject;
|
KeyArea area = (KeyArea) selectedMapObject;
|
||||||
area.requirement.changeType((Requirement.RequirementType)requirementTypeCombo.getSelectedItem());
|
area.requirement.changeType((Requirement.RequirementType)requirementTypeCombo.getSelectedItem());
|
||||||
updateRequirementParamsPane(requirementParamsPane, area.requirement, this);
|
updateRequirementParamsPane(requirementParamsPane, area.requirement, this);
|
||||||
if (area.oldSchoolRequirement) area.updateNameFromRequirementChange();
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
} else if (selectedMapObject instanceof ReplaceArea) {
|
} else if (selectedMapObject instanceof ReplaceArea) {
|
||||||
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
||||||
area.requirement.changeType((Requirement.RequirementType)requirementTypeCombo.getSelectedItem());
|
area.requirement.changeType((Requirement.RequirementType)requirementTypeCombo.getSelectedItem());
|
||||||
updateRequirementParamsPane(requirementParamsPane, area.requirement, this);
|
updateRequirementParamsPane(requirementParamsPane, area.requirement, this);
|
||||||
if (area.oldSchoolRequirement) area.updateNameFromRequirementChange();
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (source == requirementObj) {
|
} else if (source == requirementObj) {
|
||||||
if (selectedMapObject instanceof KeyArea) {
|
if (selectedMapObject instanceof KeyArea) {
|
||||||
@@ -1989,7 +2012,11 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
|||||||
} else {
|
} else {
|
||||||
area.requirement.required_obj_id = null;
|
area.requirement.required_obj_id = null;
|
||||||
}
|
}
|
||||||
if (area.oldSchoolRequirement) area.updateNameFromRequirementChange();
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
} else if (selectedMapObject instanceof ReplaceArea) {
|
} else if (selectedMapObject instanceof ReplaceArea) {
|
||||||
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
||||||
area.requirement.required_obj = (GameDataElement) value;
|
area.requirement.required_obj = (GameDataElement) value;
|
||||||
@@ -1998,17 +2025,31 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
|||||||
} else {
|
} else {
|
||||||
area.requirement.required_obj_id = null;
|
area.requirement.required_obj_id = null;
|
||||||
}
|
}
|
||||||
if (area.oldSchoolRequirement) area.updateNameFromRequirementChange();
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (source == requirementObjId) {
|
} else if (source == requirementObjId) {
|
||||||
if (selectedMapObject instanceof KeyArea) {
|
if (selectedMapObject instanceof KeyArea) {
|
||||||
KeyArea area = (KeyArea) selectedMapObject;
|
KeyArea area = (KeyArea) selectedMapObject;
|
||||||
area.requirement.required_obj_id = (String) value;
|
area.requirement.required_obj_id = (String) value;
|
||||||
area.requirement.required_obj = null;
|
area.requirement.required_obj = null;
|
||||||
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
} else if (selectedMapObject instanceof ReplaceArea) {
|
} else if (selectedMapObject instanceof ReplaceArea) {
|
||||||
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
||||||
area.requirement.required_obj_id = (String) value;
|
area.requirement.required_obj_id = (String) value;
|
||||||
area.requirement.required_obj = null;
|
area.requirement.required_obj = null;
|
||||||
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (source == requirementValue) {
|
} else if (source == requirementValue) {
|
||||||
if (selectedMapObject instanceof KeyArea) {
|
if (selectedMapObject instanceof KeyArea) {
|
||||||
@@ -2027,7 +2068,11 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
|||||||
stage = quest.getStage(area.requirement.required_value);
|
stage = quest.getStage(area.requirement.required_value);
|
||||||
if (stage != null) stage.addBacklink(map);
|
if (stage != null) stage.addBacklink(map);
|
||||||
}
|
}
|
||||||
if (area.oldSchoolRequirement) area.updateNameFromRequirementChange();
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
} else if (selectedMapObject instanceof ReplaceArea) {
|
} else if (selectedMapObject instanceof ReplaceArea) {
|
||||||
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
||||||
Quest quest = null;
|
Quest quest = null;
|
||||||
@@ -2044,17 +2089,29 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe
|
|||||||
stage = quest.getStage(area.requirement.required_value);
|
stage = quest.getStage(area.requirement.required_value);
|
||||||
if (stage != null) stage.addBacklink(map);
|
if (stage != null) stage.addBacklink(map);
|
||||||
}
|
}
|
||||||
if (area.oldSchoolRequirement) area.updateNameFromRequirementChange();
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (source == requirementNegated) {
|
} else if (source == requirementNegated) {
|
||||||
if (selectedMapObject instanceof KeyArea) {
|
if (selectedMapObject instanceof KeyArea) {
|
||||||
KeyArea area = (KeyArea) selectedMapObject;
|
KeyArea area = (KeyArea) selectedMapObject;
|
||||||
area.requirement.negated = (Boolean) value;
|
area.requirement.negated = (Boolean) value;
|
||||||
if (area.oldSchoolRequirement) area.updateNameFromRequirementChange();
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
} else if (selectedMapObject instanceof ReplaceArea) {
|
} else if (selectedMapObject instanceof ReplaceArea) {
|
||||||
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
ReplaceArea area = (ReplaceArea) selectedMapObject;
|
||||||
area.requirement.negated = (Boolean) value;
|
area.requirement.negated = (Boolean) value;
|
||||||
if (area.oldSchoolRequirement) area.updateNameFromRequirementChange();
|
if (area.oldSchoolRequirement) {
|
||||||
|
area.updateNameFromRequirementChange();
|
||||||
|
skipAreaFieldEvents+=2;
|
||||||
|
areaField.setText(area.name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (source == sourceLayer) {
|
} else if (source == sourceLayer) {
|
||||||
selectedReplacement.sourceLayer = (String)value;
|
selectedReplacement.sourceLayer = (String)value;
|
||||||
|
|||||||
Reference in New Issue
Block a user