예제 #1
0
        public static void SetDefoultImages()
        {
            DefoultTaskImage =
                StaticMetods.pathToImage(Path.Combine(Directory.GetCurrentDirectory(), "Images", "Task.png"));
            DefoultAbilImage =
                StaticMetods.pathToImage(
                    Path.Combine(Directory.GetCurrentDirectory(), "Images", "AbDefoult.png"));
            DefoultCharactImage =
                StaticMetods.pathToImage(
                    Path.Combine(Directory.GetCurrentDirectory(), "Images", "ChaDefoult.jpg"));
            DefoultQwestImage =
                StaticMetods.pathToImage(Path.Combine(Directory.GetCurrentDirectory(), "Images", "mission.jpg"));
            DefoultRewImage =
                StaticMetods.pathToImage(Path.Combine(Directory.GetCurrentDirectory(), "Images", "gold.png"));

            // Картинки
            DefoultTaskPic =
                StaticMetods.getImagePropertyFromImage(DefoultTaskImage);
            DefoultAbilPic =
                StaticMetods.getImagePropertyFromImage(DefoultAbilImage);
            DefoultCharactPic =
                StaticMetods.getImagePropertyFromImage(DefoultCharactImage);
            DefoultQwestPic =
                StaticMetods.getImagePropertyFromImage(DefoultQwestImage);
            DefoultRewPic =
                StaticMetods.getImagePropertyFromImage(DefoultRewImage);
        }
예제 #2
0
 private RelaysItem getRelaysItemForGold(int goldIfDoneProperty)
 {
     return(new RelaysItem
     {
         ElementToolTipProperty = $"Золото +{goldIfDoneProperty}",
         IdProperty = "gold",
         PictureProperty =
             StaticMetods.getImagePropertyFromImage(Pers.GoldImageProperty)
     });
 }
예제 #3
0
 private RelaysItem getRelaysItemForExp(int plusExp)
 {
     return(new RelaysItem
     {
         ElementToolTipProperty = $"Опыт +{plusExp}",
         IdProperty = "exp",
         PictureProperty =
             StaticMetods.getImagePropertyFromImage(Pers.ExpImageProperty)
     });
 }
예제 #4
0
 private void setAbRevards(List <AbilitiModel> abs, List <RelaysItem> rev)
 {
     if (abs.Any())
     {
         rev.AddRange(abs.Select(n => new RelaysItem
         {
             ElementToolTipProperty = $"↑ \"{n.NameOfProperty}\"",
             IdProperty             = n.GUID,
             PictureProperty        =
                 StaticMetods.getImagePropertyFromImage(n.ImageProperty)
         }));
     }
 }
