public Byte[] RequestStorage(string ServerKey, int ChestId) { OperationsLog("Storge request for " + @ChestId + " on " + @ServerKey + "received."); ServerTracking sInv = sMasterSettings.GlobalTracking.ServerTrackingList.Where(x => @x.ServerKey == @ServerKey).FirstOrDefault(); if(sInv == null) { sInv = new ServerTracking(ServerKey); sMasterSettings.GlobalTracking.ServerTrackingList.Add(sInv); OperationsLog("Added Server Inventory for " + @sInv.ServerKey); } ServerStorageTracking sSto = sInv.ServerStorageHash.Where(x => x.StorageChestGUID == ChestId).FirstOrDefault(); if(sSto == null) { sSto = new ServerStorageTracking(@ServerKey, ChestId); StorageBuffer.Add(sSto); OperationsLog("Added storage for " + ChestId); } using(MemoryStream stream = new MemoryStream()) { try { Serializer.PrepareSerializer<ServerStorageTracking>(); Serializer.Serialize(stream, sSto); }catch(Exception ex){LogError(ex);} return stream.ToArray(); } }
public Byte[] RequestCharacterInventory(string ServerKey, string CharacterKey) { OperationsLog("Character Inventory Request for " + @ServerKey + " received from " + @CharacterKey); ServerTracking sInv = sMasterSettings.GlobalTracking.ServerTrackingList.Where(x => @x.ServerKey == @ServerKey).FirstOrDefault(); if(sInv == null) { sInv = new ServerTracking(ServerKey); sMasterSettings.GlobalTracking.ServerTrackingList.Add(sInv); OperationsLog("Added Server Inventory for " + @sInv.ServerKey); } CharacterInventoryTracking cInv = sInv.CharacterInventoryHash.Where(x => @x.CharacterKey == @CharacterKey).FirstOrDefault(); if(cInv == null) { cInv = new CharacterInventoryTracking(ServerKey, CharacterKey); InventoryBuffer.Add(cInv); OperationsLog("Added Character Inventory for" + @cInv.CharacterKey); } using(MemoryStream stream = new MemoryStream()) { try { Serializer.PrepareSerializer<CharacterInventoryTracking>(); Serializer.Serialize(stream, cInv); }catch(Exception ex){LogError(ex);} return stream.ToArray(); } }