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

de.rpgframework.genericrpg.chargen.PartialController Maven / Gradle / Ivy

The newest version!
/**
 *
 */
package de.rpgframework.genericrpg.chargen;

import java.util.List;
import java.util.UUID;

import de.rpgframework.character.ProcessingStep;
import de.rpgframework.character.RuleSpecificCharacterObject;
import de.rpgframework.genericrpg.ToDoElement;
import de.rpgframework.genericrpg.data.Choice;
import de.rpgframework.genericrpg.data.ComplexDataItem;
import de.rpgframework.genericrpg.data.Decision;
import de.rpgframework.genericrpg.data.IAttribute;
import de.rpgframework.genericrpg.modification.ModificationChoice;

/**
 * @author prelle
 *
 */
public interface PartialController extends ProcessingStep {

	//-------------------------------------------------------------------
	public > CharacterController getCharacterController();

	//-------------------------------------------------------------------
	public > C getModel();

	//-------------------------------------------------------------------
	/**
	 * Returns a list of steps to do in this controller
	 */
	public List getToDos();

	//-------------------------------------------------------------------
	/**
	 * Completely randomize every selection
	 */
	public void roll();

	//-------------------------------------------------------------------
	public List getChoiceUUIDs();

	//-------------------------------------------------------------------
	public default Choice getAsChoice(ComplexDataItem value, UUID uuid) {
		return value.getChoice(uuid);
	}

	//-------------------------------------------------------------------
	public default List getChoices(ComplexDataItem value) {
		return value.getChoices();
	}

	//-------------------------------------------------------------------
	public default ModificationChoice getAsModificationChoice(ComplexDataItem value, UUID uuid) {
		return value.getModificationChoice(uuid);
	}

	//-------------------------------------------------------------------
	public void decide(A decideFor, UUID choice, Decision decision);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy