honki_tonks_zivilisationen_0.5.5305_cfbe2104/src/Logik/Spielstandsystem/Speichern/SpeichernLogik.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
with Ada.Streams.Stream_IO; use Ada.Streams.Stream_IO;
with Ada.Strings.Wide_Wide_Unbounded; use Ada.Strings.Wide_Wide_Unbounded;

private with SpeziesDatentypen;
private with StadtDatentypen;
private with EinheitenDatentypen;
private with ZahlenDatentypen;

private with LeseSpeziesbelegung;

package SpeichernLogik is
   pragma Elaborate_Body;

   procedure Speichern
     (AutospeichernExtern : in Boolean);

   procedure AutoSpeichern;

private
   use type SpeziesDatentypen.Spieler_Enum;

   VorhandeneStädte : StadtDatentypen.Städtebereich;

   VorhandeneEinheiten : EinheitenDatentypen.Einheitenbereich;

   AktuellerAutospeichernwert : ZahlenDatentypen.EigenesPositive;

   MaximalerAutospeichernwert : Natural;

   DateiSpeichern : File_Type;

   Spielstandname : Unbounded_Wide_Wide_String;
   Autospeichernname : Unbounded_Wide_Wide_String;



   function Allgemeines
     (DateiSpeichernExtern : in File_Type)
      return Boolean;

   function SpezieswerteSpeichern
     (DateiSpeichernExtern : in File_Type)
      return Boolean;

   function StädteEinheitenSpeichern
     (SpeziesExtern : in SpeziesDatentypen.Spezies_Vorhanden_Enum;
      DateiSpeichernExtern : in File_Type)
      return Boolean
     with
       Pre => (
                 LeseSpeziesbelegung.Belegung (SpeziesExtern => SpeziesExtern) /= SpeziesDatentypen.Leer_Spieler_Enum
              );

   function Spezieswerte
     (SpeziesExtern : in SpeziesDatentypen.Spezies_Vorhanden_Enum;
      DateiSpeichernExtern : in File_Type)
      return Boolean
     with
       Pre => (
                 LeseSpeziesbelegung.Belegung (SpeziesExtern => SpeziesExtern) /= SpeziesDatentypen.Leer_Spieler_Enum
              );

   function NameAutoSpeichern
     return Unbounded_Wide_Wide_String;

end SpeichernLogik;