using System; namespace Jovian.EncounterSystem { /// Polymorphic payload on a . Add a new kind by implementing this interface. public interface IRewardKind { } [Serializable] public class CurrencyRewardKind : IRewardKind { public string currencyId; public int amount; } [Serializable] public class ItemRewardKind : IRewardKind { public string itemId; public int quantity; } [Serializable] public class ExperienceRewardKind : IRewardKind { public int amount; } [Serializable] public class UnlockableRewardKind : IRewardKind { public string unlockableId; } [Serializable] public class OtherRewardKind : IRewardKind { } }