Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
SumNum.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System;
4 using System.Globalization;
5 
6 using SiliconStudio.Presentation.MarkupExtensions;
7 
8 namespace SiliconStudio.Presentation.ValueConverters
9 {
10  /// <summary>
11  /// This converter will sum a given numeric value with a numeric value passed as parameter. You can use the <see cref="DoubleExtension"/>
12  /// markup extension to easily pass a double value as parameter, with the following syntax: {sskk:Double (argument)}.
13  /// </summary>
14  public class SumNum : ValueConverterBase<SumNum>
15  {
16  /// <inheritdoc/>
17  public override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
18  {
19  var doubleValue = (double)System.Convert.ChangeType(value ?? 0, typeof(double));
20  var doubleParameter = (double)System.Convert.ChangeType(parameter ?? 0, typeof(double));
21  var result = doubleValue + doubleParameter;
22  return System.Convert.ChangeType(result, value != null ? value.GetType() : targetType);
23  }
24 
25  /// <inheritdoc/>
26  public override object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
27  {
28  var doubleValue = (double)System.Convert.ChangeType(value ?? 0, typeof(double));
29  var doubleParameter = (double)System.Convert.ChangeType(parameter ?? 0, typeof(double));
30  var result = doubleValue - doubleParameter;
31  return System.Convert.ChangeType(result, targetType);
32  }
33  }
34 }
This converter will sum a given numeric value with a numeric value passed as parameter. You can use the DoubleExtension markup extension to easily pass a double value as parameter, with the following syntax: {sskk:Double (argument)}.
Definition: SumNum.cs:14
override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
Definition: SumNum.cs:17
override object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
Definition: SumNum.cs:26