82 lines
1.8 KiB
Plaintext
82 lines
1.8 KiB
Plaintext
|
note
|
||
|
description: "[
|
||
|
One of the classes that decompose the numourous VITP widgets
|
||
|
into more managable groups. This class models the widgets
|
||
|
that contain the attack units.
|
||
|
]"
|
||
|
author: "Jimmy J. Johnson"
|
||
|
date: "5/15/24"
|
||
|
copyright: "Copyright (c) 2024, Jimmy J. Johnson"
|
||
|
license: "Eiffel Forum v2 (http://www.eiffel.com/licensing/forum.txt)"
|
||
|
|
||
|
class
|
||
|
ATTACK_WIDGETS_FACTORY
|
||
|
|
||
|
inherit
|
||
|
|
||
|
JAPANESE_FORCES_FACTORY
|
||
|
redefine
|
||
|
make_widgets,
|
||
|
extend_widgets,
|
||
|
pair_widgets,
|
||
|
fill_widgets
|
||
|
end
|
||
|
|
||
|
ALLIED_FORCES_WIDGET_FACTORY
|
||
|
redefine
|
||
|
make_widgets,
|
||
|
extend_widgets,
|
||
|
pair_widgets,
|
||
|
fill_widgets
|
||
|
end
|
||
|
|
||
|
create
|
||
|
make
|
||
|
|
||
|
feature -- Initialization
|
||
|
|
||
|
make_widgets
|
||
|
-- Create the widgets in Current
|
||
|
do
|
||
|
print ("ATTACK_WIDGET_FACTORY.make_widgets %N")
|
||
|
create attack_widgets.make (100)
|
||
|
Precursor {JAPANESE_FORCES_FACTORY}
|
||
|
print ("ATTACK_WIDGET_FACTORY.make_widgets after first Precuror call%N")
|
||
|
Precursor {ALLIED_FORCES_WIDGET_FACTORY}
|
||
|
print ("%T end ATTACK_WIDGET_FACTORY.make_widgets %N")
|
||
|
end
|
||
|
|
||
|
feature -- Access
|
||
|
|
||
|
attack_widgets: VITP_WIDGET_TABLE [ATTACK_UNIT_WIDGET, ATTACK_UNIT]
|
||
|
-- Keeps track of widgets
|
||
|
|
||
|
feature {NONE} -- Implementation
|
||
|
|
||
|
extend_widgets
|
||
|
-- Put each widget into `world'.
|
||
|
do
|
||
|
-- The first two line `merge' into `widgets'
|
||
|
Precursor {JAPANESE_FORCES_FACTORY}
|
||
|
Precursor {ALLIED_FORCES_WIDGET_FACTORY}
|
||
|
-- But also need to merge into `attack_widges'
|
||
|
attack_widgets.merge (japanese_forces_widgets)
|
||
|
attack_widgets.merge (allied_forces_widgets)
|
||
|
end
|
||
|
|
||
|
pair_widgets
|
||
|
-- Associate each widget with a unit
|
||
|
do
|
||
|
Precursor {JAPANESE_FORCES_FACTORY}
|
||
|
Precursor {ALLIED_FORCES_WIDGET_FACTORY}
|
||
|
end
|
||
|
|
||
|
fill_widgets
|
||
|
-- Call `set_target' to give each widget a target.
|
||
|
do
|
||
|
Precursor {JAPANESE_FORCES_FACTORY}
|
||
|
Precursor {ALLIED_FORCES_WIDGET_FACTORY}
|
||
|
end
|
||
|
|
||
|
end
|