Beispiel #1
0
        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);
        }
Beispiel #2
0
 public AccountStatus(AccountStatusType value)
 {
     Status = value;
 }
Beispiel #3
0
 /// <summary>
 /// Creates an AccountStatus object with defined type
 /// </summary>
 /// <param name="statusType">Type (Alpha, Omega, Unknown).</param>
 public AccountStatus(AccountStatusType statusType)
 {
     CurrentStatus = statusType;
 }
Beispiel #4
0
 public void ChangeStatus(
     AccountStatusType status)
 {
     AccountStatus = status;
 }