1. package Entities.Triggers.Keen is 
  2.  
  3.     pragma Elaborate_Body; 
  4.  
  5. private 
  6.  
  7.     type Keen_Trigger is new Trigger with null record; 
  8.  
  9.     procedure Construct( this : access Keen_Trigger ); 
  10.  
  11.     -- Executes the 'enterlevel' trigger command. 
  12.     procedure Do_Enterlevel( this : access Keen_Trigger; levelName : String ); 
  13.  
  14.     -- Executes the 'teleport' trigger command. 
  15.     procedure Do_Teleport( this      : access Keen_Trigger; 
  16.                            arg       : String; 
  17.                            activator : not null A_Entity ); 
  18.  
  19.     procedure Execute( this      : access Keen_Trigger; 
  20.                        action, 
  21.                        argument  : String; 
  22.                        activator : A_Entity ); 
  23.  
  24.     function Object_Input( stream : access Root_Stream_Type'Class ) return Keen_Trigger; 
  25.     for Keen_Trigger'Input use Object_Input; 
  26.  
  27.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Keen_Trigger ); 
  28.     for Keen_Trigger'Read use Object_Read; 
  29.  
  30.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Keen_Trigger ); 
  31.     for Keen_Trigger'Write use Object_Write; 
  32.  
  33. end Entities.Triggers.Keen;