using System; namespace Jovian.EncounterSystem { /// Cross-table reference. Rename-safe — the stored key is a GUID. [Serializable] public struct EncounterLink { public EncounterTable table; public string internalId; public IEncounter Resolve() { if(table == null || table.encounters == null || string.IsNullOrEmpty(internalId)) { return null; } foreach(var encounter in table.encounters) { if(encounter?.EncounterDefinition?.internalId == internalId) { return encounter; } } return null; } } }