1. package Entities.Enemies.Keen4 is 
  2.  
  3.     pragma Elaborate_Body; 
  4.  
  5. private 
  6.  
  7.     type Arachnut is new Enemy with null record; 
  8.  
  9.     procedure Construct( this : access Arachnut ); 
  10.  
  11.     function Object_Input( stream : access Root_Stream_Type'Class ) return Arachnut; 
  12.     for Arachnut'Input use Object_Input; 
  13.  
  14.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Arachnut ); 
  15.     for Arachnut'Read use Object_Read; 
  16.  
  17.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Arachnut ); 
  18.     for Arachnut'Write use Object_Write; 
  19.  
  20.     ---------------------------------------------------------------------------- 
  21.  
  22.     type Bounder is new Enemy with null record; 
  23.  
  24.     procedure Construct( this : access Bounder ); 
  25.  
  26.     function Object_Input( stream : access Root_Stream_Type'Class ) return Bounder; 
  27.     for Bounder'Input use Object_Input; 
  28.  
  29.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Bounder ); 
  30.     for Bounder'Read use Object_Read; 
  31.  
  32.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Bounder ); 
  33.     for Bounder'Write use Object_Write; 
  34.  
  35.     ---------------------------------------------------------------------------- 
  36.  
  37.     type Cloud is new Enemy with null record; 
  38.  
  39.     procedure Construct( this : access Cloud ); 
  40.  
  41.     function Object_Input( stream : access Root_Stream_Type'Class ) return Cloud; 
  42.     for Cloud'Input use Object_Input; 
  43.  
  44.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Cloud ); 
  45.     for Cloud'Read use Object_Read; 
  46.  
  47.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Cloud ); 
  48.     for Cloud'Write use Object_Write; 
  49.  
  50.     ---------------------------------------------------------------------------- 
  51.  
  52.     type Inchworm is new Enemy with null record; 
  53.  
  54.     procedure Construct( this : access Inchworm ); 
  55.  
  56.     function Object_Input( stream : access Root_Stream_Type'Class ) return Inchworm; 
  57.     for Inchworm'Input use Object_Input; 
  58.  
  59.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Inchworm ); 
  60.     for Inchworm'Read use Object_Read; 
  61.  
  62.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Inchworm ); 
  63.     for Inchworm'Write use Object_Write; 
  64.  
  65.     ---------------------------------------------------------------------------- 
  66.  
  67.     type Lick is new Enemy with null record; 
  68.  
  69.     procedure Construct( this : access Lick ); 
  70.  
  71.     function Object_Input( stream : access Root_Stream_Type'Class ) return Lick; 
  72.     for Lick'Input use Object_Input; 
  73.  
  74.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Lick ); 
  75.     for Lick'Read use Object_Read; 
  76.  
  77.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Lick ); 
  78.     for Lick'Write use Object_Write; 
  79.  
  80.     ---------------------------------------------------------------------------- 
  81.  
  82.     type Mimrock is new Enemy with null record; 
  83.  
  84.     procedure Construct( this : access Mimrock ); 
  85.  
  86.     function Object_Input( stream : access Root_Stream_Type'Class ) return Mimrock; 
  87.     for Mimrock'Input use Object_Input; 
  88.  
  89.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Mimrock ); 
  90.     for Mimrock'Read use Object_Read; 
  91.  
  92.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Mimrock ); 
  93.     for Mimrock'Write use Object_Write; 
  94.  
  95.     ---------------------------------------------------------------------------- 
  96.  
  97.     type Mushroom is new Enemy with null record; 
  98.  
  99.     procedure Construct( this : access Mushroom ); 
  100.  
  101.     function Object_Input( stream : access Root_Stream_Type'Class ) return Mushroom; 
  102.     for Mushroom'Input use Object_Input; 
  103.  
  104.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Mushroom ); 
  105.     for Mushroom'Read use Object_Read; 
  106.  
  107.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Mushroom ); 
  108.     for Mushroom'Write use Object_Write; 
  109.  
  110.     ---------------------------------------------------------------------------- 
  111.  
  112.     type Slug is new Enemy with null record; 
  113.  
  114.     procedure Construct( this : access Slug ); 
  115.  
  116.     function Object_Input( stream : access Root_Stream_Type'Class ) return Slug; 
  117.     for Slug'Input use Object_Input; 
  118.  
  119.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Slug ); 
  120.     for Slug'Read use Object_Read; 
  121.  
  122.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Slug ); 
  123.     for Slug'Write use Object_Write; 
  124.  
  125.     ---------------------------------------------------------------------------- 
  126.  
  127.     type Snake is new Enemy with null record; 
  128.  
  129.     procedure Construct( this : access Snake ); 
  130.  
  131.     function Object_Input( stream : access Root_Stream_Type'Class ) return Snake; 
  132.     for Snake'Input use Object_Input; 
  133.  
  134.     procedure Object_Read( stream : access Root_Stream_Type'Class; obj : out Snake ); 
  135.     for Snake'Read use Object_Read; 
  136.  
  137.     procedure Object_Write( stream : access Root_Stream_Type'Class; obj : Snake ); 
  138.     for Snake'Write use Object_Write; 
  139.  
  140. end Entities.Enemies.Keen4;