コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
        }