/**
*
*/
package de.urszeidler.shr5.ecp.service;
import de.urszeidler.eclipse.shr5.gameplay.CombatTurn;
import de.urszeidler.eclipse.shr5.gameplay.Command;
import de.urszeidler.eclipse.shr5.runtime.RuntimeCharacter;
import de.urszeidler.shr5.scripting.Placement;
import de.urszeidler.shr5.scripting.Script;
/**
* @author urs
*/
public interface ScriptService {
void setScript(Script script);
Script getCurrentScript();
Placement getPlacement();
/**
* A placement change.
*
* @param placement
*/
void setPlacement(Placement placement);
/**
* A combat turn has started.
*
* @param kr
*/
void setCombatTurn(CombatTurn kr);
/**
* Let the commandstack execute the given command.
*
* @param command
*/
void executeCommand(Command command);
/**
* Send a message to the impersonated player if there is one.
*
* @param character
* @param message
*/
void sendMessage(RuntimeCharacter character, String message);
void registerScriptViewer(ScriptViewer viewer);
void registerCombatViewer(CombatViewer viewer);
ScriptViewer getScriptViewer();
}