Interface ProjectFactory<G extends GameObject<G,​A,​R>,​A extends MapArchObject<A>,​R extends Archetype<G,​A,​R>>

    • Method Detail

      • getDoubleFaceOffset

        int getDoubleFaceOffset()
        Returns the offset for drawing double faces.
        Returns:
        the offset
      • getIncludeFaceNumbers

        boolean getIncludeFaceNumbers()
        Returns whether the face file contains face numbers.
        Returns:
        whether the face file contains face numbers
      • newArchetypeFactory

        @NotNull
        @NotNull ArchetypeFactory<G,​A,​R> newArchetypeFactory​(@NotNull
                                                                         @NotNull FaceObjectProviders faceObjectProviders,
                                                                         @NotNull
                                                                         @NotNull AnimationObjects animationObjects)
        Creates a new ArchetypeFactory instance.
        Parameters:
        faceObjectProviders - the face object providers for looking up faces
        animationObjects - the animation objects for looking up animations
        Returns:
        the new instance
      • newGameObjectFactory

        @NotNull
        @NotNull GameObjectFactory<G,​A,​R> newGameObjectFactory​(@NotNull
                                                                           @NotNull FaceObjectProviders faceObjectProviders,
                                                                           @NotNull
                                                                           @NotNull AnimationObjects animationObjects,
                                                                           @NotNull
                                                                           @NotNull ArchetypeTypeSet archetypeTypeSet)
        Creates a new GameObjectFactory instance.
        Parameters:
        faceObjectProviders - the face object providers to use
        animationObjects - the animation objects for looking up animations
        archetypeTypeSet - the archetype type set for looking up archetype types
        Returns:
        the new instance
      • newArchetypeSet

        @NotNull
        @NotNull ArchetypeSet<G,​A,​R> newArchetypeSet​(@NotNull
                                                                 @NotNull ProjectSettings projectSettings,
                                                                 @NotNull
                                                                 @NotNull ArchetypeFactory<G,​A,​R> archetypeFactory)
        Creates a new ArchetypeSet instance.
        Parameters:
        projectSettings - the project settings to use
        archetypeFactory - the archetype factory to use
        Returns:
        the new instance
      • newGameObjectParserFactory

        @NotNull
        @NotNull GameObjectParserFactory<G,​A,​R> newGameObjectParserFactory​(@NotNull
                                                                                       @NotNull GameObjectFactory<G,​A,​R> gameObjectFactory,
                                                                                       @NotNull
                                                                                       @NotNull ArchetypeSet<G,​A,​R> archetypeSet,
                                                                                       @NotNull
                                                                                       @NotNull ArchetypeTypeSet archetypeTypeSet)
        Creates a new GameObjectParserFactory instance.
        Parameters:
        gameObjectFactory - the game object parser factory to use
        archetypeSet - the archetype set for looking up archetypes
        archetypeTypeSet - the archetype type set for sorting attributes on save
        Returns:
        the new instance
      • newArchetypeParser

        AbstractArchetypeParser<G,​A,​R,​?> newArchetypeParser​(@NotNull
                                                                              @NotNull ErrorView errorView,
                                                                              GameObjectParser<G,​A,​R> gameObjectParser,
                                                                              AnimationObjects animationObjects,
                                                                              ArchetypeSet<G,​A,​R> archetypeSet,
                                                                              @NotNull
                                                                              @NotNull GameObjectFactory<G,​A,​R> gameObjectFactory,
                                                                              @NotNull
                                                                              @NotNull ProjectSettings projectSettings,
                                                                              @NotNull
                                                                              @NotNull SmoothFaces smoothFaces)
        Creates a new AbstractArchetypeParser instance.
        Parameters:
        errorView - the error view for reporting errors
        gameObjectParser - the game object parser to use
        animationObjects - the animation objects to use
        archetypeSet - the archetype set to use
        gameObjectFactory - the game object factory to use
        projectSettings - the project settings to use
        smoothFaces - the smooth faces to use
        Returns:
        the new instance
      • newResources

        @NotNull
        @NotNull AbstractResources<G,​A,​R> newResources​(@NotNull
                                                                   @NotNull GameObjectParser<G,​A,​R> gameObjectParser,
                                                                   @NotNull
                                                                   @NotNull ArchetypeSet<G,​A,​R> archetypeSet,
                                                                   @NotNull
                                                                   @NotNull AbstractArchetypeParser<G,​A,​R,​?> archetypeParser,
                                                                   @NotNull
                                                                   @NotNull FaceObjects faceObjects,
                                                                   @NotNull
                                                                   @NotNull AnimationObjects animationObjects,
                                                                   @NotNull
                                                                   @NotNull ArchFaceProvider archFaceProvider,
                                                                   @NotNull
                                                                   @NotNull FaceObjectProviders faceObjectProviders,
                                                                   @NotNull
                                                                   @NotNull SmoothFaces smoothFaces)
        Creates a new AbstractResources instance.
        Parameters:
        gameObjectParser - the game object parser to use
        archetypeSet - the archetype set to use
        archetypeParser - the archetype parser to use
        faceObjects - the face objects to use
        animationObjects - the animation objects to use
        archFaceProvider - the arch face provider to use
        faceObjectProviders - the face object providers for looking up faces
        smoothFaces - the smooth faces to use
        Returns:
        the new instance
      • loadAttributeRangeChecker

        @NotNull
        @NotNull AttributeRangeChecker<G,​A,​R> loadAttributeRangeChecker​(@NotNull
                                                                                    @NotNull ErrorViewCollector errorViewCollector,
                                                                                    @NotNull
                                                                                    @NotNull GameObjectMatchers gameObjectMatchers,
                                                                                    @NotNull
                                                                                    @NotNull ValidatorPreferences validatorPreferences)
        Loads the attribute range checker for map validation.
        Parameters:
        errorViewCollector - the error view collector to use
        gameObjectMatchers - the defined game object matchers
        validatorPreferences - the validator preferences to use
        Returns:
        the loaded attribute range checker
      • newMapControlFactory

        @NotNull
        @NotNull MapControlFactory<G,​A,​R> newMapControlFactory​(@NotNull
                                                                           @NotNull MapWriter<G,​A,​R> mapWriter,
                                                                           @NotNull
                                                                           @NotNull ProjectSettings projectSettings,
                                                                           @NotNull
                                                                           @NotNull MapModelFactory<G,​A,​R> mapModelFactory)
        Creates a new MapControlFactory instance.
        Parameters:
        mapWriter - the map writer to use
        projectSettings - the project settings to use
        mapModelFactory - the map model factory to use
        Returns:
        the new instance
      • getSpellType

        int getSpellType()
        Returns the archetype type for game object spells.
        Returns:
        the archetype type or 0 to not load game object spells
      • getSpellFile

        @Nullable
        @Nullable java.lang.String getSpellFile()
        Returns the spell file name to load.
        Returns:
        the spell file name or null to not load numbered spells
      • getScriptsDir

        java.lang.String getScriptsDir()
        Returns the default directory for editor scripts.
        Returns:
        the directory