private with Ada.Strings.Unbounded;
package Tools.Item_Spawners is
type Item_Spawner is new Tool with private;
type A_Item_Spawner is access all Item_Spawner'Class;
function Create_Item_Spawner( id : String ) return A_Tool;
function Get_ID( this : not null access Item_Spawner'Class ) return String;
private
use Ada.Strings.Unbounded;
type Item_Spawner is new Tool with
record
id : Unbounded_String;
end record;
procedure Apply( this : access Item_Spawner;
func : Function_Type;
modifiers : Modifiers_Array;
first : Boolean;
world : not null A_World;
worldX,
worldY,
layer : Integer );
procedure Construct( this : access Item_Spawner; id : String );
end Tools.Item_Spawners;