public void DeserializeJSON(string json) { var jsonResponse = (dynamic)null; try { jsonResponse = (dynamic)JsonConvert.DeserializeObject <JObject>(json); faceNbr = jsonResponse.faceNbr; colorNbr = jsonResponse.colorNbr; nbrProps = jsonResponse.propSpec.Count; } catch { nbrProps = 0; } propSpec = new AssetSpec[nbrProps]; for (var j = 0; j < nbrProps; j++) { var id = (Int32)jsonResponse.propSpec[j].id; var crc = (UInt32)jsonResponse.propSpec[j].crc; propSpec[j] = new AssetSpec(id, crc); } }
public bool Open(AssetSpec assetSpec) { try { if (AssetLoader.assetsCache.ContainsKey(assetSpec.id)) { assetRec = AssetLoader.assetsCache[assetSpec.id]; } else { using (var dbContext = Database.For <ThePalaceEntities>()) { assetRec = dbContext.Assets.AsNoTracking() .Where(a => a.AssetId == assetSpec.id) .Where(a => (int)assetSpec.crc == 0 || a.AssetCrc == (int)assetSpec.crc) .Where(a => (a.Flags & (Int32)ServerAssetFlags.HighResProp) == 0) .AsEnumerable() .Select(a => new AssetRec { //type = LegacyAssetTypes.RT_PROP, propSpec = new AssetSpec(a.AssetId, (UInt32)a.AssetCrc), name = a.Name, flags = (UInt32)a.Flags, size = (UInt32)(a.Data?.Length ?? 0), data = a.Data, }) .FirstOrDefault(); } } if (assetRec != null && assetRec.size > 0) { assetRec.nbrBlocks = (UInt16)((assetRec.size / _chunkMaxSize) + ((assetRec.size % _chunkMaxSize) > 0 ? 1 : 0)); assetRec.blockSize = (UInt32)((assetRec.size - _bytesRead > _chunkMaxSize) ? ((_chunkMaxSize > assetRec.size - _bytesRead) ? assetRec.size - _bytesRead : _chunkMaxSize) : (assetRec.size - _bytesRead > 0) ? assetRec.size - _bytesRead : 0); AlignBytes((int)assetRec.size); if (assetRec.size <= 9000) { AssetLoader.assetsCache[assetSpec.id] = assetRec; } _stream = new MemoryStream(assetRec.data); return(true); } } catch (Exception ex) { ex.DebugLog(); } return(false); }
public void Deserialize(Packet packet) { nbrProps = (Int16)packet.ReadSInt32(); propSpec = new AssetSpec[nbrProps]; for (var j = 0; j < nbrProps; j++) { propSpec[j] = new AssetSpec(packet); } }
public void Deserialize(Packet packet) { faceNbr = packet.ReadSInt16(); colorNbr = packet.ReadSInt16(); nbrProps = packet.ReadSInt32() % 10; propSpec = new AssetSpec[nbrProps]; for (var j = 0; j < nbrProps; j++) { propSpec[j] = new AssetSpec(packet); } }
public void DeserializeJSON(string json) { var jsonResponse = (dynamic)null; try { jsonResponse = (dynamic)JsonConvert.DeserializeObject <JObject>(json); assetType = (LegacyAssetTypes)jsonResponse.assetType; assetSpec = new AssetSpec(jsonResponse.assetSpec.id, jsonResponse.assetSpec.crc); } catch { } }
public static void OutboundQueueTransfer(SessionState sessionState, AssetSpec assetSpec) { var assetStream = new AssetStream(); if (assetStream.Open(assetSpec)) { lock (outboundQueue) { outboundQueue.Enqueue(new AssetState { sessionState = sessionState, assetStream = assetStream, }); } ThreadController.manageAssetsOutboundQueueSignalEvent.Set(); } }
public void DeserializeJSON(string json) { var jsonResponse = (dynamic)null; try { jsonResponse = (dynamic)JsonConvert.DeserializeObject <JObject>(json); var id = (Int32)jsonResponse.propSpec.id; var crc = (UInt32)jsonResponse.propSpec.crc; var v = (Int16)jsonResponse.loc.v; var h = (Int16)jsonResponse.loc.h; propSpec = new AssetSpec(id, crc); loc = new Point(h, v); } catch { } }
public void Deserialize(Packet packet) { assetType = (LegacyAssetTypes)packet.ReadSInt32(); assetSpec = new AssetSpec(packet); }
public void Deserialize(Packet packet) { propSpec = new AssetSpec(packet); loc = new Point(packet); }
public static void CheckAssets(SessionState sessionState, AssetSpec propSpec) { CheckAssets(sessionState, new AssetSpec[] { propSpec }); }