ForgeDocs
Documentation for the forge framework
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Pages
Package Forge.Entities

Namespaces

package  Implementation
 
package  Tests
 

Classes

class  Data
 
struct  DataAccessor
 Provides a convenient and efficient way to access a type of Data. More...
 
class  DataMap< T >
 Map a data type to its respective accessor, at compile time. More...
 
interface  IDataReference
 Interface used for type erasure by BaseDataReferenceType. More...
 
class  BaseDataReferenceType
 Base type for data references for common code. More...
 
class  BaseDataReferenceConverter
 JsonConverter used to serialize a DataReference directly as an IQueryableEntity (to avoid an extraneous object definition in the JSON output).
 
class  DataReference< TData0 >
 Data reference that references some data defined in an entity or template. More...
 
class  DataReference< TData0, TData1 >
 Data reference that references some data defined in an entity or template. More...
 
class  DataReference< TData0, TData1, TData2 >
 Data reference that references some data defined in an entity or template. More...
 
class  DataReference< TData0, TData1, TData2, TData3 >
 Data reference that references some data defined in an entity or template. More...
 
class  DataReference< TData0, TData1, TData2, TData3, TData4 >
 Data reference that references some data defined in an entity or template. More...
 
class  DataReference< TData0, TData1, TData2, TData3, TData4, TData5 >
 Data reference that references some data defined in an entity or template. More...
 
class  DataReference< TData0, TData1, TData2, TData3, TData4, TData5, TData6 >
 Data reference that references some data defined in an entity or template. More...
 
class  DataReference< TData0, TData1, TData2, TData3, TData4, TData5, TData6, TData7 >
 Data reference that references some data defined in an entity or template. More...
 
class  DataReference< TData0, TData1, TData2, TData3, TData4, TData5, TData6, TData7, TData8 >
 Data reference that references some data defined in an entity or template. More...
 
class  DataReference< TData0, TData1, TData2, TData3, TData4, TData5, TData6, TData7, TData8, TData9 >
 Data reference that references some data defined in an entity or template. More...
 
class  AddedDataEvent
 Event that notifies listener that a new data instance has been added to the entity. More...
 
class  RemovedDataEvent
 Event that notifies listener that a new data instance has been added to the entity. More...
 
class  EntityAddedEvent
 Event that notifies the listener that a new Entity has been added to the EntityManager. More...
 
class  EntityRemovedEvent
 Event that notifies the listener that a new Entity has been removed from the EntityManager. More...
 
class  HideEntityEvent
 Event notifying listeners that the entity should be hidden. More...
 
class  ShowEntityEvent
 Event notifying listeners that the entity should be visible. More...
 
class  DestroyedEntityEvent
 Event notifying listeners that the entity has been destroyed. More...
 
class  InvalidDataReadException
 Exception thrown when a data instance has been read from but it is read-only. This is thrown by client code. More...
 
class  InvalidDataWriteException
 Exception thrown when a data instance has been written to but it is not modifiable. This is thrown by client code. More...
 
class  DeserializationException
 Exception thrown when a deserialization error has occurred. This is most likely during a level load. More...
 
class  AlreadyAddedDataException
 Exception thrown when a data type is added to an entity, but the entity already contains an instance of said data type. More...
 
class  NoSuchDataException
 Exception thrown when data is attempted to be retrieved from an Entity, but the entity does not contain an instance of said data type. More...
 
class  PreviousRequiresVersionedDataException
 Exception thrown when Previous(accessor) is requested but accessor does not map to a versioned data type. More...
 
class  RemodifiedDataException
 An exception that is thrown when a data instance has been modified more than once in an update loop, but that data is not allowed to be concurrently modified. More...
 
interface  IEntity
 An interface of Entity operations that allow the entity to be both queried and written to. More...
 
class  IEntityExtensions
 Helper methods built on top of the core IEntity API.
 
interface  IEventDispatcher
 Interface the game-play code can use to submit events to the external world. More...
 
interface  IEvent
 
class  BaseEvent< TDerived >
 Base event type that all events must derive from. More...
 
interface  IEventNotifier
 An IEventNotifier instance allows for objects to listen to other objects for interesting events based on the given IEvent type. The event dispatcher is a generalization of C#'s support for event, plus additional support for delayed event dispatch. More...
 
interface  IGameEngine
 Manages the execution of a game. Allows for players to input commands to the game, thereby modifying how the game plays out. More...
 
class  GameEngineFactory
 Allocates IGameEngines that can be used to play the state stored inside of a game snapshot.
 
interface  IGameInput
 Input that is given to the game manager. More...
 
interface  IGameSnapshot
 The IGameSnapshot stores a serialized state of the engine. It provides a common interface that both the engine and the editor use for accessing saved games and replays. More...
 
class  EntityIndex
 Provides access to all entities in a game engine via the entity's UniqueId. More...
 
class  TemplateIndex
 Provides access to all templates in a game engine via the template's TemplateId. More...
 
interface  IQueryableEntity
 An entity within the game state that can be queried for information about its current data. More...
 
interface  ITemplate
 Used for creating IEntity instances that have a set of data values already initialized. Templates should not be modified at runtime. More...
 
interface  ITemplateGroup
 An ITemplateGroup is simply a collection of templates that IGameSnapshots use. More...
 
class  LevelManager
 Facilitates the creation, saving, and loading of snapshots and template groups. This is the API point that all serialization occurs in.
 
interface  ISystem
 All systems need to extend this interface, but it should be done by extending BaseSystem. See documentation on BaseSystem. More...
 
class  BaseSystem
 All systems need to extend the system class. Systems have callbacks automatically registered by implementing ITrigger* interfaces. More...
 
interface  ITriggerFilterProvider
 
class  Trigger
 Provides interfaces that Systems should derive from to receive callbacks.
 

Enumerations

enum  GameSnapshotEntityRemoveResult { GameSnapshotEntityRemoveResult.Destroyed, GameSnapshotEntityRemoveResult.IntoRemoved, GameSnapshotEntityRemoveResult.Failed }
 Represents the result of removing an entity. More...
 
enum  SystemExecutionOrdering { SystemExecutionOrdering.Concurrent, SystemExecutionOrdering.BeforeOther, SystemExecutionOrdering.AfterOther }
 An enum that specifies the relative execution ordering of a group of systems. It expresses the execution ordering within the context of precisely two systems. More...
 

Enumeration Type Documentation

Represents the result of removing an entity.

Enumerator
Destroyed 

The entity was completely destroyed and no longer exists.

IntoRemoved 

The entity was moved into the Removed collection.

Failed 

The entity could not be removed (it was the singleton entity or was already in the Removed collection). Removing such an entity would cause invalid state in systems; the entity would not go through its life-cycle.

An enum that specifies the relative execution ordering of a group of systems. It expresses the execution ordering within the context of precisely two systems.

Enumerator
Concurrent 

The execution order doesn't matter; both systems can be ran concurrently.

BeforeOther 

This system should be executed before the other system.

AfterOther 

This system should be executed after the other system.