38 lines
1.1 KiB
Java
38 lines
1.1 KiB
Java
|
package com.uulm.marvelous.gamelibrary.entities;
|
||
|
|
||
|
/** Represents a distinct identification for every {@link Entity} in a game.
|
||
|
*/
|
||
|
public class EntityID {
|
||
|
/** The index of the entity.
|
||
|
*/
|
||
|
public final int id;
|
||
|
|
||
|
/** The type of the entity.
|
||
|
*/
|
||
|
public final EntityType type;
|
||
|
|
||
|
/** Constructs a new {@link Entity}-{@link EntityID} based on the given index and {@link EntityType}.
|
||
|
* @param id The index of the entity.
|
||
|
* @param type The type of the entity.
|
||
|
*/
|
||
|
public EntityID(int id, EntityType type) {
|
||
|
this.id = id;
|
||
|
this.type = type;
|
||
|
}
|
||
|
|
||
|
/** Checks if the id has the same {@link EntityType} as the given one.
|
||
|
* @param other The type to compare to.
|
||
|
* @return Whether or not the id has the same type.
|
||
|
*/
|
||
|
public boolean isSameType(EntityType other) {
|
||
|
return type == other;
|
||
|
}
|
||
|
|
||
|
/** Serializes the id for debugging.
|
||
|
* @return A debug string containing all the necessary information about the id.
|
||
|
*/
|
||
|
public String toString() {
|
||
|
return "["+type.toString()+":"+id+"]";
|
||
|
}
|
||
|
}
|