Gridarta Editor
DefaultMapManager.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.mapmanager;
21 
22 import java.util.List;
33 import org.jetbrains.annotations.NotNull;
34 import org.jetbrains.annotations.Nullable;
35 
40 public class DefaultMapManager<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> extends AbstractMapManager<G, A, R> {
41 
45  @NotNull
47 
56  public DefaultMapManager(@NotNull final MapReaderFactory<G, A> mapReaderFactory, @NotNull final MapControlFactory<G, A, R> mapControlFactory, @NotNull final ProjectSettings projectSettings, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final PathManager pathManager) {
57  super(mapReaderFactory, projectSettings, faceObjectProviders, pathManager);
58  this.mapControlFactory = mapControlFactory;
59  }
60 
61  @NotNull
62  @Override
63  protected MapControl<G, A, R> createMapControl(@Nullable final List<G> objects, @NotNull final A mapArchObject, @Nullable final MapFile mapFile) {
64  return mapControlFactory.newMapControl(objects, mapArchObject, mapFile);
65  }
66 
67 }
final MapControlFactory< G, A, R > mapControlFactory
The MapControlFactory instance.
This class contains methods for converting relative map paths to absolute map paths and vice versa...
Reading and writing of maps, handling of paths.
Settings that apply to a project.
final ProjectSettings projectSettings
The project settings instance.
A factory for creating MapReader instances.
final MapReaderFactory< G, A > mapReaderFactory
The gridarta objects factory instance.
MapControl< G, A, R > newMapControl(@Nullable List< G > objects, @NotNull A mapArchObject, @Nullable MapFile mapFile)
Create a new map control instance.
Abstract base class for MapManager implementations.
Base package of all Gridarta classes.
Reflects a game object (object on a map).
Definition: GameObject.java:36
GameObjects are the objects based on Archetypes found on maps.
final PathManager pathManager
The PathManager for converting File instances.
DefaultMapManager(@NotNull final MapReaderFactory< G, A > mapReaderFactory, @NotNull final MapControlFactory< G, A, R > mapControlFactory, @NotNull final ProjectSettings projectSettings, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final PathManager pathManager)
Create a new map manager.
Provider for faces of GameObjects and Archetypes.
The face is the appearance of an object.
Currently nothing more than a marker interface for unification.
Definition: MapControl.java:35
MapControl< G, A, R > createMapControl(@Nullable final List< G > objects, @NotNull final A mapArchObject, @Nullable final MapFile mapFile)
The location of a map file with a map directory.
Definition: MapFile.java:31
Factory for creating MapControl instances.