public void UpdateAccountStatus(AccountStatusType statusType = AccountStatusType.Unknown) { var skill = CurrentlyTrainingSkill; if (skill != null && skill.IsTraining) { // Try to determine account status based on training time var hoursToTrain = (skill.EndTime - skill.StartTime).TotalHours; var spToTrain = skill.EndSP - skill.StartSP; if (hoursToTrain > 0 && spToTrain > 0) { // spPerHour must be greater than zero since numerator and denominator are var spPerHour = spToTrain / hoursToTrain; var rate = (int)Math.Round(GetOmegaSPPerHour(skill.Skill) / spPerHour, 0); switch (rate) { case 1: statusType = AccountStatusType.Omega; break; case 2: statusType = AccountStatusType.Alpha; break; default: statusType = AccountStatusType.Unknown; break; } } } CharacterStatus = new AccountStatus(statusType); }
public AccountStatus(AccountStatusType value) { Status = value; }
/// <summary> /// Creates an AccountStatus object with defined type /// </summary> /// <param name="statusType">Type (Alpha, Omega, Unknown).</param> public AccountStatus(AccountStatusType statusType) { CurrentStatus = statusType; }
public void ChangeStatus( AccountStatusType status) { AccountStatus = status; }