Say the two classes below exist as follows
class ExpansionMissionEventBase { bool Enabled; float Weight; int MissionMaxTime; [NonSerialized()] protected string m_EventName; [NonSerialized()] protected string m_FileName; [NonSerialized()] protected float m_CurrentMissionTime; }
class ExpansionMissionEventAirdrop extends ExpansionMissionEventBase { int Items; int Infected; [NonSerialized()] private bool m_LootHasSpawned; }
The expected output would be something like this
{ "Enabled": 1, "Weight": 20, "MissionMaxTime": 1200, "Items": 20, "Infected": 50 }
but we get this
{ "Enabled": 1, "Weight": 20, "MissionMaxTime": 1200, "m_EventName": "Airdrop", "m_FileName": "$profile:ExpansionMod\\Missions\\Airdrop_Balota.json", "m_CurrentMissionTime": 0, "Items": 20, "Infected": 50 }
Do note how m_LootHasSpawned is not serialised in both examples but the fields marked with NonSerialized from ExpansionMissionEventBase are serialised in the scenario when it shouldn't be.