with Ada.Real_Time; use Ada.Real_Time;
with Float_Type; use Float_Type;
with Swarm_Structures_Base; use Swarm_Structures_Base;
package Swarm_Configurations is
type Configurations is (Single_Globe_In_Orbit, Dual_Globes_In_Orbit, Globe_Grid_In_Centre);
type Charging_Setups_R is record
Discharge_Rate_Per_Sec : Real;
Max_Globe_Interval : Time_Span;
Globes_Required : Positive;
end record;
Charging_Setups : array (Configurations) of Charging_Setups_R :=
(Single_Globe_In_Orbit => (Discharge_Rate_Per_Sec => 0.05,
Max_Globe_Interval => Milliseconds (0),
Globes_Required => 1),
Dual_Globes_In_Orbit => (Discharge_Rate_Per_Sec => 0.05,
Max_Globe_Interval => Milliseconds (0),
Globes_Required => 1),
Globe_Grid_In_Centre => (Discharge_Rate_Per_Sec => 0.05,
Max_Globe_Interval => Milliseconds (200),
Globes_Required => 3));
Energy_Globe_Detections : constant array (Configurations) of Real := (Single_Globe_In_Orbit => 0.07,
Dual_Globes_In_Orbit => 0.07,
Globe_Grid_In_Centre => 0.01);
function Globe_Defaults (Configuration : Configurations) return Energy_Globes_A;
end Swarm_Configurations;