25 lines
695 B
C#
25 lines
695 B
C#
using System;
|
|
|
|
namespace Jovian.EncounterSystem {
|
|
/// <summary>Cross-table reference. Rename-safe — the stored key is a GUID.</summary>
|
|
[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;
|
|
}
|
|
}
|
|
}
|