У меня есть класс с несколькими переменными, которые все правильно созданы с помощью текстового файла JSON, за исключением одного списка перечислений, принадлежащих классу Effects
перечисленные ниже классы всегда имеют перечисления в По умолчанию в списке effectiveBy используется элемент 0
[System.Serializable]
public class InteractableObject : Item, IEffectReceiver
{
protected List<Stats> stats = new List<Stats>();
protected HashSet<Effects> currentEffects;
public List<Effects.EffectType> effectedBy = new List<Effects.EffectType>();
public GameObject destroyedPrefab;
private bool destructible = true;
private bool destroyed = false;
. Это класс, содержащий перечисление, которое я пытаюсь установить
[System.Serializable]
public class Effects
{
public bool usingEffect = false;
public int effectOverTimeChance = 0;
public EffectType effectType;
public Stats.StatType effectedStat = Stats.StatType.health;
public int minAmount;
public int maxAmount;
public enum EffectType
{
bleed,
electric,
fire,
heal,
physical,
poison
}
. Это мой текст JSON. что одно перечисление effectBy для последней записи
{
"meleeWeapons": [
{
"id": 0,
"prefabID": "claw",
"title": "claw",
"description": "razor sharp claws",
"slotType": 4,
"effects": [
{
"effectType": 4,
"minAmount": 2,
"maxAmount": 4
}
]
},
{
"id": 1,
"title": "hammer",
"description": "heavy and intimidating",
"slotType": 4
}
],
"interactableObjects": [
{
"id": 2,
"prefabID": "BasicCrate",
"title": "crate",
"effectedBy": [
{
"effectType": 4
}
]
}
]
}
Я могу обойти это, изменив effectBy на список эффектов и присвоив самому эффекту требуемое значение перечисления, но если бы я мог, я бы предпочел просто оставить его в качестве списка effectTypes. У кого-нибудь есть понимание этого?