/* * * Copyright (c) 2000-2007 by Rodney Kinney * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License (LGPL) as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, copies are available * at http://www.opensource.org. */ package VASSAL.build.module; import java.awt.Component; /** * Represents a step during the initialization of a game in which the player must specify some information See * {@link GameState#addGameSetupStep(SetupStep)} * * @author rkinney */ public interface GameSetupStep { /** @return true if this step needs no further information, false if the player should be prompted for more information */ boolean isFinished(); /** A human-understandable description of this step */ String getStepTitle(); /** A GUI component that prompts the player for the needed information. If null, then no further information is needed */ Component getControls(); /** Apply the information gathered via the component to the game in progress */ void finish(); }