package Tiles.Keen is
pragma Elaborate_Body;
private
type Action_Type is (NONE, HAZZARD, POLE, WATER, END_LEVEL, ENTER_LEVEL);
type Keen_Tile is new Tile_Object with
record
action : Action_Type := NONE;
end record;
procedure Set_Attribute( this : in out Keen_Tile;
found : out Boolean;
name : String;
val : String := "" );
pragma Precondition( name'Length > 0 );
function Object_Input( stream : access Root_Stream_Type'Class ) return Keen_Tile;
for Keen_Tile'Input use Object_Input;
procedure Object_Output( stream : access Root_Stream_Type'Class; obj : Keen_Tile );
for Keen_Tile'Output use Object_Output;
procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Keen_Tile );
for Keen_Tile'Read use Object_Read;
procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Keen_Tile );
for Keen_Tile'Write use Object_Write;
end Tiles.Keen;