예제 #1
0
        public void DeckLoad()
        {
            OnPropertyChanged(nameof(DeckName));
            if ((DeckName == null) || DeckName.Equals(string.Empty))
            {
                return;
            }
            DeckList.Clear();
            var deckPath = CardUtils.GetDeckPath(DeckName);

            try
            {
                var sr = File.OpenText(deckPath);
                var numberListString = sr.ReadToEnd().Trim();
                sr.Close();
                var idList = JsonUtils.Deserialize <List <int> >(numberListString);
                foreach (var id in idList)
                {
                    AddCard(id);
                }
            }
            catch (Exception exception)
            {
                BaseDialogUtils.ShowDialogAuto(exception.Message);
            }
        }
예제 #2
0
        public void DeckResave_Click(object obj)
        {
            OnPropertyChanged(nameof(DeckName));
            if (DeckName.Equals(string.Empty))
            {
                BaseDialogUtils.ShowDialogAuto(StringConst.DeckNameNone);
                return;
            }
            var deckPath = CardUtils.GetDeckPath(DeckName);

            if (File.Exists(deckPath))
            {
                BaseDialogUtils.ShowDialogAuto(StringConst.DeckNameExist);
                return;
            }
            DeckSave_Click(DeckName);
        }
예제 #3
0
        public void DeckSave_Click(object obl)
        {
            OnPropertyChanged(nameof(DeckName));
            if (DeckName.Equals(string.Empty))
            {
                BaseDialogUtils.ShowDialogAuto(StringConst.DeckNameNone);
                return;
            }
            var deckPath       = CardUtils.GetDeckPath(DeckName);
            var deckBuilder    = new StringBuilder();
            var deckNumberList = new List <int>();

            deckNumberList.AddRange(DeckList.Select(deck => deck.Id).ToList());
            deckBuilder.Append(JsonUtils.Serializer(deckNumberList));
            var isSaveSucceed = FileUtils.SaveFile(deckPath, deckBuilder.ToString());

            BaseDialogUtils.ShowDialogAuto(isSaveSucceed ? StringConst.SaveSucceed : StringConst.SaveFailed);
        }
예제 #4
0
        public async void DeckDelete_Click(object obj)
        {
            OnPropertyChanged(nameof(DeckName));
            if (DeckName.Equals(string.Empty))
            {
                return;
            }
            if (!await BaseDialogUtils.ShowDialogConfirm(StringConst.DeleteHint))
            {
                return;
            }
            var deckPath = CardUtils.GetDeckPath(DeckName);

            if (!File.Exists(deckPath))
            {
                return;
            }
            File.Delete(deckPath);
            DeckList.Clear();
        }
예제 #5
0
        private void Save()
        {
            if (DeckName.Equals(string.Empty))
            {
                BaseDialogUtils.ShowDialogAuto(StringConst.DeckNameNone);
                return;
            }
            var deckPath       = CardUtils.GetDeckPath(DeckName);
            var deckBuilder    = new StringBuilder();
            var deckNumberList = new List <string>();

            deckNumberList.AddRange(_playerVm.PlayerModels.Select(deckEntity => deckEntity.NumberEx).ToList());
            deckNumberList.AddRange(_deckVm.IgModels.Select(deckEntity => deckEntity.NumberEx).ToList());
            deckNumberList.AddRange(_deckVm.UgModels.Select(deckEntity => deckEntity.NumberEx).ToList());
            deckNumberList.AddRange(_deckVm.ExModels.Select(deckEntity => deckEntity.NumberEx).ToList());
            deckBuilder.Append(JsonUtils.Serializer(deckNumberList));
            var isSave = FileUtils.SaveFile(deckPath, deckBuilder.ToString());

            BaseDialogUtils.ShowDialogAuto(isSave ? StringConst.SaveSucceed : StringConst.SaveFailed);
        }
예제 #6
0
        /// <summary>
        ///     卡组删除事件
        /// </summary>
        public void Delete_Click(object obj)
        {
            if (DeckName.Equals(string.Empty))
            {
                return;
            }
            if (!BaseDialogUtils.ShowDialogConfirm(StringConst.DeleteHint))
            {
                return;
            }
            var deckPath = CardUtils.GetDeckPath(DeckName);

            if (!File.Exists(deckPath))
            {
                return;
            }
            File.Delete(deckPath);
            ClearDeck();
            DeckName = string.Empty;
            BaseDialogUtils.ShowDialogAuto(StringConst.DeleteSucceed);
        }
예제 #7
0
        /// <summary>
        ///     卡组载入
        /// </summary>
        public void LoadDeck()
        {
            if (DeckName.Equals(string.Empty))
            {
                return;
            }
            ClearDeck();
            var deckPath = CardUtils.GetDeckPath(DeckName);

            try
            {
                var numberListString = FileUtils.GetFileContent(deckPath);
                var numberExList     = JsonUtils.Deserialize <List <string> >(numberListString);
                foreach (var numberEx in numberExList)
                {
                    AddCard(numberEx);
                }
            }
            catch (Exception exception)
            {
                BaseDialogUtils.ShowDialogAuto(exception.Message);
            }
        }