private void LoadProfile(Profile profile) { if (profile == null) throw new Exception("Profile is null (most likely file is corrupted)."); _profile = profile; if (ConfigurationViewModel != null) { ConfigurationViewModel.ConfigurationUpdated -= OnConfigurationChanged; foreach (var sessionViewModel in SessionViewModels) sessionViewModel.SessionUpdated -= OnConfigurationChanged; } ConfigurationViewModel = new ConfigurationViewModel(profile.Configuration); ConfigurationViewModel.ConfigurationUpdated += OnConfigurationChanged; SessionViewModels.Clear(); foreach (var session in profile.Sessions) { var sessionViewModel = new SessionViewModel(session, profile.Configuration, profile.DefaultValues); sessionViewModel.SessionUpdated += OnConfigurationChanged; SessionViewModels.Add(sessionViewModel); } ActiveSessionViewModel = SessionViewModels.FirstOrDefault(s => s.Active) ?? SessionViewModels.First(); NewDps = new ValueCorrectionViewModel(ValueType.Double); HasUnsavedChanges = false; }
public static double CalculateDps(Profile profile) { return CalculateDps(profile.ActiveSession, profile.Configuration); }
public static ConfigurationCorrection FindHighestDpsCorrection(Profile profile, Session session) { var budget = profile.Configuration.Budget; return FindHighestDpsCorrection(session, profile.Configuration.Clone(), new ConfigurationCorrection(), budget, budget/10, budget); }
public static ConfigurationCorrection FindHighestDpsCorrection(Profile profile, int budget) { return FindHighestDpsCorrection(profile.ActiveSession, profile.Configuration.Clone(), new ConfigurationCorrection(), budget, budget / 10, budget); }
public static ConfigurationCorrection FindHighestDpsCorrection(Profile profile) { return FindHighestDpsCorrection(profile, profile.Configuration.Budget); }