All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.rpgframework.genericrpg.items.ItemAttributeValue Maven / Gradle / Ivy

The newest version!
package de.rpgframework.genericrpg.items;

import de.rpgframework.genericrpg.Pool;
import de.rpgframework.genericrpg.SelectedValue;
import de.rpgframework.genericrpg.modification.ModifyableImpl;

/**
 * @author prelle
 *
 */
public abstract class ItemAttributeValue extends ModifyableImpl implements SelectedValue, Cloneable {

	protected A attribute;

	/**
	 * This is calculated by RPG implementations to follow their
	 * rules on limits and how things interoperate
	 */
	private transient Pool pool;

	//-------------------------------------------------------------------
	public ItemAttributeValue(A attr) {
		this.attribute = attr;
	}

	//-------------------------------------------------------------------
	/**
	 * @see de.rpgframework.genericrpg.SelectedValue#getModifyable()
	 */
	@Override
	public A getModifyable() {
		return attribute;
	}

	//-------------------------------------------------------------------
	/**
	 * @see java.lang.Object#clone()
	 */
	@Override
	public abstract Object clone() ;

	//-------------------------------------------------------------------
	/**
	 * @see de.rpgframework.genericrpg.ModifyableNumericalValue#getPool()
	 */
	public Pool getPool() {
		return pool;
	}

	//-------------------------------------------------------------------
	public void setPool(Pool pool) {
		this.pool = pool;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy