note
	description: "[
		A step in the {SEQUENCE_OF_PLAY} in {VITP_GAME}
		in which the active player is moving his patrolles.
		]"
	author:    "Jimmy J. Johnson"
	date:      "11/11/23"
	copyright: "Copyright (c) 2023, Jimmy J. Johnson"
	license:   "Eiffel Forum v2 (http://www.eiffel.com/licensing/forum.txt)"

class
	MOVE_PATROLLERS_STEP

inherit

	GAME_STEP
		redefine
			make,
			is_completed
		end

create
	make

feature {NONE} -- Initialization

	make (a_game: VITP_GAME)
			-- Create an instance
		do
			Precursor {GAME_STEP} (a_game)
			create japanese_patrolling_step.make (a_game)
			create allied_reinforcement_step.make (a_game)
			extend (japanese_patrolling_step)
			extend (allied_reinforcement_step)
		end

feature -- Access

	name: STRING
			-- Displayable name of Current step
		do
			Result := "Move Patrollers"
		end

feature -- Status report

	is_completed: BOOLEAN
			-- Are all actions to be accomplished in this
			-- state finished, allowing `advance' to the
			-- next state?
		do
			Result := japanese_patrolling_step.is_completed and
					allied_reinforcement_step.is_completed
		end

feature {NONE} -- Implementation

	japanese_patrolling_step: JAPANESE_MOVE_PATROLLERS_STEP
			-- Step where the Japanese player moves patrollers, flips
			-- raiders, and repairs ships.

	allied_reinforcement_step: ALLIED_MOVE_PATROLLERS_STEP
			-- Step where the Allied player moves patrollers, flips
			-- raiders, and repairs ships.

end
