Gridarta Editor
ProjectFactory.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2023 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.project;
21 
49 import org.jetbrains.annotations.NotNull;
50 import org.jetbrains.annotations.Nullable;
51 
56 public interface ProjectFactory<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> {
57 
62  int getDoubleFaceOffset();
63 
68  boolean getIncludeFaceNumbers();
69 
77  @NotNull
78  ArchetypeFactory<G, A, R> newArchetypeFactory(@NotNull FaceObjectProviders faceObjectProviders, @NotNull AnimationObjects animationObjects);
79 
88  @NotNull
89  GameObjectFactory<G, A, R> newGameObjectFactory(@NotNull FaceObjectProviders faceObjectProviders, @NotNull AnimationObjects animationObjects, @NotNull ArchetypeTypeSet archetypeTypeSet);
90 
97  @NotNull
98  ArchetypeSet<G, A, R> newArchetypeSet(@NotNull ProjectSettings projectSettings, @NotNull ArchetypeFactory<G, A, R> archetypeFactory);
99 
108  @NotNull
109  GameObjectParserFactory<G, A, R> newGameObjectParserFactory(@NotNull GameObjectFactory<G, A, R> gameObjectFactory, @NotNull ArchetypeSet<G, A, R> archetypeSet, @NotNull ArchetypeTypeSet archetypeTypeSet);
110 
122  AbstractArchetypeParser<G, A, R, ?> newArchetypeParser(@NotNull ErrorView errorView, GameObjectParser<G, A, R> gameObjectParser, AnimationObjects animationObjects, ArchetypeSet<G, A, R> archetypeSet, @NotNull GameObjectFactory<G, A, R> gameObjectFactory, @NotNull ProjectSettings projectSettings, @NotNull SmoothFaces smoothFaces);
123 
137  @NotNull
138  AbstractResources<G, A, R> newResources(@NotNull GameObjectParser<G, A, R> gameObjectParser, @NotNull ArchetypeSet<G, A, R> archetypeSet, @NotNull AbstractArchetypeParser<G, A, R, ?> archetypeParser, @NotNull FaceObjects faceObjects, @NotNull AnimationObjects animationObjects, @NotNull ArchFaceProvider archFaceProvider, @NotNull FaceObjectProviders faceObjectProviders, @NotNull SmoothFaces smoothFaces);
139 
144  @NotNull
146 
152  @NotNull
154 
162  @NotNull
163  AttributeRangeChecker<G, A, R> loadAttributeRangeChecker(@NotNull ErrorViewCollector errorViewCollector, @NotNull GameObjectMatchers gameObjectMatchers, @NotNull ValidatorPreferences validatorPreferences);
164 
172  @NotNull
173  MapControlFactory<G, A, R> newMapControlFactory(@NotNull MapWriter<G, A, R> mapWriter, @NotNull ProjectSettings projectSettings, @NotNull MapModelFactory<G, A, R> mapModelFactory);
174 
179  int getSpellType();
180 
185  @Nullable
186  String getSpellFile();
187 
192  String getScriptsDir();
193 
194 }
net.sf.gridarta.model.archetypetype
Defines types of GameObjects with corresponding attributes.
Definition: AbstractArchetypeAttributeInvSpell.java:20
net.sf.gridarta.model.mapcontrol.MapControlFactory
Factory for creating MapControl instances.
Definition: MapControlFactory.java:34
net.sf.gridarta.model.gameobject.GameObjectFactory
Abstract factory for creating GameObject instances.
Definition: GameObjectFactory.java:31
net.sf.gridarta
Base package of all Gridarta classes.
net.sf.gridarta.project.ProjectFactory.newArchetypeParser
AbstractArchetypeParser< G, A, R, ?> newArchetypeParser(@NotNull ErrorView errorView, GameObjectParser< G, A, R > gameObjectParser, AnimationObjects animationObjects, ArchetypeSet< G, A, R > archetypeSet, @NotNull GameObjectFactory< G, A, R > gameObjectFactory, @NotNull ProjectSettings projectSettings, @NotNull SmoothFaces smoothFaces)
Creates a new AbstractArchetypeParser instance.
net.sf.gridarta.model.io.AbstractArchetypeParser
Abstract base implementation of ArchetypeParser.
Definition: AbstractArchetypeParser.java:47
net.sf.gridarta.model.anim.AnimationObjects
AnimationObjects is a container for AnimationObjects.
Definition: AnimationObjects.java:30
net.sf.gridarta.model.face.ArchFaceProvider
Implementation of FaceProvider which reads images from the arch directory.
Definition: ArchFaceProvider.java:38
net.sf
net.sf.gridarta.model.io.MapArchObjectParserFactory
Factory for creating MapArchObjectParser instances.
Definition: MapArchObjectParserFactory.java:29
net.sf.gridarta.model.mapmodel
Definition: AboveFloorInsertionMode.java:20
net.sf.gridarta.model.smoothface
Definition: DuplicateSmoothFaceException.java:20
net.sf.gridarta.model.errorview.ErrorView
Interface for classes displaying error messages.
Definition: ErrorView.java:28
net.sf.gridarta.model.mapmodel.MapModelFactory
A factory for creating MapModel instances.
Definition: MapModelFactory.java:35
net.sf.gridarta.model.archetype
Definition: AbstractArchetype.java:20
net.sf.gridarta.model.face.FaceObjectProviders
Provider for faces of GameObjects and Archetypes.
Definition: FaceObjectProviders.java:46
net.sf.gridarta.model.gameobject.GameObject
Reflects a game object (object on a map).
Definition: GameObject.java:36
net.sf.gridarta.model.mapcontrol
Definition: DefaultMapControl.java:20
net.sf.gridarta.project.ProjectFactory
A factory to create project-dependent objects.
Definition: ProjectFactory.java:56
net.sf.gridarta.model.archetypetype.ArchetypeTypeSet
Manages ArchetypeType instances, list, and bitmask definitions.
Definition: ArchetypeTypeSet.java:40
net.sf.gridarta.project.ProjectFactory.newGameObjectFactory
GameObjectFactory< G, A, R > newGameObjectFactory(@NotNull FaceObjectProviders faceObjectProviders, @NotNull AnimationObjects animationObjects, @NotNull ArchetypeTypeSet archetypeTypeSet)
Creates a new GameObjectFactory instance.
net.sf.gridarta.model.validation.ValidatorPreferences
Configuration parameters for Validators.
Definition: ValidatorPreferences.java:28
net.sf.gridarta.model.gameobject
GameObjects are the objects based on Archetypes found on maps.
Definition: AbstractGameObject.java:20
net
net.sf.gridarta.model.errorview
Definition: ErrorView.java:20
net.sf.gridarta.model.errorview.ErrorViewCollector
Convenience class for adding messages to a ErrorView instance using a fixed category name.
Definition: ErrorViewCollector.java:31
net.sf.gridarta.project.ProjectFactory.loadAttributeRangeChecker
AttributeRangeChecker< G, A, R > loadAttributeRangeChecker(@NotNull ErrorViewCollector errorViewCollector, @NotNull GameObjectMatchers gameObjectMatchers, @NotNull ValidatorPreferences validatorPreferences)
Loads the attribute range checker for map validation.
net.sf.gridarta.project.ProjectFactory.getScriptsDir
String getScriptsDir()
Returns the default directory for editor scripts.
net.sf.gridarta.model.resource.AbstractResources
Maintains resources.
Definition: AbstractResources.java:40
net.sf.gridarta.model.io.MapWriter
Interface for classes that write map files.
Definition: MapWriter.java:34
net.sf.gridarta.model.match
Classes related to matching {GameObjects}, so called { net.sf.gridarta.model.match....
Definition: AndGameObjectMatcher.java:20
net.sf.gridarta.model.archetype.ArchetypeFactory
A factory for creating Archetype instances.
Definition: ArchetypeFactory.java:30
net.sf.gridarta.model.maparchobject.MapArchObject
Interface for MapArchObjects.
Definition: MapArchObject.java:40
net.sf.gridarta.model.match.GameObjectMatchers
Maintains GameObjectMatcher instances.
Definition: GameObjectMatchers.java:40
net.sf.gridarta.model.face.FaceObjects
FaceObjects is a container for FaceObjects.
Definition: FaceObjects.java:31
net.sf.gridarta.model.archetypeset.ArchetypeSet
Interface that captures similarities between different ArchetypeSet implementations.
Definition: ArchetypeSet.java:37
net.sf.gridarta.model.validation
This package contains the framework for validating maps.
Definition: AbstractValidator.java:20
net.sf.gridarta.project.ProjectFactory.getDoubleFaceOffset
int getDoubleFaceOffset()
Returns the offset for drawing double faces.
net.sf.gridarta.project.ProjectFactory.newMapControlFactory
MapControlFactory< G, A, R > newMapControlFactory(@NotNull MapWriter< G, A, R > mapWriter, @NotNull ProjectSettings projectSettings, @NotNull MapModelFactory< G, A, R > mapModelFactory)
Creates a new MapControlFactory instance.
net.sf.gridarta.model.resource
Definition: AbstractCollectedResourcesReader.java:20
net.sf.gridarta.project.ProjectFactory.getSpellFile
String getSpellFile()
Returns the spell file name to load.
net.sf.gridarta.model.io
Reading and writing of maps, handling of paths.
Definition: AbstractAnimationObjectsReader.java:20
net.sf.gridarta.model.settings.ProjectSettings
Settings that apply to a project.
Definition: ProjectSettings.java:29
net.sf.gridarta.model.validation.checks
This package contains the checks for validating maps.
Definition: AbstractShopSquareChecker.java:20
net.sf.gridarta.project.ProjectFactory.getSpellType
int getSpellType()
Returns the archetype type for game object spells.
net.sf.gridarta.model
net.sf.gridarta.model.archetype.Archetype
Reflects an Archetype.
Definition: Archetype.java:41
net.sf.gridarta.project.ProjectFactory.newArchetypeFactory
ArchetypeFactory< G, A, R > newArchetypeFactory(@NotNull FaceObjectProviders faceObjectProviders, @NotNull AnimationObjects animationObjects)
Creates a new ArchetypeFactory instance.
net.sf.gridarta.project.ProjectFactory.newArchetypeSet
ArchetypeSet< G, A, R > newArchetypeSet(@NotNull ProjectSettings projectSettings, @NotNull ArchetypeFactory< G, A, R > archetypeFactory)
Creates a new ArchetypeSet instance.
net.sf.gridarta.project.ProjectFactory.newMapArchObjectParserFactory
MapArchObjectParserFactory< A > newMapArchObjectParserFactory()
Creates a new MapArchObjectParserFactory instance.
net.sf.gridarta.model.smoothface.SmoothFaces
Collection of all smoothing information.
Definition: SmoothFaces.java:37
net.sf.gridarta.project.ProjectFactory.newResources
AbstractResources< G, A, R > newResources(@NotNull GameObjectParser< G, A, R > gameObjectParser, @NotNull ArchetypeSet< G, A, R > archetypeSet, @NotNull AbstractArchetypeParser< G, A, R, ?> archetypeParser, @NotNull FaceObjects faceObjects, @NotNull AnimationObjects animationObjects, @NotNull ArchFaceProvider archFaceProvider, @NotNull FaceObjectProviders faceObjectProviders, @NotNull SmoothFaces smoothFaces)
Creates a new AbstractResources instance.
net.sf.gridarta.project.ProjectFactory.newMapArchObjectFactory
MapArchObjectFactory< A > newMapArchObjectFactory(@NotNull ProjectSettings projectSettings)
Creates a new MapArchObjectFactory instance.
net.sf.gridarta.model.face
The face is the appearance of an object.
Definition: AbstractFaceObjects.java:20
net.sf.gridarta.model.anim
Gridarta can handle frame information of animations and allow the selection of an animation using a t...
Definition: AbstractAnimationObjects.java:20
net.sf.gridarta.model.maparchobject
Definition: AbstractMapArchObject.java:20
net.sf.gridarta.project.ProjectFactory.newGameObjectParserFactory
GameObjectParserFactory< G, A, R > newGameObjectParserFactory(@NotNull GameObjectFactory< G, A, R > gameObjectFactory, @NotNull ArchetypeSet< G, A, R > archetypeSet, @NotNull ArchetypeTypeSet archetypeTypeSet)
Creates a new GameObjectParserFactory instance.
net.sf.gridarta.model.io.GameObjectParser
Interface for classes that read or write GameObject instances.
Definition: GameObjectParser.java:37
net.sf.gridarta.model.archetypeset
Definition: ArchetypeSet.java:20
net.sf.gridarta.model.validation.checks.AttributeRangeChecker
A validator that checks for suspicious attribute values.
Definition: AttributeRangeChecker.java:39
net.sf.gridarta.model.settings
Definition: AbstractDefaultProjectSettings.java:20
net.sf.gridarta.model.io.GameObjectParserFactory
A factory for creating GameObjectParser instances.
Definition: GameObjectParserFactory.java:30
net.sf.gridarta.model.maparchobject.MapArchObjectFactory
Factory for creating MapArchObject instances.
Definition: MapArchObjectFactory.java:28
net.sf.gridarta.project.ProjectFactory.getIncludeFaceNumbers
boolean getIncludeFaceNumbers()
Returns whether the face file contains face numbers.