All Classes and Interfaces
Class
Description
AffineTransform represents an affine transformation.
AspectMode specifies how rendered output will be scaled when the window resizes.
AspectRatioSizing contains the top, left coordinate for where rendering will begin as well as the width and height
of the space to render in.
Asset notates a class as being able to be loaded by an
AssetLoader
.AssetHandle is a handle to an
Asset
that may or may not be loaded yet.The AssetLoader class contains functionality for loading an
Asset
type.The AssetLoaderProvider class holds instances of
AssetLoader
s for various Asset
types.AudioClip defines the api for audio
Asset
s.Background contains the properties for a
GuiElement
's background.BaseInputGuiElement provides basic functionality for
GuiElement
s that allow users to interact with them via
keyboard or mouse events.BaseStyles contains properties that are common to all
GuiElement
to use
as part of rendering.Builder class for
BaseStyles
.A
StylesJsonValueParser
implementation for BaseStyles.Builder
.BlendFunction controls how the pixel being drawn (top) and the destination pixel (bottom) will be blended together to
produce a final color that is drawn.
BlendMode is an enum of several prebuilt
BlendFunction
s.Border contains the properties for a
GuiElement
's border.BulkAssetLoader handles loading a collection of various
Asset
s proving a handle for the collection with
callbacks for when all the assets have finished loading.BulkAssetHandle holds the collection of
Asset
s that have been loaded by a BulkAssetLoader
.ButtonGuiElement is a
BaseInputGuiElement
that allows users to interact via clicking the button or using
keyboard shortcuts.CameraComponent is a
Component
that contains data for a 2d camera for an Entity
.Canvas is an array of pixels with a width and height defined.
Circle represents a geometric circle.
CircleEntityGraphicsModule is a
SolaEntityGraphicsModule
implementation for rendering Entity
that have a
TransformComponent
and CircleRendererComponent
.CircleRendererComponent is a
Component
containing data for rendering 2d circles.ColliderComponent is a
Component
that contains collision data for an Entity
.ColliderShape contains methods and data needed for geometric
Shape
s for collision calculations.ColliderShapeAABB is a
ColliderShape
implementation for Axis-Aligned Bounding Boxes which utilize a
Rectangle
for its geometric shape representation.ColliderShapeCircle is a
ColliderShape
implementation for a circle which utilize a
Circle
for its geometric shape representation.ColliderShapeTriangle is a
ColliderShape
implementation for a triangle which utilize a
Triangle
for its geometric shape representation.Identifier tag for this collider.
Available collider types.
ColliderUtils is a collection of utility methods for configuring
ColliderComponent
.CollisionDetectionBroadPhase defines the contract for a broad phase collision detection algorithm to be used by
CollisionDetectionSystem
.The CollisionDetectionSystem class is a
EcsSystem
implementation that handles checking if a World
has any Entity
with ColliderComponent
s that are colliding with each other.Event
that a collision happened that should be resolved by applying forces.Creates a CollisionManifoldEventMessage for two entities.
The CollisionUtils class is a collection of various methods that help in collision detection and resolution.
The Color class represents an argb color that can be used for rendering.
ConditionalStyle holds a
BaseStyles
instance and a condition for when it should be applied.A ControlInput is composed of a
List
of conditions.ControlInputCondition indicates whether a condition for a
ControlInput
is active or not.ControlsConfig is an
Asset
for control configurations.ControlsConfigAssetLoader is an
AssetLoader
implementation for ControlsConfig
s.ControlsConfigJsonMapper is a
JsonMapper
implementation for ControlsConfig
.CrossAxisChildren defines how a
GuiElement
's children when be positioned
when extra space is available on the cross axis defined by its Direction
.DebugEntityGraphicsModule is a
SolaEntityGraphicsModule
implementation for rendering debug information for a World
.The DefaultFont class contains a utility method for creating the default font instance for sola-game-engine.
Class containing constants for default style values for various properties used
by
GuiElement
for rendering and layout calculations.DefaultThemeBuilder contains methods for creating default
GuiTheme
s that can then be further customized.Direction defines the ways
GuiElement
children will flow.Random chance of using color of top pixel based on alpha as the probability.
DrawItem hold logic to draw things onto a
Renderer
.ColliderComponent is a
Component
that contains dynamic body physics data for an
Entity
.EasingFunction is a representation of mathematical easing functions useful for things like animation.
The Event interface represents an event that can be listened to or emitted.
EventHub handles distribution of
Event
s that are emitted to their respective EventListener
s that have
been added.The EventListener interface defines the api for listening to emitted
Event
s of a certain type.FixedUpdateGameLoop is a
GameLoop
implementation that runs an update method at desired target updates per
second and renders whenever an update is available.Font is an
Asset
containing the information required to render strings of text for a particular font that
has been rasterized into an image.Represents the width and height that a string of text that would be rendered with a particular
Font
.FontAssetLoader is an
AssetLoader
implementation for Font
s.FontGlyph holds information on a glyph's placement in the rasterized
Font
FontGlyphJsonMapper is a
JsonMapper
implementation for FontGlyph
s.FontInfo contains all the information needed to render strings for a
Font
.FontInfoJsonMapper is a
JsonMapper
implementation for FontInfo
.FontStyle is an enum of possible
Font
style options.GameLoop handles running a sequence of update and render commands at a target rate.
FpsTracker is a simple class for tracking update and frame ticks.
The current state of the
GameLoop
.GravitySystem is an
EcsSystem
that applies a gravity constant of force to all
Entity
that have a DynamicBodyComponent
, are not kinematic and not grounded.GuiDocument is a container for
GuiElement
that also handles passing various key and mouse events to the
currently active root element set via GuiDocument.setRootElement(GuiElement)
.GuiElement is the base class for all elements that can be rendered in a
GuiDocument
.GuiElementBounds holds the information for the bounding box for part of
GuiElement
.GuiElementDimensions holds the width and height of a
GuiElement
measurement.GuiElementEvents is a container for the
GuiEventListenerList
s for various event types
for GuiElement
s.GuiElementJsonBlueprint<Styles extends BaseStyles,Element extends GuiElement<Styles,?>,StylesBuilder extends BaseStyles.Builder<?>>
GuiElementJsonBlueprint provides functionality for building a
GuiElement
with its styles from JSON.GuiEvent defines the general api for gui specific events.
GuiEventListener
GuiEventListener.onEvent(GuiEvent)
method is called whenever the event of the type is
emitted.GuiEventListenerList is a data structure that holds
GuiEventListener
s for a particular kind of GuiEvent
.GuiEventSubscription is the handle to the event subscriber when it is registered to a
GuiEventListenerList
.GuiJsonDocument as an
Asset
containing a GuiElement
and its children that were loaded from a JSON file.GuiJsonDocumentAssetLoader is an
AssetLoader
for GuiJsonDocument
s.GuiJsonDocumentBuilder handles building
GuiJsonDocument
instances from a JsonObject
.GuiKeyEvent is a
GuiEvent
implementation for GuiMouseEvent
s.GuiTheme instances contain
GuiElement
to BaseStyles
mappings that can be applied to a specific
element or an element and all its children.HttpResponse contains details from the server's response to an http request.
ImageGuiElement is a
GuiElement
that renders a SolaImage
in a GUI.ImpulseCollisionResolutionSystem is an
EcsSystem
that responds to CollisionEvent
s applying an
impulse to resolve collisions so that they will no longer overlap.The Java-based implementation of
RestClient
utilizing HttpURLConnection
.A Java-based implementation of
SocketClient
utilizing Socket
.JavaSolaLogger is a
SolaLogger
implementation powered by Logger
.JavaSolaLoggerFactory is a
SolaLoggerFactory
implementation for desktop platforms (JavaFX and Swing).Represents a JSON file
Asset
that was loaded.Key enum contains information about keyboard keys.
KeyboardInput contains information about user interaction with the keyboard.
KeyboardInputException is an exception thrown when a key event is triggered with an unrecognized key code.
KeyboardLayout contains information for the current keyboard layout.
The type of keyboard.
KeyControlInputCondition is a
ControlInputCondition
to check if a Key
is in an active state.The possible states for
KeyControlInputCondition
.KeyEvent contains data for a keyboard related event.
Layers contain a queue of
DrawItem
to ensure a particular draw order.LayerComponent is a
Component
that contains data for a 2d rendering layers for an Entity
.LightComponent is a
Component
containing data for rendering lights.Takes the max value of each channel for the destination pixel; alpha, red, green, blue.
LightFlicker
Defines the API for the function called to smooth the transition between the current and next light intensity values.
LightFlickerSystem is an
EcsSystem
that handles updating the flicker data of a LightComponent
.Line represents a geometric line with two points.
Adds the top and bottom pixels together ignoring alpha.
MainAxisChildren defines how a
GuiElement
's children when be positioned
when extra space is available on the main axis defined by its Direction
.Transparent if
alpha < 255
(bottom pixel used).Material represents a physical material for physics simulations.
Credit to OneLoneCoder for guiding through this implementation
MergeableProperty defines the contract for a style property that can be merged with another like type property.
The minimum translation vector contains the information needed to resolve a collision.
Exception thrown when a
Asset
is requested but has not been registered with
an AssetLoader
.Exception that is thrown when an
AssetLoader
is requested but has no
implementation provided.Exception thrown when reading a GUI JSON file that uses a tag that has not been registered in
the
GuiJsonDocumentBuilder
.MouseButton enum contains information about mouse buttons.
MouseButtonInputCondition is a
ControlInputCondition
to check if a MouseButton
is in an active state.The possible states for
MouseButtonControlInputCondition
.MouseEvent contains data for a mouse related event.
MouseInput contains information about user interaction with the mouse.
MouseWheelControlInputCondition is a
ControlInputCondition
to check if the mouse wheel is in an active state.The possible states for
MouseWheelControlInputCondition
.MouseWheelEvent is an event object containing information about an interaction with the mouse wheel.
Takes the RGB channel values from 0 to 1 of each pixel in the top layer and multiples them with the values for the
corresponding pixel from the bottom layer.
NetworkQueue is a data structure for holding network messages in a first in first out basis.
No blending happens.
Blends top onto bottom based on alpha of top pixel.
Padding contains the properties for a
GuiElement
's padding which is the
space between the element's border and content.ParticleEmitterComponent is a
Component
that contains data for emitting ParticleEmitterComponent.Particle
s as well as data for
its emitted particles.Particle contains properties that represent a particle that has been emitted from a
ParticleEmitterComponent
.ParticleEmitterEntityGraphicsModule is a
SolaEntityGraphicsModule
implementation for rendering Entity
that have a TransformComponent
and ParticleEmitterComponent
.ParticleSystem is an
EcsSystem
that handles updating Entity
with a
TransformComponent
and ParticleEmitterComponent
.PhysicsSystem is an
EcsSystem
that handles updating Entity
with a
TransformComponent
and DynamicBodyComponent
.Position contains the properties for absolutely positioning a
GuiElement
within its container.QuadTreeCollisionDetectionBroadPhase is a
CollisionDetectionBroadPhase
implementation using a
QuadTreeNode
internally.QuadTreeNode is a quad tree implementation for collidable
Entity
.QuadTreeData holds data that can be inserted into a
QuadTreeNode
.Rectangle represents an axis aligned geometric rectangle.
RectangleEntityGraphicsModule is a
SolaEntityGraphicsModule
implementation for rendering Entity
that have a
TransformComponent
and RectangleRendererComponent
.RectangleRendererComponent is a
Component
containing data for rendering 2d rectangles.Renderer defines the API for a sola game engine renderer.
RestClient defines the api for creating rest client implementations for sending HTTP requests.
ScreenSpaceLightMapGraphicsModule is a
SolaGraphicsModule
that handles drawing lighting for
Entity
that have LightComponent
s.SectionGuiElement is a
GuiElement
that is simply a container for its children elements.Event
that a collision happened but will not be resolved by applying any forces.SeparatingAxisTheorem contains methods for checking whether two convex polygons are colliding or not.
Shape is a common interface for geometric shapes.
SkipCollisionDetectionBroadPhase is a
CollisionDetectionBroadPhase
implementation that skips the broad phase
check if a game does not require it.SocketClient defines the api for interacting with a socket server.
SocketMessage contains data transmitted between a server and client.
SocketMessageDecoder is responsible for decoding
SocketMessage
s from payloads received over sockets.SocketMessageEncoder is responsible for encoding
SocketMessage
s for transmission over sockets.SoftwareRenderer is a
Renderer
implementation that draws on an in memory array of pixels using the CPU.Sola contains the core functionality needed to make a game.
Creates a
SolaConfiguration
.SolaControls contains control definitions for a
Sola
to use.SolaEntityGraphicsModule<V extends technology.sola.ecs.view.ViewEntry>
SolaEntityGraphicsModule adds rendering functionality to
SolaGraphics
for
rendering Entity
that have specified Component
s.SolaGraphics provides default rendering capabilities while also allowing for adding new rendering
capabilities via
SolaGraphicsModule
s.SolaGraphicsModule adds additional rendering functionality to
SolaGraphics
.SolaImage is an
Asset
that holds pixel data for an image.SolaLogger instances are used to log messages to the console and/or files.
SolaLoggerFactory is an interface for defining the api for creating new
SolaLogger
instances for a target
SolaPlatform
.SolaLogLevel defines the available sola engine logging levels.
SolaLogMessageFormatter is a
SimpleFormatter
implementation for sola engine log messages.SolaMath is a collection of static math functions.
SolaPhysics configures several physics systems in a default configuration.
SolaPlatform defines the API for a platform to run
Sola
.GameLoopProvider is a
FunctionalInterface
defining the contract for providing a GameLoop
implementation for the sola game engine to use.Holds the coordinate of the mouse.
SolaPlatformInitialization is a
FunctionalInterface
defining the contract for finishing initialization
of a SolaPlatform
.SolaPlatformIdentifier is a unique identifier for a
SolaPlatform
implementation.SolaPlatformType represents the broad types of devices that a particular
SolaPlatform
is implemented for.Wrapper around
Random
that exposes some additional convenience methods.SolaWithDefaults extends
Sola
with some default behaviors that many games will find useful, such as default
physics configurations and rendering options.The SpatialHashMap class is a spatial hashmap implementation that maps
Entity
into a
bucket with other entities based on its 2D coordinate.BucketId holds the top, left coordinate that identifies a bucket.
SpatialHashMapCollisionDetectionBroadPhase is a
CollisionDetectionBroadPhase
implementation utilizing a
SpatialHashMap
internally.SpritesAnimatorComponent is a
Component
that contains data for controlling how a
SpriteComponent
animates between frames.AnimationCompleteCallback is a
FunctionalInterface
for defining functionality that happens when an
animation completes.SpriteAnimatorSystem handles updating the animation state of
Entity
that have a
SpriteComponent
and SpriteAnimatorComponent
.SpriteComponent is a
Component
that contains data for rendering 2d sprites for an
Entity
.SpriteEntityGraphicsModule is a
SolaEntityGraphicsModule
implementation for rendering Entity
that have a
TransformComponent
and SpriteComponent
.SpriteGuiElement is a
GuiElement
that renders a sprite from a SpriteSheet
in a GUI.Contains information about a sprite within a spritesheet.
SpriteKeyFrame holds information about how long a particular sprite should be rendered as part of an animation.
SpriteSheet is an
Asset
for a collection of sprites.SpriteSheetAssetLoader is an
AssetLoader
implementation for SpriteSheet
s.Contains information about a spritesheet.
SpriteSheetInfoJsonMapper is a
JsonMapper
implementation for SpriteSheetInfo
.StyleContainer is a container for
ConditionalStyle
s that apply to a GuiElement
.A collection of common
JsonElement
parsing methods for use by StylesJsonValueParser
s.StylesJsonValueParser handles parsing a style value from a
JsonElement
and setting it into a StylesBuilder.StyleValue holds a numeric value that can be represented as an absolute value or a relative percentage value.
TextGuiElement is a
GuiElement
that renders text for a GUI.TextInputGuiElement is a
BaseInputGuiElement
that allows users to interact via typing text into the field.TextInputStyles extends
TextStyles
properties adding in extra properties for text input.Builder class for
TextInputStyles
.A
StylesJsonValueParser
implementation for TextStyles.Builder
.TextRenderDetails contains the rendering information needed for text.
TextRenderUtils contains methods useful for rendering text for a GUI.
TextStyles extends
BaseStyles
properties by adding extra properties for rendering text.Builder class for
TextStyles
.TextAlignment informs where text should be rendered within its available rendering space.
A
StylesJsonValueParser
implementation for TextStyles.Builder
.TransformAnimatorComponent is a
Component
that contains properties for defining an animation that is applied
to an Entity
s TransformComponent
.AnimationCompleteCallback is a
FunctionalInterface
for defining functionality that happens when a
TransformAnimatorComponent
animation completes.TransformAnimatorSystem handles updating the animation state of
Entity
that have a
TransformComponent
and TransformAnimatorComponent
.TransformComponent is a
Component
containing translate and scale data for an Entity
.Triangle represents a geometric triangle.
TriangleEntityGraphicsModule is a
SolaEntityGraphicsModule
implementation for rendering Entity
that
have a TransformComponent
and TriangleRendererComponent
.TriangleRendererComponent is a
Component
containing data for rendering 2d triangles.Exception thrown when reading a GUI JSON file that uses a styles property that is not recognized.
The Vector2D class is an implementation of a linear algebra vector.
Viewport contains various information about the current viewport used.
Visibility contains options for element rendering.