static PredefinedPlatformerValues() { { var unnamed = new PlatformerValuesViewModel { Name = "Unnamed", }; platformerValues.Add(unnamed.Name, unnamed); } { var defaultGround = new PlatformerValuesViewModel { Name = "Ground", MaxSpeedX = 250, AccelerationTimeX = .25f, DecelerationTimeX = .15f, IsImmediate = false, JumpVelocity = 450, JumpApplyByButtonHold = true, JumpApplyLength = .2f, Gravity = 900, MaxFallSpeed = 500, CanFallThroughCloudPlatforms = true, CloudFallThroughDistance = 16, MoveSameSpeedOnSlopes = false, UphillFullSpeedSlope = 0, UphillStopSpeedSlope = 60, DownhillFullSpeedSlope = 0, DownhillMaxSpeedSlope = 60, DownhillMaxSpeedBoostPercentage = 50 }; platformerValues.Add(defaultGround.Name, defaultGround); } { var defaultInAir = new PlatformerValuesViewModel { Name = "Air", MaxSpeedX = 250, AccelerationTimeX = 1, DecelerationTimeX = 1, IsImmediate = false, JumpVelocity = 0, Gravity = 900, MaxFallSpeed = 500, CanFallThroughCloudPlatforms = false, MoveSameSpeedOnSlopes = true }; platformerValues.Add(defaultInAir.Name, defaultInAir); } }
private void AddPlatformerValuesClick(object sender, RoutedEventArgs e) { string name = "Unnamed"; while (ViewModel.PlatformerValues.Any(item => item.Name == name)) { name = FlatRedBall.Utilities.StringFunctions.IncrementNumberAtEnd(name); } var values = new PlatformerValuesViewModel(); values.Name = name; ViewModel.PlatformerValues.Add(values); }
internal void UpdateTo(EntitySave currentEntitySave) { ignoresPropertyChanges = true; viewModel.IsPlatformer = currentEntitySave.Properties.GetValue <bool>(nameof(viewModel.IsPlatformer)); Dictionary <string, PlatformerValues> csvValues = GetCsvValues(currentEntitySave); viewModel.PlatformerValues.Clear(); foreach (var value in csvValues.Values) { var platformerValuesViewModel = new PlatformerValuesViewModel(); platformerValuesViewModel.PropertyChanged += HandlePlatformerValuesChanged; platformerValuesViewModel.SetFrom(value); viewModel.PlatformerValues.Add(platformerValuesViewModel); } ignoresPropertyChanges = false; }