package electrosphere.game.data.object.type;

import electrosphere.game.data.collidable.CollidableTemplate;
import electrosphere.game.data.collidable.HitboxData;
import electrosphere.game.data.graphics.GraphicsTemplate;

import java.util.List;

/**
 * Metadata about a type of object
 */
public class ObjectData {

    //the id of the object
    String objectId;
    //the path for the model for this object
    String modelPath;
    //tokens associated with this object
    List<String> tokens;
    //the collidable template for this object
    CollidableTemplate collidable;
    //the graphics template for this object
    GraphicsTemplate graphicsTemplate;
    //the hitbox data for this object
    List<HitboxData> hitboxData;

    /**
     * Gets the id of the object
     * @return the id
     */
    public String getObjectId() {
        return objectId;
    }

    /**
     * Gets the model path of the object
     * @return the model path
     */
    public String getModelPath() {
        return modelPath;
    }

    /**
     * Gets all tokens associated with this object
     * @return the list of all tokens
     */
    public List<String> getTokens() {
        return tokens;
    }
    
    /**
     * Gets the collidable data for this object
     * @return the collidable data
     */
    public CollidableTemplate getCollidable(){
        return collidable;
    }

    /**
     * Gets the graphics template for this object
     * @return the graphics template
     */
    public GraphicsTemplate getGraphicsTemplate(){
        return graphicsTemplate;
    }

    /**
     * Gets the hitbox data for this object
     * @return the hitbox data
     */
    public List<HitboxData> getHitboxData(){
        return this.hitboxData;
    }
    
}
