All Classes and Interfaces
Class
Description
Implementing
Activatable
denotes the Object can, and usually must, be activated before it can be used.When an
YaegerEntity
is Anchorable
, it has access to
am anchorpoint.An
AnchorPoint
denotes the point of an YaegerEntity
which is being used for
placement on the x,y-coordinate.An
Animation
encapsulate an animation that uses only a selection of the frames from a sprite sheet.When used with an
Animation
that support a callback, this interface should be implemented
by the object that supplies the callback-method.An
AnimationTimerFactory
should be used to create instances of an AnimationTimer
.A Functional Interface to be used for the default handler of a
AnimationTimer
.The
AnnotationProcessor
is responsible for processing Yaeger specific annotations.An
AudioRepository
provides a central repository for acquiring audio files.A MediaPlayer for playing background audio.
A
BackgroundDelegate
follows the Delegate pattern and embraces Composition over Inheritance.A
BackgroundFactory
can be used to create instances of Background
to be used as the background of a Pane
.Implementing this interface exposes the
Bounded.getBoundingBox()
and method, which returns the bounds, aka
Bounding Box, of this Entity.A
BufferedMovable
extends the interface Movable
and support the use of a buffer.A
CenteredShapeEntity
is a special case of a ShapeEntity
, based on a Shape
of which the center is the reference point when placed on a Scene
.A
CircleEntity
provides the option to use a drawable Circle as an
YaegerEntity
.Denote that this
Object
can be cleared.A
CollisionDelegate
handles all behavior related to Object collisions.When a group of entities is combined to create a single
YaegerEntity
, they are
a composition and this class should be used to perform that composition.When implementing this Interface, a
YaegerEntity
will acquire the behaviour to
perform a rotation on each Game World update, and thus give the illusion of a continuous
rotation.A
Coordinate2D
is a 2D geometric point that represents a pair of coordinates.A
CoordinateGridDelegate
follows the Delegate pattern and embraces Composition over Inheritance.Although many fonts are already available through the underlying technology JavaFX,
it is also possible to use custom fonts.
The
Debugger
is used to gather and show in-game debug information.A value shown in the
Debugger
.Implementing this interface states that this Object requires injection of dependencies.
Denote that this
Object
is Destroyable and hence ensures maximum Objects eligible for Garbage Collection.Convenience enum for setting the
Direction
.A
DirectionProvider
exposes a method to acquire the direction.The
DragNDropRepository
is responsible for storing the Object that is currently being dragged.A
DragRepositoryAccessor
needs access to a DragNDropRepository
to either set or get information
about the object that is currently being dragged/dropped.An
DynamicCircleEntity
extends all behaviour of a CircleEntity
, but also implements the
Updatable
Interface.When a group of entities is combined to create a single entity, they are
a composition and this class should be used to perform that composition.
An
DynamicEllipseEntity
extends all behaviour of a EllipseEntity
, but also implements the
Updatable
Interface.An
DynamicRectangleEntity
extends all behaviour of a RectangleEntity
, but also implements the
Updatable
Interface.A
DynamicScene
extends a StaticScene
, but adds a Game World Update (GWU).A
DynamicSpriteEntity
extends all behaviour of a SpriteEntity
, but also implements the
Updatable
Interface.An
DynamicTextEntity
extends all behaviour of a TextEntity
, but also implements the
Updatable
Interface.By implementing the interface
Effectable
, it is possible to apply
various effects on both a YaegerScene
and a YaegerEntity
.An
EllipseEntity
provides the option to use a drawable Ellipse as a
YaegerEntity
.An
EntityCollection
encapsulates all behaviour related to all instances of YaegerEntity
that are part of
a YaegerScene
.A
EntityCollectionFactory
should be used to create instances of EntityCollection
.A wrapper class that allows entities to be configured using a generic configuration object.
An
EntityMotionInitBuffer
is used to support the option to set the speed,
direction and physics related properties of an YaegerEntity
from the constructor
.When a
YaegerEntity
needs to be processed, in general meaning it should be passed as a parameter
to a specific method, this functional interface can be used as the basis for a Lambda expression.An
EntitySpawner
is the abstract superclass that should be extended to create an object that
spawns a subclass of YaegerEntity
.An
EntitySupplierFactory
is responsible for creating instances of EntitySupplier
.By implementing the interface
EventInitiator
it is possible to register an EventHandler
for
a given EventType
.A
Timer
that is to be used for creating the fade-in effect of the SplashScene
.Being a
GameNode
guarantees that a Node
, if set, is accessible.An
ImageFactory
should be used for creating instance of Image
.An
ImageRepository
provides a central repository for acquiring sprites.An
ImageViewFactory
should be used for creating instance of ImageView
.A
InitializationBuffer
is a simple data container, only used for storing the values can be set
before an YaegerEntity
gets initialized and the
Node
is available.A
KeyListener
is notified when the set of pressed keys changes.A
KeyListenerDelegate
follows the Delegate pattern and embraces Composition over Inheritance.An
LineFactory
should be used for creating instance of Line
.A
LocationUpdater
can calculate a new location.An
MediaFactory
should be used for creating instance of Media
and MediaPlayer
.A
MotionApplier
provides basis behaviour regarding speed and direction of a
YaegerEntity
A
MotionModifier
is the basic interface that defines the API of all Objects
that capable of modifying the motion of a YaegerEntity
.A
MouseButtonPressedListener
enables the YaegerEntity
or YaegerScene
to be notified if a MouseButton
has been clicked while the mouse pointer is on the YaegerEntity
or
YaegerScene
.A
MouseButtonReleasedListener
enables the YaegerEntity
or YaegerScene
to be notified if a MouseButton
has been released while the mouse pointer is on the YaegerEntity
or
YaegerScene
.A
MouseDragEnterListener
enables the YaegerEntity
or YaegerScene
to be notified when the area defined by its BoundingBox
is being entered by something that
is being dragged.A
MouseDragExitedListener
enables the YaegerEntity
or YaegerScene
to be notified when the area defined by its BoundingBox
is being exited by something that
is being dragged.Being a
MouseDraggedListener
enables the YaegerEntity
or YaegerScene
to be notified when a mouse button is pressed on this the area defined by the BoundingBox
of an
YaegerEntity
or YaegerScene
, and then dragged.A
MouseDropListener
enables the YaegerEntity
or YaegerScene
to be notified when within the area defined by its BoundingBox
something that
is being dragged is dropped.A
MouseEnterListener
enables the YaegerEntity
or YaegerScene
to be notified if the Mouse Cursor has entered the area defined by the BoundingBox
of the YaegerEntity
or
YaegerScene
.A
MouseExitListener
enables the YaegerEntity
or YaegerScene
to be notified if the Mouse Cursor has exited the area defined by the BoundingBox
of the YaegerEntity
or YaegerScene
.A
MouseMovedListener
enables the YaegerEntity
or YaegerScene
to be
notified if the mouse has been moved.Being a
MouseMovedWhileDraggingListener
enables the YaegerEntity
or YaegerScene
to be
notified if the mouse has been moved while it is dragging a MouseDraggedListener
or nothing at all.When the Interface
Movable
is implemented, an YaegerEntity
is able to move around the YaegerScene
on each Game World Update.Implementing the
NamedAnimationListProvider
interface guarantees that a List
of
instances of FiniteAnimation
is available.A
NewtonianModifier
is capable of modifying all properties that are related to the laws of
gravity and friction.A method annotated with
OnActivation
will be automatically called by the
AnnotationProcessor
during activation of either an YaegerEntity
or a YaegerScene
.A method annotated with
OnActivation
will be automatically called by the
AnnotationProcessor
after activation of either an YaegerEntity
or a YaegerScene
.A
PaneFactory
can be used to create instances of Pane
or
ScrollPane
.A
Placeable
has a methods that can be used to place it at a different x,y-coordinates
on the YaegerScene
.A
RectangleEntity
provides the option to use a drawable Rectangle as an
YaegerEntity
.A
Removable
denotes an Object
, most likely an YaegerEntity
, that is eligible for
removing from its parent.Implementing a
ResourceConsumer
exposes a default methode that can be used to acquire the absolute
path to a resource available on the class path.A
RootPaneProvider
is capable of providing the Pane
that
should be used as the root pane for all other children of Node
that are
part of the YaegerScene
.Implementing this interface will result in de availability of the
Rotatable.setRotate(double)
method.Since a
YaegerScene
is always rectangular shaped, it has fout borders, being the SceneBorder.TOP
, SceneBorder.RIGHT
,
SceneBorder.BOTTOM
and SceneBorder.LEFT
.Implement this interface to be notified if the
YaegerEntity
crosses the boundary of the YaegerScene
.Implement this interface to be notified if the
YaegerEntity
touches the boundary of the YaegerScene
.A
SceneChild
is part of a YaegerScene
and has thus acces to width and height of the YaegerScene
it
is part of.A
SceneCollection
contains all instances of YaegerScene
that are part of a Game.A
SceneCollectionFactory
can be used to create instances of SceneCollection
.A
SceneFactory
can be used to create instances of Scene
.A
ScrollableDynamicScene
has exactly the same behaviour as a DynamicScene
, but adds the option
to differ between the viewable area and the actual window size.The
ShapeEntity
is the abstract super class of all Entities that encapsulate
a JavaFX Shape
.A
SoundClip
encapsulates a mp3 audio file.A
SpeedProvider
exposes a method to acquire the speed.A Splash Screen, being an instance of
YaegerScene
that
will be shown a given number of milliseconds at the start of a YaegerGame
.The factory to be used for creating instances of
SplashScene
.A
SpriteAnimationDelegate
holds all responsibility related to Sprites that contain multiple images.A
SpriteAnimationDelegateFactory
is responsible for creating an instance of a SpriteAnimationDelegate
.A
SpriteEntity
is a YaegerEntity
that is represented by an Image.A
StaticScene
is the abstract superclass of all scenes that do not require a Game Loop.A
StatisticsObserver
will function as the Observer
from the Observable-pattern, for changes in
the EntityCollectionStatistics
.A
TextEntity
can be used to display a line of text on a YaegerScene
.An
LineFactory
should be used for creating instance of Line
.The
TileFactory
should be used for creating instances of YaegerEntity
that will be part of a
TileMap
.A
TileMap
encapsulate a two-dimensional map of instances of YaegerEntity
, which should be added to
a YaegerScene
.Implementing this interface exposes the
TileMapContainer.addTileMap(TileMap)
method.An
AnimationTimer
that calls its handle()
method on the given interval, and not the default
on each frame.A Functional Interface to be used for the handler of a
AnimationTimer
.The abstract superclass of all timers that are available for both
YaegerScene
and YaegerEntity
.Implementing the
TimerListProvider
interface guarantees that a List
of
instances of Timer
is available.Implement this interface to be updated every cycle of the game loop.
A method annotated with
UpdatableProvider
should return an Updatable
and will automatically be called during activation of an YaegerEntity
or YaegerScene
to gathers all objects that contain an Updatable.update(long)
method that should be called at each Game world update.An
UpdateExposer
can be applied to any dynamic YaegerEntity
or YaegerScene
and makes it possible to explicitly use the GWU.All constants that are related to the view order of any
Node
that is to be part of a
YaegerGame
.A specific implementation of
AnimationTimer
that limits the call
to YaegerAnimationTimer.handle(long)
to 60 times per second.The commandline parser will parse the
String[]
provided as command line
arguments during start up to a YaegerConfig
.An encapsulation of the various configuration settings that can be applied to a Yaeger game
at start-up.
A
YaegerEntity
is the base class for all things that can be drawn on a
YaegerScene
.YaegerGame
is the base class that must be extended to create a Yaeger game.The abstract base class of both the
YaegerEntity
and StaticScene
and contains the shared behaviour.A
YaegerScene
encapsulates a scene or level from a Yaeger Game
.A
YaegerStage
encapsulates an JavaFX Stage
.