private async void Loaded() { List <RepositoryViewModel> tmpRepositories = null; List <LauncherViewModel> tmpLaunchers = null; await Task.Run(() => { tmpRepositories = GetRepositories(); tmpLaunchers = GetLaunchers(); }); Repositories.Clear(); Repositories.AddRange(tmpRepositories); Launchers.Clear(); Launchers.AddRange(tmpLaunchers); SettingsChanged = false; }
private void SaveSettings() { Context.UserSettings.Repositories = new Dictionary <string, List <Repository> >(); foreach (var group in Repositories.GroupBy(r => r.Type)) { Context.UserSettings.Repositories[group.Key] = group.Select(r => new Repository() { Name = r.Name, Path = r.Path }).ToList(); } Context.UserSettings.ExcludedLauncherFilePaths = Launchers.Where(l => !l.Active).Select(l => l.Path).ToList(); Context.SaveUserSettings(); SettingsChanged = false; }
/// <summary> /// 発射(タグ) /// </summary> public void Shot(string tag) { if (BreakCheck()) { return; } if (!launcherDic.ContainsKey(tag)) { return; } Launchers l = launcherDic[tag]; //一つ以上リロードしている事を確認 if (l.reloadCount == 0) { return; } switch (shotMode) { case ShotMode.All: //全弾発射 for (int i = 0; i < l.reloadCount; i++) { BulletInstantiate(l.launchers[i]); } //リロード初期化 l.reloadCount = 0; l.flagReload = true; l.nowReloadTime = 0f; break; case ShotMode.One: BulletInstantiate(l.launchers[l.reloadCount - 1]); //リロード設定 l.reloadCount--; l.flagReload = true; l.nowReloadTime = l.launchers[l.reloadCount].launcher.totalPerformance.reloadSpeed; break; } }
/// <summary> /// 指定タグのリロードカウントを指定数増やす /// </summary> public void AddReloadCount(string tag, int num) { //辞書確認 if (!launcherDic.ContainsKey(tag)) { return; } Launchers l = launcherDic[tag]; //リロードカウント増加 l.reloadCount += num; //最大値に達した場合 if (l.launchers.Count <= l.reloadCount) { l.reloadCount = l.launchers.Count; l.nowReloadTime = l.maxReloadTime; l.flagReload = false; } else { l.nowReloadTime = l.launchers[l.reloadCount - 1].launcher.totalPerformance.reloadSpeed; } }
public Settings() { m_DataList = new DataList(); m_LauncherDic = new Launchers(); }