protected UserMedal GetUserMedal(User user) { UserMedal userMedal = null; foreach (UserMedal medal in user.UserMedals) { if (medal.MedalID == Medal.ID) { userMedal = medal; } } if (userMedal == null) { MedalLevel level = Medal.GetMedalLevel(user, true); if (level != null) { userMedal = new UserMedal(); userMedal.MedalID = Medal.ID; userMedal.MedalLeveID = level.ID; userMedal.Url = level.IconSrc; userMedal.UserID = user.UserID; } } return(userMedal); }
/// <summary> /// 是否是自动获取的 /// </summary> /// <param name="userMedal"></param> /// <returns></returns> protected bool IsAutoGet(UserMedal userMedal) { Medal medal = GetMedal(userMedal.MedalID); if (medal.IsCustom) { return(false); } bool isAuto; if (isAutoGets.TryGetValue(userMedal.MedalID, out isAuto)) { return(isAuto); } MedalLevel level = medal.GetMedalLevel(user, true); if (level == null) { isAuto = false; } else { if (medal.GetMedalLevel(user, false).Value > level.Value) { isAuto = false; } else { isAuto = true; } } isAutoGets.Add(userMedal.MedalID, isAuto); return(isAuto); }
protected string GetMedalLevelName(User user) { if (MedalLevelID == null) { MedalLevel level = Medal.GetMedalLevel(user, false); if (level == null) { return("--"); } return(level.Name); } else if (MedalLevel != null) { return(MedalLevel.Name); } else { return("--"); } }