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;
        }
Пример #3
0
    /// <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;
        }
    }
Пример #4
0
    /// <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;
        }
    }
Пример #5
0
 public Settings()
 {
     m_DataList    = new DataList();
     m_LauncherDic = new Launchers();
 }