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
Location:
binary-improvements/7dtd-server-fixes/src/PersistentData
Files:
5 edited

Legend:

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

    r326 r455  
    88
    99                public bool HideChatCommands {
    10                         get { return hideChatCommands; }
    11                         set { hideChatCommands = value; }
     10                        get => hideChatCommands;
     11                        set => hideChatCommands = value;
    1212                }
    1313
    1414                public string HideChatCommandPrefix {
    15                         get {
    16                                 if (hideChatCommandPrefix == null) {
    17                                         hideChatCommandPrefix = "";
    18                                 }
    19 
    20                                 return hideChatCommandPrefix;
    21                         }
    22                         set { hideChatCommandPrefix = value; }
     15                        get => hideChatCommandPrefix ??= "";
     16                        set => hideChatCommandPrefix = value;
    2317                }
    2418        }
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs

    r351 r455  
    2424                }
    2525
    26                 private void ProcessInv (List<InvItem> _target, ItemStack[] _sourceFields, int _id) {
     26                private void ProcessInv (ICollection<InvItem> _target, IReadOnlyList<ItemStack> _sourceFields, int _id) {
    2727                        _target.Clear ();
    28                         for (int i = 0; i < _sourceFields.Length; i++) {
     28                        for (int i = 0; i < _sourceFields.Count; i++) {
    2929                                InvItem item = CreateInvItem (_sourceFields [i].itemValue, _sourceFields [i].count, _id);
    3030                                if (item != null && _sourceFields [i].itemValue.Modifications != null) {
     
    4343                }
    4444
    45                 private void ProcessParts (ItemValue[] _parts, InvItem _item, int _playerId) {
    46                         InvItem[] itemParts = new InvItem[_parts.Length];
    47                         for (int i = 0; i < _parts.Length; i++) {
     45                private void ProcessParts (IReadOnlyList<ItemValue> _parts, InvItem _item, int _playerId) {
     46                        InvItem[] itemParts = new InvItem[_parts.Count];
     47                        for (int i = 0; i < _parts.Count; i++) {
    4848                                InvItem partItem = CreateInvItem (_parts [i], 1, _playerId);
    4949                                if (partItem != null && _parts [i].Modifications != null) {
     
    6767
    6868                        if (_count > maxAllowed) {
    69                                 Log.Out ("Player with ID " + _playerId + " has stack for \"" + name + "\" greater than allowed (" +
    70                                          _count + " > " + maxAllowed + ")");
     69                                Log.Out ($"Player with ID {_playerId} has stack for \"{name}\" greater than allowed ({_count} > {maxAllowed})");
    7170                        }
    7271
  • 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);
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Player.cs

    r447 r455  
    124124                        }
    125125
    126                         Log.Out ("Player set to offline: " + InternalId);
     126                        Log.Out ($"Player set to offline: {InternalId}");
    127127                        lastOnline = DateTime.Now;
    128128                        try {
     
    140140
    141141                public void SetOnline (ClientInfo _ci) {
    142                         Log.Out ("Player set to online: " + InternalId);
     142                        Log.Out ($"Player set to online: {InternalId}");
    143143                        clientInfo = _ci;
    144144            entityId = _ci.entityId;
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Players.cs

    r446 r455  
    1919                        }
    2020
    21                         Log.Out ("Created new player entry for ID: " + _internalId);
     21                        Log.Out ($"Created new player entry for ID: {_internalId}");
    2222                        Player p = new Player (_internalId, _platformId, _crossPlatformId);
    2323                        Dict.Add (_internalId, p);
Note: See TracChangeset for help on using the changeset viewer.