Beispiel #1
0
        public static AchievementLevelInfo GetNextClaimableAchievementLevelInfo(this IAchievementService achievementService, Type levelBaseType)
        {
            int             index           = achievementService.GetAchievementClaimedIndex(levelBaseType) + 1;
            AchievementInfo achievementInfo = InfoResolver.Resolve <FortInfo>().Achievement.AchievementTypes[levelBaseType];
            Array           value           = (Array)levelBaseType.GetProperty("LevelInfo").GetValue(achievementInfo, new object[0]);

            if (index >= value.Length)
            {
                return(null);
            }
            return((AchievementLevelInfo)value.GetValue(index));
        }
Beispiel #2
0
 public static int GetAchievementClaimedIndex <T>(this IAchievementService achievementService)
     where T : LevelBaseAchievementInfo
 {
     return(achievementService.GetAchievementClaimedIndex(typeof(T)));
 }