Gridarta Editor
net.sf.gridarta.model.gameobject.GameObjectFactory< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R > Interface Template Reference

Abstract factory for creating GameObject instances. More...

+ Inheritance diagram for net.sf.gridarta.model.gameobject.GameObjectFactory< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >:
+ Collaboration diagram for net.sf.gridarta.model.gameobject.GameObjectFactory< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >:

Public Member Functions

cloneGameObject (@NotNull G gameObject)
 Creates a copy of a game object. More...
 
cloneMultiGameObject (@NotNull G gameObject)
 Creates a copy of a game object, including tail parts. More...
 
createGameObject (@NotNull R archetype)
 Creates a new GameObject from an Archetype. More...
 
createGameObjectPart (@NotNull R archetype, @Nullable G head)
 Creates a new GameObject from an Archetype. More...
 
void createInventory (@NotNull GameObject< G, A, R > gameObject, @NotNull Iterable< G > archetype)
 Copies inventory objects from an archetype into a game object. More...
 
newArchetype (@NotNull String archetypeName)
 Creates a new Archetype instance. More...
 

Detailed Description

Abstract factory for creating GameObject instances.

Author
Andreas Kirschbaum

Definition at line 31 of file GameObjectFactory.java.

Member Function Documentation

◆ cloneGameObject()

G net.sf.gridarta.model.gameobject.GameObjectFactory< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.cloneGameObject ( @NotNull G  gameObject)

Creates a copy of a game object.

Parameters
gameObjectthe game object to copy
Returns
the new game object

◆ cloneMultiGameObject()

G net.sf.gridarta.model.gameobject.GameObjectFactory< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.cloneMultiGameObject ( @NotNull G  gameObject)

Creates a copy of a game object, including tail parts.

This object must be the head part.

Parameters
gameObjectthe game object to copy
Returns
the new game object

Referenced by net.sf.gridarta.model.mapmodel.SavedSquares< G, A, R >.recordMapSquare().

+ Here is the caller graph for this function:

◆ createGameObject()

◆ createGameObjectPart()

G net.sf.gridarta.model.gameobject.GameObjectFactory< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.createGameObjectPart ( @NotNull R  archetype,
@Nullable G  head 
)

Creates a new GameObject from an Archetype.

Parameters
archetypethe archetype
headthe head part to add to
Returns
the new game object

Referenced by net.sf.gridarta.model.io.AbstractGameObjectParser< TestGameObject, TestMapArchObject, TestArchetype >.expandMulti().

+ Here is the caller graph for this function:

◆ createInventory()

void net.sf.gridarta.model.gameobject.GameObjectFactory< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.createInventory ( @NotNull GameObject< G, A, R >  gameObject,
@NotNull Iterable< G >  archetype 
)

◆ newArchetype()


The documentation for this interface was generated from the following file: