honki_tonks_zivilisationen_0.5.5305_cfbe2104/src/Grafik/Eingabe/EingabenanzeigeGrafik.ads

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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;