with Ada.Strings.Wide_Wide_Unbounded; use Ada.Strings.Wide_Wide_Unbounded; private with Sf.System.Vector2; private with Sf.Graphics.Rect; with ZahlenDatentypen; with GrafikDatentypen; with StadtRecords; with SpeziesDatentypen; with SpeziesKonstanten; with EinheitenRecords; with EinheitenGrafikRecords; with LeseSpeziesbelegung; private with GrafikRecordKonstanten; private with UmwandlungenAdaEigenes; package EingabenanzeigeGrafik is pragma Elaborate_Body; use type SpeziesDatentypen.Spezies_Enum; use type SpeziesDatentypen.Spieler_Enum; procedure Fragenaufteilung (FrageExtern : in ZahlenDatentypen.EigenesPositive; EingabeExtern : in GrafikDatentypen.Eingabe_Fragen_Enum); procedure AnzeigeEinheitenStadt (SpeziesStadtnameExtern : in EinheitenGrafikRecords.SpeziesStadtnameGrafikRecord; WelcheAuswahlExtern : in EinheitenRecords.AuswahlRecord; AktuelleAuswahlExtern : in Integer) with Pre => ( if SpeziesStadtnameExtern.Spezies /= SpeziesKonstanten.LeerSpezies then LeseSpeziesbelegung.Belegung (SpeziesExtern => SpeziesStadtnameExtern.Spezies) = SpeziesDatentypen.Mensch_Spieler_Enum ); private AktuelleAuswahl : Integer; Textbreite : Float; MaximaleTextbreite : Float; Test : Float; Text : Unbounded_Wide_Wide_String; StadtSpeziesNummer : StadtRecords.SpeziesStadtnummerRecord; EinheitSpeziesNummer : EinheitenRecords.SpeziesEinheitnummerRecord; FrageViewfläche : Sf.System.Vector2.sfVector2f := GrafikRecordKonstanten.StartView; Viewfläche : Sf.System.Vector2.sfVector2f := GrafikRecordKonstanten.StartView; Textposition : Sf.System.Vector2.sfVector2f; Skalierung : Sf.System.Vector2.sfVector2f; Anzeigebereich : Sf.Graphics.Rect.sfFloatRect; Textbox : Sf.Graphics.Rect.sfFloatRect; procedure AnzeigeGanzeZahl; procedure AnzeigeText; procedure AnzeigeJaNein; procedure Frage (HintergrundExtern : in GrafikDatentypen.Hintergrund_Enum; FrageExtern : in Wide_Wide_String); function ZahlAlsString is new UmwandlungenAdaEigenes.ZahlAlsString (GanzeZahl => Natural); end EingabenanzeigeGrafik;