From a7224755ff4094a18afab20b61b57ca8d25dea38 Mon Sep 17 00:00:00 2001 From: Zukero Date: Tue, 19 Jul 2016 18:49:42 +0200 Subject: [PATCH] Fixed NPE in KeyArea creation. Rest areas can be renamed. --- src/com/gpl/rpg/atcontentstudio/model/maps/KeyArea.java | 4 +++- src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/gpl/rpg/atcontentstudio/model/maps/KeyArea.java b/src/com/gpl/rpg/atcontentstudio/model/maps/KeyArea.java index 58ee1e6..4af78fb 100644 --- a/src/com/gpl/rpg/atcontentstudio/model/maps/KeyArea.java +++ b/src/com/gpl/rpg/atcontentstudio/model/maps/KeyArea.java @@ -77,7 +77,9 @@ public class KeyArea extends MapObject { if (oldSchoolRequirement && Requirement.RequirementType.questProgress.equals(requirement.type) && (requirement.negated == null || !requirement.negated)) { tmxObject.setName(requirement.required_obj_id+":"+Integer.toString(requirement.required_value)); } else { - tmxObject.getProperties().setProperty("requireType", requirement.type.toString()); + if (requirement.type != null) { + tmxObject.getProperties().setProperty("requireType", requirement.type.toString()); + } if (requirement.required_obj != null) { tmxObject.getProperties().setProperty("requireId", requirement.required_obj.id); } else if (requirement.required_obj_id != null) { diff --git a/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java b/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java index 986c272..1f628e9 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java @@ -542,7 +542,7 @@ public class TMXMapEditor extends Editor { } else if (selected instanceof RestArea) { - pane.add(new JLabel("Rest areas have no parameters"), JideBoxLayout.FIX); + areaField = addTextField(pane, "Area ID: ", ((RestArea)selected).name, ((TMXMap)target).writable, listener); } else if (selected instanceof ScriptArea) { evaluateTriggerBox = addEnumValueBox(pane, "Evaluate on every: ", ScriptArea.EvaluationTrigger.values(), ((ScriptArea)selected).trigger_type, ((TMXMap)target).writable, listener); dialogueBox = addDialogueBox(pane, ((TMXMap)target).getProject(), "Script: ", ((ScriptArea)selected).dialogue, ((TMXMap)target).writable, listener);