示例#1
0
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (AppUtil.IsInDesignMode)
            {
                return("0");
            }

            try
            {
                NatureRequirement natureRequirement = values[0] as NatureRequirement;

                if (natureRequirement == null)
                {
                    return("nature_nil");
                }

                int grade = 1;
                int.TryParse(values[1].ToString(), out grade);

                if (grade < 0)
                {
                    return("grade<0");
                }
                else if (grade == 0)
                {
                    return("0");
                }

                EAddition addType = (EAddition)values[2];

                int sum = 0;

                for (int i = 1; i <= grade; i++)
                {
                    int index = i - 1;
                    if (index >= natureRequirement.Count)
                    {
                        break;
                    }

                    NatureList natureList = natureRequirement[index];
                    foreach (NatureEnumWrap wrap in natureList)
                    {
                        NatureEntry entry = ModelManager.Instance.NatureXlsData[wrap.Value];
                        Addition    add   = entry.Additions[addType];
                        sum += add.Value;
                    }
                }

                return(sum.ToString());
            }
            catch (Exception e)
            {
                LogManager.Instance.Error(e.Message);
                LogManager.Instance.Error(e.Source);
                LogManager.Instance.Error(e.StackTrace);
                return("100");
            }
        }
示例#2
0
        private void onBtn_DeleteGrade(object sender, RoutedEventArgs e)
        {
            NatureList natureList = dgGrade.SelectedItem as NatureList;

            if (natureList == null)
            {
                return;
            }

            NatureRequirement x = dgGrade.ItemsSource as NatureRequirement;

            x.Remove(natureList);
        }
示例#3
0
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value == null || String.IsNullOrEmpty(value.ToString()))
            {
                return(new NatureRequirement());
            }

            string gradeConditionStr = value.ToString();

            NatureRequirement gradeData = NatureRequirement.CreateFromJson(gradeConditionStr);

            return(gradeData);
        }
示例#4
0
        public static NatureRequirement CreateFromJson(string jsonStr)
        {
            NatureRequirement require = new NatureRequirement();
            JSONArray         jsonAry = JSONNode.Parse(jsonStr).AsArray;

            foreach (JSONArray ary in jsonAry.Childs)
            {
                NatureList grade = new NatureList();

                for (int i = 0; i < ary.Childs.Count(); i++)
                {
                    grade[i].Value = (ENature)ary.Childs.ElementAt(i).AsInt;
                }

                require.Add(grade);
            }
            return(require);
        }
示例#5
0
        private void btnSaveGrade_Click(object sender, RoutedEventArgs e)
        {
            if (dgWarrior.SelectedItem == null)
            {
                return;
            }

            NatureRequirement natureRequire = dgGrade.ItemsSource as NatureRequirement;

            if (natureRequire == null)
            {
                return;
            }

            string gradeConditionStr = natureRequire.ConvertToJson();

            (dgWarrior.SelectedItem as DataRowView)["GradeCondition"] = gradeConditionStr;
        }
示例#6
0
 public NatureRequirePreset()
 {
     Requirement = new NatureRequirement();
 }