Gridarta Editor
net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T > Class Template Reference

Class related to GameObject to store multi-part information. More...

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

Public Member Functions

void addPart (@NotNull final T tail)
 Adds a part to this multi-part object. More...
 
getHead ()
 Returns the head part of this multi-part object. More...
 
int getMaxX ()
 Returns the maximum x-coordinate of any part. More...
 
int getMaxY ()
 Returns the maximum y-coordinate of any part. More...
 
int getMinX ()
 Returns the minimum x-coordinate of any part. More...
 
int getMinY ()
 Returns the minimum y-coordinate of any part. More...
 
int getMultiRefCount ()
 Returns the number of parts this multi-part object contains. More...
 
int getMultiShapeID ()
 Returns the shape ID of this object. More...
 
getNext (@NotNull final T ob)
 Returns the part following a given part. More...
 
int getSizeX ()
 Returns the horizontal extent in squares. More...
 
int getSizeY ()
 Returns the vertical extent in squares. More...
 
Iterator< T > iterator ()
 
 MultiArchData (@NotNull final T head, final int multiShapeID)
 Creates a new instance. More...
 
void setMultiShapeID (final int multiShapeID)
 Sets the shape ID of this object. More...
 

Private Attributes

int maxX
 The maximum coordinate of any part; it is never negative. More...
 
int maxY
 The maximum coordinate of any part; it is never negative. More...
 
int minX
 The minimum coordinate of any part; it is never positive. More...
 
int minY
 The minimum coordinate of any part; it is never positive. More...
 
int multiShapeID
 The shape ID of this object. More...
 
final List< T > parts = new ArrayList<>()
 All parts belonging to this multi-part object; the first element is the head part. More...
 

Static Private Attributes

static final long serialVersionUID = 1L
 The serial version UID. More...
 

Detailed Description

Class related to GameObject to store multi-part information.

This data is only used for multi-part objects. When the editor is running, usually a big number of

GameObject

s exist - most of them single-part objects. The encapsulation of this "multi-part-only" data can save a little bit of memory.

Author
Andreas Vogl
Andreas Kirschbaum

Definition at line 41 of file MultiArchData.java.

Constructor & Destructor Documentation

◆ MultiArchData()

net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.MultiArchData ( @NotNull final T  head,
final int  multiShapeID 
)

Creates a new instance.

Parameters
headthe head part of the multi-part object
multiShapeIDthe shape ID of this object

Definition at line 91 of file MultiArchData.java.

Member Function Documentation

◆ addPart()

void net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.addPart ( @NotNull final T  tail)

Adds a part to this multi-part object.

Parameters
tailthe tail part to add

Definition at line 201 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.addTailPart().

+ Here is the caller graph for this function:

◆ getHead()

T net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getHead ( )

Returns the head part of this multi-part object.

Returns
the head part

Definition at line 180 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.getHead().

+ Here is the caller graph for this function:

◆ getMaxX()

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getMaxX ( )

Returns the maximum x-coordinate of any part.

The value is relative to the head part. For single-part objects 0 is returned.

Returns
the maximum x-coordinate

Definition at line 128 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.getMaxX().

+ Here is the caller graph for this function:

◆ getMaxY()

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getMaxY ( )

Returns the maximum y-coordinate of any part.

The value is relative to the head part. For single-part objects 0 is returned.

Returns
the maximum y-coordinate

Definition at line 137 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.getMaxY().

+ Here is the caller graph for this function:

◆ getMinX()

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getMinX ( )

Returns the minimum x-coordinate of any part.

The value is relative to the head part. For single-part objects 0 is returned.

Returns
the minimum x-coordinate

Definition at line 146 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.getMinX().

+ Here is the caller graph for this function:

◆ getMinY()

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getMinY ( )

Returns the minimum y-coordinate of any part.

The value is relative to the head part. For single-part objects 0 is returned.

Returns
the minimum y-coordinate

Definition at line 155 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.getMinY().

+ Here is the caller graph for this function:

◆ getMultiRefCount()

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getMultiRefCount ( )

Returns the number of parts this multi-part object contains.

Returns
the number of parts this multi-part object contains

Definition at line 101 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.getMultiRefCount().

+ Here is the caller graph for this function:

◆ getMultiShapeID()

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getMultiShapeID ( )

Returns the shape ID of this object.

Returns
the shape ID of this object

Definition at line 163 of file MultiArchData.java.

◆ getNext()

T net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getNext ( @NotNull final T  ob)

Returns the part following a given part.

Parameters
obthe current part
Returns
the part following the current part or
null
if this part was the last.

Definition at line 191 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.getMultiNext().

+ Here is the caller graph for this function:

◆ getSizeX()

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getSizeX ( )

Returns the horizontal extent in squares.

For single-part objects 1 is returned.

Returns
the horizontal extent

Definition at line 110 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.getSizeX().

+ Here is the caller graph for this function:

◆ getSizeY()

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.getSizeY ( )

Returns the vertical extent in squares.

For single-part objects 1 is returned.

Returns
the vertical extent

Definition at line 119 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.getSizeY().

+ Here is the caller graph for this function:

◆ iterator()

Iterator<T> net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.iterator ( )

Definition at line 220 of file MultiArchData.java.

◆ setMultiShapeID()

void net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.setMultiShapeID ( final int  multiShapeID)

Sets the shape ID of this object.

Parameters
multiShapeIDthe new shape ID of this object

Definition at line 171 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.archetype.AbstractArchetype< TestGameObject, TestMapArchObject, TestArchetype >.setMultiShapeID(), and net.sf.gridarta.model.baseobject.AbstractBaseObject< G, A, R, G >.updateArchetype().

+ Here is the caller graph for this function:

Member Data Documentation

◆ maxX

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.maxX
private

◆ maxY

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.maxY
private

◆ minX

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.minX
private

◆ minY

int net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.minY
private

◆ multiShapeID

◆ parts

◆ serialVersionUID

final long net.sf.gridarta.model.gameobject.MultiArchData< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R, T extends BaseObject< G, A, R, T >.serialVersionUID = 1L
staticprivate

The serial version UID.

Definition at line 46 of file MultiArchData.java.


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