using IVDataFormat; using System.Collections.Generic; public interface IHasRewards { IList GetRewardList(uint level); } public interface IAutoProgressable { bool AutoProgress { get; set; } } public interface IHasThumbnail { string ThumbnailAtlasName { get; } string ThumbnailSpriteName { get; } } public abstract class GameModData { protected GameModProperty property; protected GameModPlayProperty playProperty; public uint ModID => property.id; public uint Level => playProperty.level; public uint MaxLevel => property.maxLevel; public virtual string NameKey => string.Empty; public virtual bool IsUnlocked => true; public GameModData(GameModProperty property, GameModPlayProperty playProperty) { this.property = property; this.playProperty = playProperty; } public abstract void SetLevel(uint level); }