package Entities.Triggers.Keen is
pragma Elaborate_Body;
type Keen_Trigger is new Trigger with private;
private
type Keen_Trigger is new Trigger with null record;
procedure Construct( this : access Keen_Trigger );
procedure Do_EnterLevel( this : not null access Keen_Trigger'Class;
levelName : String );
procedure Do_ExitLevel( this : not null access Keen_Trigger'Class );
procedure Do_SetTile( this : not null access Keen_Trigger'Class;
argument : String );
procedure Do_Teleport( this : not null access Keen_Trigger'Class;
arg : String;
activator : not null A_Entity );
procedure Execute( this : access Keen_Trigger;
action,
argument : String;
activator : A_Entity );
function Object_Input( stream : access Root_Stream_Type'Class ) return Keen_Trigger;
for Keen_Trigger'Input use Object_Input;
procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Keen_Trigger );
for Keen_Trigger'Read use Object_Read;
procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Keen_Trigger );
for Keen_Trigger'Write use Object_Write;
end Entities.Triggers.Keen;