Serialization of Pokemon, general fixes

This commit is contained in:
2024-09-03 09:31:32 +02:00
parent 2a0aaed4c3
commit 3214a6f29a
11 changed files with 387 additions and 51 deletions

View File

@@ -40,11 +40,7 @@ public static class AbilityDataLoader
var effect = serialized.Effect;
var parameters = serialized.Parameters.ToDictionary(x => (StringKey)x.Key, x => x.Value.ToParameter());
StringKey? effectName;
if (effect == null)
effectName = null;
else
effectName = new StringKey(effect);
StringKey? effectName = effect == null ? null! : new StringKey(effect);
var ability = new AbilityImpl(name, effectName, parameters);
return ability;

View File

@@ -31,8 +31,7 @@ public static class ItemDataLoader
{
if (!Enum.TryParse<ItemCategory>(serialized.ItemType, true, out var itemType))
throw new InvalidDataException($"Item type {serialized.ItemType} is not valid for item {serialized.Name}.");
BattleItemCategory battleType;
Enum.TryParse(serialized.BattleType, true, out battleType);
Enum.TryParse(serialized.BattleType, true, out BattleItemCategory battleType);
return new ItemImpl(serialized.Name, itemType, battleType, serialized.Price,
serialized.Flags.Select(x => (StringKey)x).ToImmutableHashSet());