1. package Tools.Trigger_Spawners is 
  2.  
  3.     type Trigger_Spawner is new Tool with private; 
  4.  
  5.     function Create_Trigger_Spawner return A_Tool; 
  6.     pragma Postcondition( Create_Trigger_Spawner'Result /= null ); 
  7.  
  8. private 
  9.  
  10.     type Trigger_Spawner is new Tool with null record; 
  11.  
  12.     procedure Apply( this      : access Trigger_Spawner; 
  13.                      func      : Function_Type; 
  14.                      modifiers : Modifiers_Array; 
  15.                      first     : Boolean; 
  16.                      world     : not null A_World; 
  17.                      worldX, 
  18.                      worldY, 
  19.                      layer     : Integer ); 
  20.  
  21. end Tools.Trigger_Spawners;