with Ada.Streams.Stream_IO; use Ada.Streams.Stream_IO;
private with KartenRecords;
private with KartenextraDatentypen;
private with KartengrundDatentypen;
private with KartenverbesserungDatentypen;
private with EinheitenRecords;
private with StadtRecords;
private with KartenDatentypen;
private with SystemDatentypen;
private with LeseWeltkarteneinstellungen;
package LadenKarteLogik is
pragma Elaborate_Body;
function KarteLaden
(LadenPrüfenExtern : in Boolean;
DateiLadenExtern : in File_Type)
return Boolean;
private
use type KartenDatentypen.Kartenfeld;
Karteneinstellungen : KartenRecords.PermanenteKartenparameterRecord;
Sichtbarkeit : SystemDatentypen.Sichtbarkeitszahl;
GesamteSichtbarkeit : KartenRecords.SichtbarkeitArray;
Potenz : Natural;
VorhandeneFeldelemente : SystemDatentypen.FeldelementVorhanden;
Basisgrund : KartengrundDatentypen.Basisgrund_Vorhanden_Enum;
Zusatzgrund : KartengrundDatentypen.Zusatzgrund_Vorhanden_Enum;
Feldeffekte : KartenRecords.FeldeffektArray;
Fluss : KartenextraDatentypen.Fluss_Vorhanden_Enum;
Ressource : KartenextraDatentypen.Ressourcen_Vorhanden_Enum;
Weg : KartenverbesserungDatentypen.Weg_Vorhanden_Enum;
Verbesserung : KartenverbesserungDatentypen.Verbesserung_Vorhanden_Enum;
Einheit : EinheitenRecords.SpeziesEinheitnummerVorhandenRecord;
Stadt : StadtRecords.SpeziesStadtnummerVorhandenRecord;
function ZahlNachSichtbarkeit
(DateiLadenExtern : in File_Type;
KoordinatenExtern : in KartenRecords.AchsenKartenfeldNaturalRecord;
LadenPrüfenExtern : in Boolean)
return Boolean
with
Pre => (
if
LadenPrüfenExtern
then
(KoordinatenExtern.YAchse <= LeseWeltkarteneinstellungen.YAchse
and
KoordinatenExtern.XAchse <= LeseWeltkarteneinstellungen.XAchse)
);
function BasisgrundEinlesen
(DateiLadenExtern : in File_Type;
KoordinatenExtern : in KartenRecords.AchsenKartenfeldVorhandenRecord;
LadenPrüfenExtern : in Boolean)
return Boolean
with
Pre => (
if
LadenPrüfenExtern
then
(KoordinatenExtern.YAchse <= LeseWeltkarteneinstellungen.YAchse
and
KoordinatenExtern.XAchse <= LeseWeltkarteneinstellungen.XAchse)
);
end LadenKarteLogik;