fix: make deserialisation work correctly
This commit is contained in:
parent
ddbb06b170
commit
9440dc6af2
|
@ -8,6 +8,7 @@ using FFXIVClientStructs.FFXIV.Client.Graphics.Environment;
|
||||||
using FFXIVClientStructs.FFXIV.Client.System.Framework;
|
using FFXIVClientStructs.FFXIV.Client.System.Framework;
|
||||||
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
|
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
|
||||||
using Lumina.Excel.GeneratedSheets;
|
using Lumina.Excel.GeneratedSheets;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Map = Lumina.Excel.GeneratedSheets.Map;
|
using Map = Lumina.Excel.GeneratedSheets.Map;
|
||||||
|
|
||||||
namespace Screenie;
|
namespace Screenie;
|
||||||
|
@ -191,6 +192,10 @@ public class Character {
|
||||||
this.JobId = player.ClassJob.Id;
|
this.JobId = player.ClassJob.Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[JsonConstructor]
|
||||||
|
internal Character() {
|
||||||
|
}
|
||||||
|
|
||||||
private static float ConvertRawPositionToMapCoordinate(float pos, float scale, short offset) {
|
private static float ConvertRawPositionToMapCoordinate(float pos, float scale, short offset) {
|
||||||
var num2 = (pos + offset) * scale;
|
var num2 = (pos + offset) * scale;
|
||||||
return (float) (41.0 / scale * ((num2 + 1024.0) / 2048.0) + 1.0);
|
return (float) (41.0 / scale * ((num2 + 1024.0) / 2048.0) + 1.0);
|
||||||
|
|
|
@ -49,15 +49,15 @@ internal class DatabaseTab : ITab {
|
||||||
LocationSub = reader.GetNullableFieldValue<string>(4),
|
LocationSub = reader.GetNullableFieldValue<string>(4),
|
||||||
Area = reader.GetNullableFieldValue<string>(5),
|
Area = reader.GetNullableFieldValue<string>(5),
|
||||||
AreaSub = reader.GetNullableFieldValue<string>(6),
|
AreaSub = reader.GetNullableFieldValue<string>(6),
|
||||||
TerritoryType = (uint) reader.GetFieldValue<long>(7),
|
TerritoryType = (uint) reader.GetFieldValue<int>(7),
|
||||||
World = reader.GetNullableFieldValue<string>(8),
|
World = reader.GetNullableFieldValue<string>(8),
|
||||||
WorldId = (uint) reader.GetFieldValue<long>(9),
|
WorldId = (uint) reader.GetFieldValue<int>(9),
|
||||||
CapturedAtLocal = reader.GetFieldValue<DateTime>(10),
|
CapturedAtLocal = reader.GetFieldValue<DateTime>(10),
|
||||||
CapturedAtUtc = reader.GetFieldValue<DateTime>(11),
|
CapturedAtUtc = reader.GetFieldValue<DateTime>(11),
|
||||||
EorzeaTime = reader.GetFieldValue<string>(12),
|
EorzeaTime = reader.GetFieldValue<string>(12),
|
||||||
Weather = reader.GetNullableFieldValue<string>(13),
|
Weather = reader.GetNullableFieldValue<string>(13),
|
||||||
Ward = (uint?) reader.GetNullableFieldValue<long>(14),
|
Ward = (uint?) reader.GetNullableFieldValue<int>(14),
|
||||||
Plot = (uint?) reader.GetNullableFieldValue<long>(15),
|
Plot = (uint?) reader.GetNullableFieldValue<int>(15),
|
||||||
VisibleCharacters = JsonConvert.DeserializeObject<Character[]>(
|
VisibleCharacters = JsonConvert.DeserializeObject<Character[]>(
|
||||||
reader.GetFieldValue<string>(16)
|
reader.GetFieldValue<string>(16)
|
||||||
) ?? [],
|
) ?? [],
|
||||||
|
|
Loading…
Reference in New Issue
Block a user