note
	description: "[
		A {JJ_COMMAND} applicable to the VITP game
		See {GAME_SEQUENCE} for explanation of "phase" and "stage".
		]"
	author: "Jimmy J. Johnson"

deferred class
	VITP_COMMAND

inherit

	JJ_COMMAND
		redefine
			is_executable,
			execute,
			undo
		end

feature	-- Access

feature -- Status report

	is_executable: BOOLEAN
			-- Can the command be executed?
		do
			Result := Precursor {JJ_COMMAND} and is_allowed_by_sop
		end

	is_allowed_by_sop: BOOLEAN
			-- Can the command of this type be executed at this phase
			-- in the game play?  The command may not be completely
			-- ready for execution, but if it were, execution would
			-- not be vetoed by the sequence of play.
		do
			Result := True
		end

feature -- Basic operations

	execute
			-- Perform the actions
		do
			Precursor {JJ_COMMAND}
			io.put_string ("{VITP_COMMAND}.execute:  ")
			io.put_string (text)
			io.new_line
		end

	undo
			-- Perform the actions
		do
			Precursor {JJ_COMMAND}
			io.put_string ("{VITP_COMMAND}.undo:  ")
			io.put_string (text)
			io.new_line
		end

end
