Gridarta Editor
ArchetypeSet.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2015 The Gridarta Developers.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 package net.sf.gridarta.model.archetypeset;
21 
22 import java.util.Collection;
29 import org.jetbrains.annotations.NotNull;
30 import org.jetbrains.annotations.Nullable;
31 
37 public interface ArchetypeSet<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> {
38 
44  boolean isLoadedFromArchive();
45 
50  int getArchetypeCount();
51 
60  @NotNull
61  R getArchetype(@NotNull String archetypeName) throws UndefinedArchetypeException;
62 
71  @NotNull
72  R getOrCreateArchetype(@NotNull String archetypeName);
73 
79  void addArchetype(@NotNull R archetype) throws DuplicateArchetypeException;
80 
86 
92 
97  @NotNull
98  Collection<R> getArchetypes();
99 
100  void connectFaces();
101 
108  void setLoadedFromArchive(boolean loadedFromArchive);
109 
114  @Nullable
115  String getImageSet();
116 
117 }
Collection< R > getArchetypes()
Returns a read-only collection of all Archetypes.
Interface for listeners listening to ArchetypeSet changes.
R getOrCreateArchetype(@NotNull String archetypeName)
Returns an archetype by its name.
Base package of all Gridarta classes.
Reflects a game object (object on a map).
Definition: GameObject.java:36
int getArchetypeCount()
Returns the number of Archetypes available.
R getArchetype(@NotNull String archetypeName)
Returns an Archetype by its name.
void addArchetypeSetListener(@NotNull ArchetypeSetListener< G, A, R > listener)
Registers an ArchetypeSetListener.
An Exception indicating that an Archetype name is not unique.
void removeArchetypeSetListener(@NotNull ArchetypeSetListener< G, A, R > listener)
Removes an ArchetypeSetListener.
GameObjects are the objects based on Archetypes found on maps.
String getImageSet()
Returns the image set.
void addArchetype(@NotNull R archetype)
Adds an Archetype to this Set.
Interface that captures similarities between different ArchetypeSet implementations.
boolean isLoadedFromArchive()
Returns whether the Archetypes in this ArchetypeSet were loaded from an archive.
void setLoadedFromArchive(boolean loadedFromArchive)
Sets whether Archetypes were loaded from an archive.