private object CreateCombatCalculatorCombatModeViewModel() { var vm = new CombatCalculatorCombatModeViewModel(); vm.InMemoryManager = InMemoryManagerInstance; return(vm); }
private static void RightFuryChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { CombatCalculatorCombatModeViewModel vm = (CombatCalculatorCombatModeViewModel)d; vm.PreviewRound.Execute(null); if (vm.OnRightUsedFuryChanged != null) { vm.OnRightUsedFuryChanged(d, e); } }
private static void RightSelectedCardChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { CombatCalculatorCombatModeViewModel vm = (CombatCalculatorCombatModeViewModel)d; if (e.NewValue == null) { vm.RightUsedPillz = null; } vm.PreviewRound.Execute(null); if (vm.OnRightSelectedCardChanged != null) { vm.OnRightSelectedCardChanged(d, e); } }
private static object CoerceRightUsedPillz(DependencyObject d, object baseValue) { CombatCalculatorCombatModeViewModel vm = (CombatCalculatorCombatModeViewModel)d; if (vm.RightSelectedCard == null || baseValue == null) { return(null); } if ((int)baseValue < 0) { return(0); } int usedPillz = (int)baseValue; int maxAllowedPillz = vm.Combat.RightPlayerStatus.Pillz - (vm.RightUsedFury ? 3 : 0); Debug.Assert(maxAllowedPillz >= 0); return(Math.Min(usedPillz, maxAllowedPillz)); }
private static void LeftUsedPillzChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { CombatCalculatorCombatModeViewModel vm = (CombatCalculatorCombatModeViewModel)d; if (e.NewValue == null) { vm.LeftUsedFury = false; } else if ((int)e.NewValue < 0) { vm.LeftUsedPillz = null; } vm.PreviewRound.Execute(null); if (vm.OnLeftUsedPillzChanged != null) { vm.OnLeftUsedPillzChanged(d, e); } }
private static object CoerceRightUsedFury(DependencyObject d, object baseValue) { if ((bool)baseValue == false) { return(false); } CombatCalculatorCombatModeViewModel vm = (CombatCalculatorCombatModeViewModel)d; if (vm.RightUsedPillz == null) { return(false); } int usedPillz = (int)vm.RightUsedPillz; int remainingPillz = vm.Combat.RightPlayerStatus.Pillz; if (remainingPillz - usedPillz < 3) { return(false); } return(true); }