예제 #5
0
        private List <RelaysItem> getRevardsForQwest()
        {
            List <RelaysItem> rev = new List <RelaysItem>();

            var plusExp = Qwest.PlusExp;

            if (plusExp != 0)
            {
                rev.Add(getRelaysItemForExp(plusExp));
            }
            var goldIfDoneProperty = Qwest.GoldIfDoneProperty;

            if (goldIfDoneProperty != 0)
            {
                rev.Add(getRelaysItemForGold(goldIfDoneProperty));
            }

            // Прокачка навыков
            var abs = Qwest.UpUbilitys.ToList();

            if (abs.Any())
            {
                rev.AddRange(abs.Select(n => new RelaysItem
                {
                    ElementToolTipProperty = $"\"{n.Ability.NameOfProperty}\" +{n.ValueToUp}",
                    IdProperty             = n.Ability.GUID,
                    PictureProperty        =
                        StaticMetods.getImagePropertyFromImage(n.Ability.ImageProperty)
                }));
            }

            //rev.AddRange(StaticMetods.PersProperty
            //    .ShopItems.Where(n => n.NeedQwests.Any(q => q == Qwest))
            //    .Select(
            //        getRelaysItemFromRevard).ToList());

            var abs2 = StaticMetods.PersProperty.Abilitis.Where(n => n.ReqwireAims.Any(q => q == Qwest)).ToList();

            setAbRevards(abs2, rev);

            rev.AddRange(StaticMetods.PersProperty
                         .ShopItems.Where(n => n.NeedQwests.Any(q => q == Qwest))
                         .Select(
                             getRelaysItemFromRevard).ToList());

            return(rev);
        }
        /// <summary>
        ///     Получить элементы на которые влияет этот элемент
        /// </summary>
        public void getRelaysItems()
        {
            var relaysItems = new List <RelaysItem>();

            if (this.SelectedChaProperty != null && this.SelectedChaProperty.KExpRelayProperty > 0 &&
                PersProperty.PersSettings.IsFudgeModeProperty == false)
            {
                relaysItems.Add(
                    new RelaysItem
                {
                    IdProperty             = "exp",
                    ElementToolTipProperty = "Опыт",
                    PictureProperty        = StaticMetods.getImagePropertyFromImage(Pers.ExpImageProperty),
                    BorderColorProperty    =
                        StaticMetods.getBorderColorFromRelaysWithHardness(
                            Convert.ToInt32(this.SelectedChaProperty.KExpRelayProperty)),
                    ReqvirementTextProperty =
                        StaticMetods.getTextFromRelaysWithHardness(
                            Convert.ToInt32(this.SelectedChaProperty.KExpRelayProperty))
                });
            }

            RelaysItemsVm.RelaysItemsesProperty = relaysItems;
        }
        public void getReqvireItems()
        {
            var relaysItems = new List <RelaysItem>();

            if (this.RevardProperty != null)
            {
                //Мин. уровень
                relaysItems.Add(
                    new RelaysItem
                {
                    BorderColorProperty =
                        StaticMetods.GetLevelReqBorderColor(
                            this.PersProperty.PersLevelProperty,
                            this.RevardProperty.NeedLevelProperty),
                    ElementToolTipProperty = "Минимальный уровень персонажа",
                    IdProperty             = "уровень",
                    PictureProperty        =
                        StaticMetods.getImagePropertyFromImage(Pers.LevelImageProperty),
                    ReqvirementTextProperty =
                        ">= " + this.RevardProperty.NeedLevelProperty
                });

                // Золото
                Brush goldBorder = this.PersProperty.GoldProperty >= RevardProperty.CostProperty
                    ? Brushes.Green
                    : Brushes.Red;
                relaysItems.Add(
                    new RelaysItem
                {
                    BorderColorProperty    = goldBorder,
                    ElementToolTipProperty = "Золото >= " + RevardProperty.CostProperty,
                    IdProperty             = "gold",
                    PictureProperty        =
                        StaticMetods.getImagePropertyFromImage(Pers.GoldImageProperty),
                    ReqvirementTextProperty = ">= " + this.RevardProperty.CostProperty
                });

                // Характеристики
                foreach (var needCharact in RevardProperty.NeedCharacts)
                {
                    Brush chaBorder = needCharact.ValueProperty >= needCharact.CharactProperty.ValueProperty
                        ? Brushes.Green
                        : Brushes.Red;
                    relaysItems.Add(
                        new RelaysItem
                    {
                        BorderColorProperty    = chaBorder,
                        ElementToolTipProperty =
                            "Характеристика ''" + needCharact.CharactProperty.NameOfProperty + "''"
                            + " >= " + needCharact.ValueProperty,
                        IdProperty      = needCharact.CharactProperty.GUID,
                        PictureProperty =
                            StaticMetods.getImagePropertyFromImage(
                                needCharact.CharactProperty.ImageProperty),
                        ReqvirementTextProperty = ">= " + needCharact.ValueProperty
                    });
                }

                // скиллы
                foreach (var needAb in RevardProperty.AbilityNeeds)
                {
                    Brush chaBorder = needAb.ValueProperty >= needAb.AbilProperty.ValueProperty
                        ? Brushes.Green
                        : Brushes.Red;
                    relaysItems.Add(
                        new RelaysItem
                    {
                        BorderColorProperty    = chaBorder,
                        ElementToolTipProperty =
                            "Навык ''" + needAb.AbilProperty.NameOfProperty + "''" + " >= "
                            + needAb.ValueProperty,
                        IdProperty              = needAb.AbilProperty.GUID,
                        PictureProperty         = needAb.AbilProperty.PictureProperty,
                        ReqvirementTextProperty = ">= " + needAb.ValueProperty
                    });
                }

                // Квесты
                foreach (var needQwest in RevardProperty.NeedQwests)
                {
                    Brush chaBorder = needQwest.IsDoneProperty ? Brushes.Green : Brushes.Red;
                    relaysItems.Add(
                        new RelaysItem
                    {
                        BorderColorProperty    = chaBorder,
                        ElementToolTipProperty =
                            "Квест ''" + needQwest.NameOfProperty + "''" + " должен быть выполнен",
                        IdProperty              = needQwest.GUID,
                        PictureProperty         = needQwest.PictureProperty,
                        ReqvirementTextProperty = "выполнен"
                    });
                }
            }

            ReqvireItemsVm.RelaysItemsesProperty = relaysItems;
        }
        public void ShowChanges(string _header, Brush _color, byte[] _itemImage, string date = "", bool showEndTurn = false, bool isShowEditAb = true, bool isOnlyShowArts = false)
        {
            double beforeExp;
            double afterExp;

            GetChanges(out beforeExp, out afterExp);
            bool isShowInfo = false;
            var  notRev     = ViewChanges.Where(n => n.ТипХарактеристики != "награда").ToList();

            // Показываем сообщения по поводу наград
            var rev = ViewChanges.Where(n => n.ТипХарактеристики == "награда").ToList();

            foreach (viewChangesModel vcm in rev)
            {
                var lv     = new LevelsChangesView();
                var cs     = vcm.ChangeProperty >= 0 ? "+++" : "---";
                var header = $"{cs} {vcm.названиеХарактеристики} {cs}";
                lv.Image.Source      = StaticMetods.getImagePropertyFromImage(vcm.ImageProperty);
                lv.down.Visibility   = Visibility.Collapsed;
                lv.Header.Text       = header;
                lv.Header.Foreground = vcm.ChangeProperty > 0 ? Brushes.Green : Brushes.Red;
                lv.btnOk.Click      += (sender, args) =>
                {
                    lv.Close();
                };
                lv.down.Visibility = Visibility.Collapsed;
                lv.up.Visibility   = Visibility.Collapsed;
                lv.ShowDialog();
            }

            // Показываем изменения.....................................................................................
            // Показываем изменения (навыки)

            if (!StaticMetods.PersProperty.PersSettings.IsNotShowNotifications)
            {
                StaticMetods.ShowItemToPersChanges(_header, _itemImage, notRev.Where(n => n.ТипХарактеристики != "Ранг").ToList(), _color, date, null, showEndTurn, true);
            }
            // StaticMetods.ShowItemToPersChanges(_header, _itemImage, notRev.Where(n => n.ТипХарактеристики != "ХарактеристикаУр" && n.ТипХарактеристики != "НавыкУр" && n.ТипХарактеристики != "Ранг").ToList(), _color, date, null, showEndTurn, true);
            // StaticMetods.ShowItemToPersChanges("Навыки", _itemImage, notRev.Where(n => n.ТипХарактеристики == "НавыкУр").ToList(), _color, date, null, showEndTurn);
            //StaticMetods.ShowItemToPersChanges("Характеристики", _itemImage, notRev.Where(n => n.ТипХарактеристики == "ХарактеристикаУр").ToList(), _color, date, null, showEndTurn);

            //----------------------------------------------------------------------------------
            // Выполненные квесты
            Pers.ShowDoneQwests(ValBefore, ValAfter, true);

            // Изменения уровней навыков
            //Pers.ShowChengeAbLevels(ValBefore, ValAfter, isShowEditAb, false);

            // Изменения уровней характеристик
            //Pers.ShowChangeChaLevels(ValBefore, ValAfter);

            // Показываем изменения (опыт)
            //StaticMetods.ShowItemToPersChanges("Опыт", _itemImage, notRev.Where(n => n.ТипХарактеристики == "Опыт").ToList(), _color, date, null, showEndTurn);

            // Изменение уровней персонажа
            Pers.ShowChangePersLevel(afterExp, beforeExp, notRev, out isShowInfo);
            //-----------------------------------------------------------------------------------

            // Открываем лист персонажа, если новый уровень
            if (isShowInfo)
            {
                StaticMetods.Locator.MainVM.OpenPersWindow(new Tuple <string, string>("Окно персонажа", "Информация"));
            }

            // Редактируем квесты
            //foreach (var aim in qwToEdit)
            //{
            //    StaticMetods.editAim(aim);
            //}
            //// Навыки
            //foreach (var abilitiModel in absToEdit)
            //{
            //    abilitiModel.EditAbility(null, -1, true);
            //}

            StaticMetods.AbillitisRefresh(Pers);
            StaticMetods.RefreshAllQwests(Pers, true, true, true);
        }