with Ada.Strings.Wide_Wide_Unbounded; use Ada.Strings.Wide_Wide_Unbounded; with Sf.System.Vector2; with SpeziesDatentypen; with SpeziesKonstanten; private with KartenRecords; private with KartenverbesserungDatentypen; private with TextaccessVariablen; private with KartenextraDatentypen; private with TextArrays; private with KartengrundDatentypen; with LeseSpeziesbelegung; package AllgemeinesSeitenleisteGrafik is pragma Elaborate_Body; use type SpeziesDatentypen.Spieler_Enum; use type SpeziesDatentypen.Spezies_Enum; function AllgemeineInformationen (SpeziesExtern : in SpeziesDatentypen.Spezies_Enum; TextpositionExtern : in Sf.System.Vector2.sfVector2f; MaximaleTextbreiteExtern : in Float) return Float with Pre => ( (if SpeziesExtern /= SpeziesKonstanten.LeerSpezies then LeseSpeziesbelegung.Belegung (SpeziesExtern => SpeziesExtern) = SpeziesDatentypen.Mensch_Spieler_Enum) and TextpositionExtern.x > 0.00 and TextpositionExtern.y > 0.00 ), Post => ( AllgemeineInformationen'Result > 0.00 ); private use type KartengrundDatentypen.Basisgrund_Enum; Leerzeilen : Natural; YTextposition : Float; Zwischenspeicher : Unbounded_Wide_Wide_String; AktuelleKoordinaten : KartenRecords.AchsenKartenfeldNaturalRecord; AnzuzeigenderText : TextArrays.AllgemeinesTextArray (TextaccessVariablen.KarteAllgemeinesAccess'Range); function Gesamtgrund (GesamtgrundExtern : in KartenRecords.KartengrundRecord) return Unbounded_Wide_Wide_String with Pre => ( GesamtgrundExtern.Basisgrund /= KartengrundDatentypen.Leer_Basisgrund_Enum ), Post => ( To_Wide_Wide_String (Source => Gesamtgrund'Result)'Length > 0 ); -- Die Contracts hier noch hinzufügen. äöü function Ressource (RessourceExtern : in KartenextraDatentypen.Ressourcen_Enum) return Unbounded_Wide_Wide_String; function Verbesserung (VerbesserungExtern : in KartenverbesserungDatentypen.Verbesserung_Enum) return Unbounded_Wide_Wide_String; function Weg (WegExtern : in KartenverbesserungDatentypen.Weg_Enum) return Unbounded_Wide_Wide_String; function Fluss (FlussExtern : in KartenextraDatentypen.Fluss_Enum) return Unbounded_Wide_Wide_String; function Feldeffekte (KoordinatenExtern : in KartenRecords.AchsenKartenfeldNaturalRecord) return Unbounded_Wide_Wide_String; end AllgemeinesSeitenleisteGrafik;