with Ada.Streams.Stream_IO; use Ada.Streams.Stream_IO; private with KartenRecords; private with EinheitenRecords; private with StadtRecords; private with KartengrundDatentypen; private with KartenextraDatentypen; private with KartenverbesserungDatentypen; private with KartenDatentypen; private with SystemDatentypen; private with LeseWeltkarteneinstellungen; package SpeichernKarteLogik is pragma Elaborate_Body; function Karte (DateiSpeichernExtern : in File_Type; AutospeichernExtern : in Boolean) return Boolean; private use type KartenDatentypen.Kartenfeld; GesamteSichtbarkeit : KartenRecords.SichtbarkeitArray; Sichtbarkeit : SystemDatentypen.Sichtbarkeitszahl; VorhandeneFeldelemente : SystemDatentypen.FeldelementVorhanden; Zusatzgrund : KartengrundDatentypen.Zusatzgrund_Enum; Feldeffekte : KartenRecords.FeldeffektArray; Fluss : KartenextraDatentypen.Fluss_Enum; Ressource : KartenextraDatentypen.Ressourcen_Enum; Weg : KartenverbesserungDatentypen.Weg_Enum; Verbesserung : KartenverbesserungDatentypen.Verbesserung_Enum; Einheit : EinheitenRecords.SpeziesEinheitnummerRecord; Stadt : StadtRecords.SpeziesStadtnummerRecord; function SichtbarkeitSchreiben (KoordinatenExtern : in KartenRecords.AchsenKartenfeldNaturalRecord; DateiSpeichernExtern : in File_Type) return Boolean with Pre => ( KoordinatenExtern.YAchse <= LeseWeltkarteneinstellungen.YAchse and KoordinatenExtern.XAchse <= LeseWeltkarteneinstellungen.XAchse ); function BasisgrundSchreiben (KoordinatenExtern : in KartenRecords.AchsenKartenfeldVorhandenRecord; DateiSpeichernExtern : in File_Type) return Boolean with Pre => ( KoordinatenExtern.YAchse <= LeseWeltkarteneinstellungen.YAchse and KoordinatenExtern.XAchse <= LeseWeltkarteneinstellungen.XAchse ); function VorhandeneFeldelementeSchreiben (ZusatzgrundExtern : in KartengrundDatentypen.Zusatzgrund_Enum; FeldeffekteExtern : in KartenRecords.FeldeffektArray; FlussExtern : in KartenextraDatentypen.Fluss_Enum; RessourceExtern : in KartenextraDatentypen.Ressourcen_Enum; WegExtern : in KartenverbesserungDatentypen.Weg_Enum; VerbesserungExtern : in KartenverbesserungDatentypen.Verbesserung_Enum; EinheitExtern : in EinheitenRecords.SpeziesEinheitnummerRecord; StadtExtern : in StadtRecords.SpeziesStadtnummerRecord; DateiSpeichernExtern : in File_Type) return Boolean; function FeldelementeSchreiben (ZusatzgrundExtern : in KartengrundDatentypen.Zusatzgrund_Enum; FeldeffekteExtern : in KartenRecords.FeldeffektArray; FlussExtern : in KartenextraDatentypen.Fluss_Enum; RessourceExtern : in KartenextraDatentypen.Ressourcen_Enum; WegExtern : in KartenverbesserungDatentypen.Weg_Enum; VerbesserungExtern : in KartenverbesserungDatentypen.Verbesserung_Enum; EinheitExtern : in EinheitenRecords.SpeziesEinheitnummerRecord; StadtExtern : in StadtRecords.SpeziesStadtnummerRecord; DateiSpeichernExtern : in File_Type) return Boolean; end SpeichernKarteLogik;