mirror of
https://github.com/OMGeeky/ATCS.git
synced 2025-12-26 23:57:25 +01:00
data using a thread-safe collection. Some NPEs fixed. More data protection in tiled integration functions (better state checking, backup tiled-made file before saving ATCS-made data). jardesc file added for convenience.
48 lines
1.1 KiB
Java
48 lines
1.1 KiB
Java
package com.gpl.rpg.atcontentstudio.model.maps;
|
|
|
|
import java.awt.Image;
|
|
|
|
import com.gpl.rpg.atcontentstudio.model.GameDataElement;
|
|
import com.gpl.rpg.atcontentstudio.model.gamedata.Dialogue;
|
|
import com.gpl.rpg.atcontentstudio.ui.DefaultIcons;
|
|
|
|
public class SignArea extends MapObject {
|
|
|
|
public Dialogue dialogue = null;
|
|
|
|
public SignArea(tiled.core.MapObject obj) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void link() {
|
|
if (name != null) dialogue = parentMap.getProject().getDialogue(name);
|
|
if (dialogue != null) {
|
|
dialogue.addBacklink(parentMap);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Image getIcon() {
|
|
if (dialogue != null) return DefaultIcons.getSignIcon();
|
|
else return DefaultIcons.getNullifyIcon();
|
|
}
|
|
|
|
@Override
|
|
public void elementChanged(GameDataElement oldOne, GameDataElement newOne) {
|
|
if (oldOne == dialogue) {
|
|
oldOne.removeBacklink(parentMap);
|
|
dialogue = (Dialogue) newOne;
|
|
if (newOne != null) newOne.addBacklink(parentMap);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void savePropertiesInTmxObject(tiled.core.MapObject tmxObject) {
|
|
if (dialogue != null) {
|
|
tmxObject.setName(dialogue.id);
|
|
}
|
|
}
|
|
|
|
}
|