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 : access Keen_Trigger; levelName : String );
procedure Do_Exitlevel( this : access Keen_Trigger );
procedure Do_Set_Tile_Here( this : access Keen_Trigger; argument : String );
procedure Do_Teleport( this : access Keen_Trigger;
arg : String;
activator : not null A_Entity );
function Evaluate( this : access Keen_Trigger; expr : String ) return Boolean;
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;