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/MapRendering/API/GetPlayerInventories.cs

    r454 r455  
    11using System.Collections.Generic;
    2 using AllocsFixes.JSON;
    32using AllocsFixes.PersistentData;
     3using JetBrains.Annotations;
     4using Utf8Json;
    45using Webserver;
    56using Webserver.WebAPI;
    67
    78namespace AllocsFixes.WebAPIs {
     9        [UsedImplicitly]
    810        public class GetPlayerInventories : AbsWebAPI {
    911                public override void HandleRequest (RequestContext _context) {
    1012                        GetPlayerInventory.GetInventoryArguments (_context, out bool showIconColor, out bool showIconName);
    1113
    12                         JSONArray AllInventoriesResult = new JSONArray ();
     14                        JsonWriter writer = new JsonWriter ();
     15                       
     16                        writer.WriteBeginArray ();
     17                       
     18                        bool first = true;
    1319
    1420                        foreach (KeyValuePair<PlatformUserIdentifierAbs, Player> kvp in PersistentContainer.Instance.Players.Dict) {
     
    2026
    2127                                if (p.IsOnline) {
    22                                         AllInventoriesResult.Add (GetPlayerInventory.DoPlayer (p, showIconColor, showIconName));
     28                                        if (!first) {
     29                                                writer.WriteValueSeparator ();
     30                                        }
     31
     32                                        first = false;
     33                               
     34                                        GetPlayerInventory.DoPlayer (ref writer, p, showIconColor, showIconName);
    2335                                }
    2436                        }
    25 
    26                         LegacyApiHelper.WriteJSON (_context.Response, AllInventoriesResult);
     37                       
     38                        writer.WriteEndArray ();
     39                       
     40                        WebUtils.WriteJsonData (_context.Response, ref writer);
    2741                }
    2842        }
Note: See TracChangeset for help on using the changeset viewer.