/// <summary> /// Ранг для параметра /// </summary> /// <param name="типХарактеристики"> /// Тип параметра (опыт, скилл, характеристика, квест) /// </param> /// <param name="valueProperty"> /// Значение параметра /// </param> /// <param name="isPocazatelProperty"> /// Показатель? /// </param> /// <param name="rangsParam"> /// Ранги /// </param> /// <returns> /// Ранг /// </returns> private string getRang( string типХарактеристики, double valueProperty, bool isPocazatelProperty, ObservableCollection <Rangs> rangsParam) { switch (типХарактеристики) { case "Квест": return(string.Empty); case "Опыт": break; case "Навык": return(this.RangName(rangsParam, StaticMetods.GetLevel(valueProperty, RpgItemsTypes.ability))); case "Характеристика": return(isPocazatelProperty != true ? this.RangName(rangsParam, StaticMetods.GetLevel(valueProperty, RpgItemsTypes.characteristic)) : string.Empty); } return(string.Empty); }
/// <summary> /// Получаем максимальное значение для прогресс бара параметра /// </summary> /// <param name="typeParam"> /// тип параметра (квест, опыт, характеристика, скилл) /// </param> /// <param name="valueParam"> /// значение параметра /// </param> /// <param name="pocazatelParam"> /// Это показатель? /// </param> /// <param name="maxParamValue"> /// Максимальное значение для показателя /// </param> /// <returns> /// Максимальное значение прогресс бара /// </returns> private double getMax(string typeParam, double valueParam, bool pocazatelParam = false, int maxParamValue = 0) { RpgItemsTypes rpgType = RpgItemsTypes.exp; switch (typeParam) { case "Опыт": rpgType = RpgItemsTypes.exp; break; case "Характеристика": rpgType = RpgItemsTypes.characteristic; break; case "Навык": rpgType = RpgItemsTypes.ability; break; case "Перк": rpgType = RpgItemsTypes.ability; break; } if (typeParam != "Квест") { if (pocazatelParam == false) { int level = StaticMetods.GetLevel(valueParam, rpgType); if (valueParam < MainViewModel.опытаДоПервогоУровня) { return(System.Convert.ToInt32(MainViewModel.опытаДоПервогоУровня)); } else { if (level == 1) { return(System.Convert.ToInt32(MainViewModel.опытаДоПервогоУровня - 1)); } return(System.Convert.ToInt32((MainViewModel.опытаДоПервогоУровня * level * (level - 1)) - 1)); } } else { return(maxParamValue); } } else { return(100); } }
private double getMaxForExp(double val, viewChangesModel vc) { var lev = StaticMetods.GetLevel(val, RpgItemsTypes.exp); var expToLevel = Pers.ExpToLevel(lev + 1, RpgItemsTypes.exp); //if (vc.to < vc.from && val == Pers.ExpToLevel(lev, RpgItemsTypes.exp)) //{ // var level = lev - 1; // if (level < 1) level = 1; // expToLevel = Pers.ExpToLevel(level, RpgItemsTypes.exp); //} return(System.Convert.ToInt32(expToLevel)); }
public void GetLevelTest() { int level0 = StaticMetods.GetLevel(9); int level1 = StaticMetods.GetLevel(11); int level2 = StaticMetods.GetLevel(21); int level3 = StaticMetods.GetLevel(51); int level4 = StaticMetods.GetLevel(111); Debug.Assert(level0 == 0); Debug.Assert(level1 == 1); Debug.Assert(level2 == 2); Debug.Assert(level3 == 3); Debug.Assert(level4 == 4); }
/// <summary> /// Уровень в характеристике, опыте, скилле /// </summary> /// <param name="типХарактеристикиParam"> /// тип /// </param> /// <param name="ispocazatelParam"> /// показатель? /// </param> /// <param name="toParam"> /// начальное значение /// </param> /// <returns> /// текст с надписью уровня /// </returns> private string getLevel(string типХарактеристикиParam, bool ispocazatelParam, double toParam) { switch (типХарактеристикиParam) { case "Квест": return(string.Empty); case "Опыт": return("Уровень " + StaticMetods.GetLevel(toParam, RpgItemsTypes.exp).ToString() + ": "); case "Навык": return("Уровень: "); case "Характеристика": return("Уровень: "); } return(string.Empty); }
/// <summary> /// Получаем минимальное значение прогресс бара для параметра /// </summary> /// <param name="typeParam"> /// тип параметра (квест, опыт, характеристика, скилл) /// </param> /// <param name="valueParam"> /// значение параметра /// </param> /// <param name="pocazatelParam"> /// Это показатель? /// </param> /// <returns> /// минимальное значение прогресс бара /// </returns> private double getMin(string typeParam, double valueParam, bool pocazatelParam = false) { RpgItemsTypes rpgType = RpgItemsTypes.exp; switch (typeParam) { case "Опыт": rpgType = RpgItemsTypes.exp; break; case "Характеристика": rpgType = RpgItemsTypes.characteristic; break; case "Навык": rpgType = RpgItemsTypes.ability; break; case "Перк": rpgType = RpgItemsTypes.ability; break; } if (typeParam != "Квест") { if (pocazatelParam == false) { if (typeParam == "Навык") { } else { } int level = StaticMetods.GetLevel(valueParam, rpgType); if (valueParam < MainViewModel.опытаДоПервогоУровня) { return(0); } else { if (level == 1) { return(MainViewModel.опытаДоПервогоУровня); } else { return(MainViewModel.опытаДоПервогоУровня * (level - 1) * level); } } } else { return(0); } } else { return(0); } }
/// <summary> /// Уровень в параметре поднялся? /// </summary> /// <param name="typeParam"> /// Тип параметра /// </param> /// <param name="isPokazatelParam"> /// Это паказатель? /// </param> /// <param name="fromParam"> /// Начальное значение параметра /// </param> /// <param name="toParam"> /// Конечное значение параметра /// </param> /// <returns> /// Изменение характеристики видимость /// </returns> private Visibility getlevelUpVisibility( string typeParam, bool isPokazatelParam, double fromParam, double toParam) { Visibility isVisible = Visibility.Collapsed; switch (typeParam) { case "Опыт": int levelBeforeE = StaticMetods.GetLevel(fromParam, RpgItemsTypes.exp); int levelAfterE = StaticMetods.GetLevel(toParam, RpgItemsTypes.exp); if (levelAfterE > levelBeforeE) { this.LevelUpTextProperty = "Новый уровень!"; isVisible = Visibility.Visible; } else if (levelAfterE == levelBeforeE) { isVisible = Visibility.Collapsed; } else if (levelAfterE < levelBeforeE) { this.LevelUpTextProperty = "Уровень понижен!"; isVisible = Visibility.Visible; } break; case "Квест": break; case "Навык": int levelBeforeA = StaticMetods.GetLevel(fromParam, RpgItemsTypes.ability); int levelAfterA = StaticMetods.GetLevel(toParam, RpgItemsTypes.ability); if (levelAfterA > levelBeforeA) { this.LevelUpTextProperty = "Новый уровень!"; isVisible = Visibility.Visible; } else if (levelAfterA == levelBeforeA) { isVisible = Visibility.Collapsed; } else if (levelAfterA < levelBeforeA) { this.LevelUpTextProperty = "Уровень понижен!"; isVisible = Visibility.Visible; } break; case "Характеристика": if (isPokazatelParam == true) { break; } else { int levelBefore = StaticMetods.GetLevel(fromParam, RpgItemsTypes.characteristic); int levelAfter = StaticMetods.GetLevel(toParam, RpgItemsTypes.characteristic); if (levelAfter > levelBefore) { this.LevelUpTextProperty = "Новый уровень!"; isVisible = Visibility.Visible; } else if (levelAfter == levelBefore) { isVisible = Visibility.Collapsed; } else if (levelAfter < levelBefore) { this.LevelUpTextProperty = "Уровень понижен!"; isVisible = Visibility.Visible; } break; } } return(isVisible); }
private string getRangForExp(double val, viewChangesModel vc) { var lev = StaticMetods.GetLevel(val, RpgItemsTypes.exp); return(lev.ToString() + ":"); }