Ignore:
Timestamp:
Jul 31, 2023, 4:06:13 PM (16 months ago)
Author:
alloc
Message:

25_30_44

  • Got rid (mostly) of custom JSON serialization
  • Some code cleanup
File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs

    r448 r455  
    1212                [OptionalField] private Attributes attributes;
    1313
    14                 public Players Players {
    15                         get {
    16                                 if (players == null) {
    17                                         players = new Players ();
    18                                 }
     14                public Players Players => players ??= new Players ();
    1915
    20                                 return players;
    21                         }
    22                 }
    23 
    24                 public Attributes Attributes {
    25                         get {
    26                                 if (attributes == null) {
    27                                         attributes = new Attributes ();
    28                                 }
    29 
    30                                 return attributes;
    31                         }
    32                 }
     16                public Attributes Attributes => attributes ??= new Attributes ();
    3317
    3418                private static PersistentContainer instance;
    3519
    36                 public static PersistentContainer Instance {
    37                         get {
    38                                 if (instance == null) {
    39                                         instance = new PersistentContainer ();
    40                                 }
    41 
    42                                 return instance;
    43                         }
    44                 }
     20                public static PersistentContainer Instance => instance ??= new PersistentContainer ();
    4521
    4622                private PersistentContainer () {
     
    4925                public void Save () {
    5026                        lock (fileLockObject) {
    51                                 using Stream stream = File.Open (GameIO.GetSaveGameDir () + persistentDataFileName, FileMode.Create);
     27                                using Stream stream = File.Open ($"{GameIO.GetSaveGameDir ()}{persistentDataFileName}", FileMode.Create);
    5228                                BinaryFormatter bFormatter = new BinaryFormatter ();
    5329                                bFormatter.Serialize (stream, this);
     
    5632
    5733                public static bool Load () {
    58                         if (!File.Exists (GameIO.GetSaveGameDir () + persistentDataFileName)) {
     34                        var filePath = $"{GameIO.GetSaveGameDir ()}{persistentDataFileName}";
     35                       
     36                        if (!File.Exists (filePath)) {
    5937                                return false;
    6038                        }
     
    6341                                PersistentContainer obj;
    6442                                lock (fileLockObject) {
    65                                         using Stream stream = File.Open (GameIO.GetSaveGameDir () + persistentDataFileName, FileMode.Open);
     43                                        using Stream stream = File.Open (filePath, FileMode.Open);
    6644                                        BinaryFormatter bFormatter = new BinaryFormatter ();
    6745                                        obj = (PersistentContainer)bFormatter.Deserialize (stream);
Note: See TracChangeset for help on using the changeset viewer.