From: <aki...@us...> - 2008-10-16 05:47:20
|
Revision: 5535 http://gridarta.svn.sourceforge.net/gridarta/?rev=5535&view=rev Author: akirschbaum Date: 2008-10-16 05:47:10 +0000 (Thu, 16 Oct 2008) Log Message: ----------- Move most of ScriptArchUtils to common code base. Modified Paths: -------------- trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchUtils.java trunk/daimonin/src/daieditor/gameobject/scripts/ScriptArchUtils.java trunk/src/app/net/sf/gridarta/gameobject/scripts/AbstractScriptArchUtils.java Modified: trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchUtils.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchUtils.java 2008-10-16 05:39:26 UTC (rev 5534) +++ trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchUtils.java 2008-10-16 05:47:10 UTC (rev 5535) @@ -19,47 +19,26 @@ package cfeditor.gameobject.scripts; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import javax.swing.JComboBox; import net.sf.gridarta.gameobject.scripts.AbstractScriptArchUtils; -import net.sf.japi.util.Arrays2; import org.jetbrains.annotations.Nullable; public class ScriptArchUtils extends AbstractScriptArchUtils { - /** - * Maps event type to event name. - */ - private final Map<Integer, String> allEventTypes = new HashMap<Integer, String>(); - - /** - * Maps index into {@link #eventNames} to event type. - */ - private final Map<Integer, Integer> indexToEventType = new HashMap<Integer, Integer>(); - - /** - * All event names. - */ - private final List<String> eventNames = new ArrayList<String>(); - // FIXME: This should NOT BE HERE. Instead, it should be read from types.xml. { add(1, "apply"); add(2, "attack"); - add(11, "close"); add(3, "death"); - add(13, "destroy"); add(4, "drop"); add(5, "pickup"); add(6, "say"); add(7, "stop"); - add(9, "throw"); add(8, "time"); - add(12, "timer"); + add(9, "throw"); add(10, "trigger"); + add(11, "close"); + add(12, "timer"); + add(13, "destroy"); add(31, "user"); }; @@ -69,56 +48,11 @@ public ScriptArchUtils() { } - /** - * Adds on event description. - * @param eventType the event type - * @param eventName the event name - */ - private void add(final int eventType, final String eventName) { - assert !allEventTypes.containsKey(eventType); - allEventTypes.put(eventType, eventName); - indexToEventType.put(eventNames.size(), eventType); - eventNames.add(eventName); - } - /** {@inheritDoc} */ - public String typeName(final int eventType) { - final String typeName = allEventTypes.get(eventType); - return typeName != null ? typeName : "<invalid type>"; - } - - /** {@inheritDoc} */ @Nullable public String getArchetypeNameForEventType(final int eventType) { final String typeName = allEventTypes.get(eventType); return typeName != null ? "event_" + typeName : null; } - /** {@inheritDoc} */ - public JComboBox createEventTypeBox() { - final String[] valuesArray = eventNames.toArray(new String[eventNames.size()]); - final JComboBox eventTypeBox = new JComboBox(valuesArray); - eventTypeBox.setSelectedIndex(Arrays2.linearEqualitySearch("say", valuesArray)); - return eventTypeBox; - } - - /** {@inheritDoc} */ - public int indexToEventType(final int index) { - try { - return indexToEventType.get(index); - } catch (final NullPointerException ex) { - return 0; - } - } - - /** {@inheritDoc} */ - public List<?> getEventTypes() { - final List<Object> result = new ArrayList<Object>(); - for (final Map.Entry<Integer, String> e : allEventTypes.entrySet()) { - result.add(e.getKey()); - result.add(e.getValue()); - } - return result; - } - } // class ScriptArchUtils Modified: trunk/daimonin/src/daieditor/gameobject/scripts/ScriptArchUtils.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/scripts/ScriptArchUtils.java 2008-10-16 05:39:26 UTC (rev 5534) +++ trunk/daimonin/src/daieditor/gameobject/scripts/ScriptArchUtils.java 2008-10-16 05:47:10 UTC (rev 5535) @@ -19,32 +19,11 @@ package daieditor.gameobject.scripts; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import javax.swing.JComboBox; import net.sf.gridarta.gameobject.scripts.AbstractScriptArchUtils; -import net.sf.japi.util.Arrays2; import org.jetbrains.annotations.Nullable; public class ScriptArchUtils extends AbstractScriptArchUtils { - /** - * Maps event type to event name. - */ - private final Map<Integer, String> allEventTypes = new HashMap<Integer, String>(); - - /** - * Maps index into {@link #eventNames} to event type. - */ - private final Map<Integer, Integer> indexToEventType = new HashMap<Integer, Integer>(); - - /** - * All event names. - */ - private final List<String> eventNames = new ArrayList<String>(); - // FIXME: This should NOT BE HERE. Instead, it should be read from types.xml. { add(1, "apply"); @@ -68,55 +47,10 @@ public ScriptArchUtils() { } - /** - * Adds on event description. - * @param eventType the event type - * @param eventName the event name - */ - private void add(final int eventType, final String eventName) { - assert !allEventTypes.containsKey(eventType); - allEventTypes.put(eventType, eventName); - indexToEventType.put(eventNames.size(), eventType); - eventNames.add(eventName); - } - /** {@inheritDoc} */ - public String typeName(final int eventType) { - final String typeName = allEventTypes.get(eventType); - return typeName != null ? typeName : "<invalid type>"; - } - - /** {@inheritDoc} */ @Nullable public String getArchetypeNameForEventType(final int eventType) { return "event_obj"; } - /** {@inheritDoc} */ - public JComboBox createEventTypeBox() { - final String[] valuesArray = eventNames.toArray(new String[eventNames.size()]); - final JComboBox eventTypeBox = new JComboBox(valuesArray); - eventTypeBox.setSelectedIndex(Arrays2.linearEqualitySearch("say", valuesArray)); - return eventTypeBox; - } - - /** {@inheritDoc} */ - public int indexToEventType(final int index) { - try { - return indexToEventType.get(index); - } catch (final NullPointerException ex) { - return 0; - } - } - - /** {@inheritDoc} */ - public List<?> getEventTypes() { - final List<Object> result = new ArrayList<Object>(); - for (final Map.Entry<Integer, String> e : allEventTypes.entrySet()) { - result.add(e.getKey()); - result.add(e.getValue()); - } - return result; - } - } // class ScriptArchUtils Modified: trunk/src/app/net/sf/gridarta/gameobject/scripts/AbstractScriptArchUtils.java =================================================================== --- trunk/src/app/net/sf/gridarta/gameobject/scripts/AbstractScriptArchUtils.java 2008-10-16 05:39:26 UTC (rev 5534) +++ trunk/src/app/net/sf/gridarta/gameobject/scripts/AbstractScriptArchUtils.java 2008-10-16 05:47:10 UTC (rev 5535) @@ -19,12 +19,79 @@ package net.sf.gridarta.gameobject.scripts; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.swing.JComboBox; +import net.sf.japi.util.Arrays2; + public abstract class AbstractScriptArchUtils implements ScriptArchUtils { /** + * Maps event type to event name. + */ + protected final Map<Integer, String> allEventTypes = new HashMap<Integer, String>(); + + /** + * Maps index into {@link #eventNames} to event type. + */ + private final Map<Integer, Integer> indexToEventType = new HashMap<Integer, Integer>(); + + /** + * All event names. + */ + private final List<String> eventNames = new ArrayList<String>(); + + /** * Creates a new instance. */ protected AbstractScriptArchUtils() { } + /** + * Adds on event description. + * @param eventType the event type + * @param eventName the event name + */ + protected void add(final int eventType, final String eventName) { + assert !allEventTypes.containsKey(eventType); + allEventTypes.put(eventType, eventName); + indexToEventType.put(eventNames.size(), eventType); + eventNames.add(eventName); + } + + /** {@inheritDoc} */ + public String typeName(final int eventType) { + final String typeName = allEventTypes.get(eventType); + return typeName != null ? typeName : "<invalid type>"; + } + + /** {@inheritDoc} */ + public JComboBox createEventTypeBox() { + final String[] valuesArray = eventNames.toArray(new String[eventNames.size()]); + final JComboBox eventTypeBox = new JComboBox(valuesArray); + eventTypeBox.setSelectedIndex(Arrays2.linearEqualitySearch("say", valuesArray)); + return eventTypeBox; + } + + /** {@inheritDoc} */ + public int indexToEventType(final int index) { + try { + return indexToEventType.get(index); + } catch (final NullPointerException ex) { + return 0; + } + } + + /** {@inheritDoc} */ + public List<?> getEventTypes() { + final List<Object> result = new ArrayList<Object>(); + for (final Map.Entry<Integer, String> e : allEventTypes.entrySet()) { + result.add(e.getKey()); + result.add(e.getValue()); + } + return result; + } + } // class AbstractScriptArchUtils This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |