note
	description: "[
		The step in the {VITP_SEQUENCE_OF_PLAY} in {VITP_GAME}
		in which the players place {ATTACK_UNITS} on the board.
		]"
	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
	REINFORCEMENT_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_reinforcement_step.make (a_game)
			create allied_reinforcement_step.make (a_game)
			extend (japanese_reinforcement_step)
			extend (allied_reinforcement_step)
--			create place_arriving_units_step.make (a_game)
--			create place_returning_units_step.make (a_game)
--			extend (place_arriving_units_step)
--			extend (place_returning_units_step)
--			is_sequential := true
--			is_concurrent := true
--			is_alternating := true
		end

feature -- Access

	name: STRING
			-- Displayable name of Current step
		do
			Result := "Placing Reinforcements"
		end

feature -- Status report

	is_completed: BOOLEAN
			-- Is this step completed for both players?
		do
			Result := japanese_reinforcement_step.is_completed and
			  	allied_reinforcement_step.is_completed
		end

feature -- Basic operations

feature {NONE} -- Implementation

	japanese_reinforcement_step: JAPANESE_REINFORCEMENT_STEP
			-- Step where the Japanese player moves new and returning
			-- units from the Sequence-of-Play Chart to the board.

	allied_reinforcement_step: ALLIED_REINFORCEMENT_STEP
			-- Step where the Japanese player moves new and returning
			-- units from the Sequence-of-Play Chart to the board.

end
