1. with Ada.Real_Time;         use Ada.Real_Time; 
  2.  
  3. with Float_Type;            use Float_Type; 
  4. with Swarm_Structures_Base; use Swarm_Structures_Base; 
  5.  
  6. package Swarm_Configurations is 
  7.  
  8.    type Configurations is (Single_Globe_In_Orbit, Dual_Globes_In_Orbit, Globe_Grid_In_Centre); 
  9.  
  10.    type Charging_Setups_R is record 
  11.       Discharge_Rate_Per_Sec : Real; 
  12.       Max_Globe_Interval     : Time_Span; 
  13.       Globes_Required        : Positive; 
  14.    end record; 
  15.  
  16.    Charging_Setups : array (Configurations) of Charging_Setups_R := 
  17.         (Single_Globe_In_Orbit => (Discharge_Rate_Per_Sec => 0.05, 
  18.                                    Max_Globe_Interval     => Milliseconds (0), 
  19.                                    Globes_Required        => 1), 
  20.          Dual_Globes_In_Orbit  => (Discharge_Rate_Per_Sec => 0.05, 
  21.                                    Max_Globe_Interval     => Milliseconds (0), 
  22.                                    Globes_Required        => 1), 
  23.          Globe_Grid_In_Centre  => (Discharge_Rate_Per_Sec => 0.05, 
  24.                                    Max_Globe_Interval     => Milliseconds (200), 
  25.                                    Globes_Required        => 3)); 
  26.  
  27.    Energy_Globe_Detections : constant array (Configurations) of Real := (Single_Globe_In_Orbit => 0.07, 
  28.                                                                          Dual_Globes_In_Orbit => 0.07, 
  29.                                                                          Globe_Grid_In_Centre => 0.01); 
  30.  
  31.    function Globe_Defaults (Configuration : Configurations) return Energy_Globes_A; 
  32.  
  33. end Swarm_Configurations;