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

Create 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)

Add 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 ( )

Return 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 ( )

Determine 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 ( )

Determine 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 ( )

Determine 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 ( )

Determine 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 ( )

Return 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)

Return 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 ( )

Determine 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 ( )

Determine 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)

Set 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

The maximum coordinate of any part; it is never negative.

Definition at line 52 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.gameobject.MultiArchData< G, A, R, T >.getMaxX().

◆ 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

The maximum coordinate of any part; it is never negative.

Definition at line 58 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.gameobject.MultiArchData< G, A, R, T >.getMaxY().

◆ 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

The minimum coordinate of any part; it is never positive.

Definition at line 64 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.gameobject.MultiArchData< G, A, R, T >.getMinX().

◆ 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

The minimum coordinate of any part; it is never positive.

Definition at line 70 of file MultiArchData.java.

Referenced by net.sf.gridarta.model.gameobject.MultiArchData< G, A, R, T >.getMinY().

◆ multiShapeID

◆ parts

final List<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 >.parts = new ArrayList<>()
private

All parts belonging to this multi-part object; the first element is the head part.

Definition at line 84 of file MultiArchData.java.

◆ 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: