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) {
			dialogue = (Dialogue) newOne;
			newOne.addBacklink(parentMap);
		}
	}
	
	@Override
	public void savePropertiesInTmxObject(tiled.core.MapObject tmxObject) {
		if (dialogue != null) {
			tmxObject.setName(dialogue.id);
		}
	}
	
}
