20 package net.sf.gridarta.gui.scripts;
22 import java.util.ArrayList;
23 import java.util.HashMap;
24 import java.util.List;
26 import java.util.Vector;
27 import javax.swing.JList;
32 import org.jetbrains.annotations.NotNull;
33 import org.jetbrains.annotations.Nullable;
66 private final List<String>
eventNames =
new ArrayList<>();
78 final int eventType = pair.getFirst();
79 final String eventName = pair.getSecond();
80 add(eventType, eventName);
89 private void add(
final int eventType, @NotNull
final String eventName) {
90 assert !allEventTypes.containsKey(eventType);
91 allEventTypes.put(eventType, eventName);
92 indexToEventType.put(eventNames.size(), eventType);
93 eventNames.add(eventName);
99 final String
typeName = allEventTypes.get(eventType);
100 return typeName != null ?
typeName :
"<invalid type>";
110 return allEventTypes.get(eventType);
117 return indexToEventType.get(index);
118 }
catch (
final NullPointerException ignored) {
126 return eventNames.toArray(
new String[eventNames.size()]);
133 final Vector<String> content =
new Vector<>();
136 content.add(
" " +
typeName(tmp.getAttributeInt(subtypeAttribute)));
140 list.setListData(content);
141 list.setSelectedIndex(0);
void addEventsToJList(@NotNull final JList< String > list, @NotNull final Iterable<? extends GameObject<?, ?, ?>> gameObject)
Set all ScriptedEvents to appear in the given JList This method should be fast because it may be exec...
String getEventType(final int eventType)
Returns the type name for an event type.
Package with common types for event archetypes.
String [] getEventNames()
Returns all event names.
int indexToEventType(final int index)
Converts a combo box index to an event type.
final List< String > eventNames
All event names.
AbstractScriptArchUtils(@NotNull final Iterable< Pair< Integer, String >> eventTypes, @NotNull final String subtypeAttribute, final int eventTypeNo)
Creates a new instance.
Base package of all Gridarta classes.
Reflects a game object (object on a map).
final Map< Integer, Integer > indexToEventType
Maps index into eventNames to event type.
GameObjects are the objects based on Archetypes found on maps.
final int eventTypeNo
The object type for event objects.
final Map< Integer, String > allEventTypes
Maps event type to event name.
String typeName(final int eventType)
Returns a human readable name for an event type.
void add(final int eventType, @NotNull final String eventName)
Adds on event description.
final String subtypeAttribute
The attribute name for the subtype field.