/* $Id: ExamineEvent.java,v 1.7 2010/09/19 02:26:08 nhnb Exp $ */
/***************************************************************************
* (C) Copyright 2003-2010 - Stendhal *
***************************************************************************
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
package games.stendhal.server.events;
import marauroa.common.game.Definition;
import marauroa.common.game.RPClass;
import marauroa.common.game.RPEvent;
import marauroa.common.game.Definition.DefinitionClass;
import marauroa.common.game.Definition.Type;
import marauroa.common.game.SyntaxException;
import org.apache.log4j.Logger;
/**
* An examine event that opens an image viewer with
* the specified image in the client.
*
* @author timothyb89 / hendrik
*/
public class ExamineEvent extends RPEvent {
private static final String RPCLASS_NAME = "examine";
private static final String PATH = "path";
private static final String CAPTION = "caption";
private static final String TITLE = "title";
private static final String IMAGE_PATH = "/data/sprites/";
/** the logger instance. */
private static final Logger logger = Logger.getLogger(ExamineEvent.class);
/**
* Creates the rpclass.
*/
public static void generateRPClass() {
try {
final RPClass rpclass = new RPClass(RPCLASS_NAME);
rpclass.add(DefinitionClass.ATTRIBUTE, PATH, Type.STRING, Definition.PRIVATE);
rpclass.add(DefinitionClass.ATTRIBUTE, CAPTION, Type.STRING, Definition.PRIVATE);
rpclass.add(DefinitionClass.ATTRIBUTE, TITLE, Type.STRING, Definition.PRIVATE);
} catch (final SyntaxException e) {
logger.error("cannot generateRPClass", e);
}
}
/**
* Creates a new ExamineEvent.
*
* @param image image file
* @param title title of image viewer
* @param caption text to display along the image
*/
public ExamineEvent(final String image, final String title, final String caption) {
super(RPCLASS_NAME);
super.put(PATH, IMAGE_PATH + image);
super.put(TITLE, title);
super.put(CAPTION, caption);
}
}