Skip to content

Commit bbda0ec

Browse files
authored
Fixed an issue where skill sprite coords where output with "width" and "height" instead of "w" and "h" (#14)
1 parent 3791c05 commit bbda0ec

5 files changed

Lines changed: 55 additions & 19 deletions

File tree

PoESkillTree.Engine.GameModel/PassiveTree/Base/JsonPassiveTreeAscendancyClass.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class JsonPassiveTreeAscendancyClass
1616
public string FlavourText { get; set; } = string.Empty;
1717

1818
[JsonProperty("flavourTextRect")]
19-
[JsonConverter(typeof(PassiveTreeRectangleFConverter))]
19+
[JsonConverter(typeof(PassiveTreeFlavourTextBoundsConverter))]
2020
public RectangleF FlavourTextBounds { get; set; } = RectangleF.Empty;
2121

2222
[JsonProperty("flavourTextColour")]

PoESkillTree.Engine.GameModel/PassiveTree/Base/JsonPassiveTreeSkillSprite.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ public class JsonPassiveTreeSkillSprite
1010
[JsonProperty("filename")]
1111
public string FileName { get; set; } = string.Empty;
1212

13-
[JsonProperty("coords", ItemConverterType = typeof(PassiveTreeRectangleFConverter))]
13+
[JsonProperty("coords", ItemConverterType = typeof(PassiveTreeSkillSpriteCoordsConverter))]
1414
public Dictionary<string, RectangleF> Coords { get; set; } = new Dictionary<string, RectangleF>();
1515
}
1616

1717
public class JsonPassiveTreeOldSkillSprite : JsonPassiveTreeSkillSprite
1818
{
19-
[JsonProperty("notableCoords", ItemConverterType = typeof(PassiveTreeRectangleFConverter))]
19+
[JsonProperty("notableCoords", ItemConverterType = typeof(PassiveTreeSkillSpriteCoordsConverter))]
2020
public Dictionary<string, RectangleF> NotableCoords { get; private set; } = new Dictionary<string, RectangleF>();
2121

22-
[JsonProperty("keystoneCoords", ItemConverterType = typeof(PassiveTreeRectangleFConverter))]
22+
[JsonProperty("keystoneCoords", ItemConverterType = typeof(PassiveTreeSkillSpriteCoordsConverter))]
2323
public Dictionary<string, RectangleF> KeystoneCoords { get; private set; } = new Dictionary<string, RectangleF>();
2424
}
2525
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using Newtonsoft.Json;
2+
using Newtonsoft.Json.Linq;
3+
using System;
4+
using System.Drawing;
5+
using System.Linq;
6+
7+
namespace PoESkillTree.Engine.GameModel.PassiveTree.Converters
8+
{
9+
public class PassiveTreeFlavourTextBoundsConverter : PassiveTreeRectangleFConverter
10+
{
11+
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
12+
{
13+
var jObject = new JObject();
14+
if (value is RectangleF rectangle)
15+
{
16+
jObject.Add("x", rectangle.X);
17+
jObject.Add("y", rectangle.Y);
18+
jObject.Add("width", rectangle.Width);
19+
jObject.Add("height", rectangle.Height);
20+
}
21+
22+
jObject.WriteTo(writer);
23+
}
24+
}
25+
}

PoESkillTree.Engine.GameModel/PassiveTree/Converters/PassiveTreeRectangleFConverter.cs

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace PoESkillTree.Engine.GameModel.PassiveTree.Converters
88
{
9-
public class PassiveTreeRectangleFConverter : JsonConverter
9+
public abstract class PassiveTreeRectangleFConverter : JsonConverter
1010
{
1111
public override bool CanConvert(Type objectType) => typeof(RectangleF).IsAssignableFrom(objectType);
1212
public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
@@ -31,19 +31,5 @@ public class PassiveTreeRectangleFConverter : JsonConverter
3131

3232
return RectangleF.Empty;
3333
}
34-
35-
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
36-
{
37-
var jObject = new JObject();
38-
if (value is RectangleF rectangle)
39-
{
40-
jObject.Add("x", rectangle.X);
41-
jObject.Add("y", rectangle.Y);
42-
jObject.Add("width", rectangle.Width);
43-
jObject.Add("height", rectangle.Height);
44-
}
45-
46-
jObject.WriteTo(writer);
47-
}
4834
}
4935
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using Newtonsoft.Json;
2+
using Newtonsoft.Json.Linq;
3+
using System;
4+
using System.Drawing;
5+
using System.Linq;
6+
7+
namespace PoESkillTree.Engine.GameModel.PassiveTree.Converters
8+
{
9+
public class PassiveTreeSkillSpriteCoordsConverter : PassiveTreeRectangleFConverter
10+
{
11+
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
12+
{
13+
var jObject = new JObject();
14+
if (value is RectangleF rectangle)
15+
{
16+
jObject.Add("x", rectangle.X);
17+
jObject.Add("y", rectangle.Y);
18+
jObject.Add("w", rectangle.Width);
19+
jObject.Add("h", rectangle.Height);
20+
}
21+
22+
jObject.WriteTo(writer);
23+
}
24+
}
25+
}

0 commit comments

Comments
 (0)