protected override IGenerator[] GetNewGenerators() { return(new IGenerator[] { new SortedRecordSettingGenerator <int>("Local High Scores", new SortedIntRecords(MaxListSize, true)) { PropertyName = HighScoresPropertyName, TooltipDocumentation = new string[] { "List of highest scores" }, }, new PropertyGenerator("TopScore", typeof(IRecord <int>)) { GetterCode = GeneratorDecorator.CreatePropertyWriter(HighScoresPropertyName, "TopRecord"), TooltipDocumentation = new string[] { "Gets the top score from <seealso cref=\"" + HighScoresPropertyName + "\"/>" }, }, new StoredStringGenerator("Last Entered Name", string.Empty) { IsValueRetainedOnClear = true, TooltipDocumentation = new string[] { "The name the player entered last time they got a new high score.", "Used as a convenience feature for players to enter their name", "more quickly on repeated playthroughs." }, } }); }
protected override IGenerator[] GetNewGenerators() { // Return an array return(new IGenerator[] { new StoredIntGenerator("Number of Unlocked Levels", DefaultNumLevelsUnlocked) { Processor = MinCap <int> .Get(DefaultNumLevelsUnlocked), PropertyName = "NumLevelsUnlocked", TooltipDocumentation = new string[] { "The number of levels unlocked." }, }, new PropertyGenerator(DefaultNumLevelsUnlockedName, typeof(int)) { GetterCode = GeneratorDecorator.CreatePropertyWriter(typeof(AddLocalAnalytics).Name, DefaultNumLevelsUnlockedName), TooltipDocumentation = new string[] { "Default number of levels unlocked." }, }, new StoredIntGenerator("Number of Times App Open", 0) { IsValueRetainedOnClear = true, Processor = MinCap <int> .Get(0), PropertyName = "NumberOfTimesAppOpened", TooltipDocumentation = new string[] { "The number of times the player opened this game." }, }, new StoredPlayTimeGenerator("Total Play Time", "TotalPlayTime") { TooltipDocumentation = new string[] { "How long the player played this game." }, }, }); }
protected override IGenerator[] GetNewGenerators() { return(new IGenerator[] { ///////////////////////////////////////////////////// // Keyboard Stuff ///////////////////////////////////////////////////// new StoredBoolGenerator("Split Keyboard Axis", false) { PropertyName = "IsKeyboardAxisSensitivitySplit", IsValueRetainedOnClear = true, SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, splits the keyboard's X- and Y-axis' sensitivity" } }, new StoredFloatGenerator("Keyboard X-Axis Sensitivity", DefaultSensitivity) { IsValueRetainedOnClear = true, Processor = Clamp <float> .Get(0, 1), SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "The keyboard's X-axis' sensitivity.", "A value between 0 and 1." } }, new StoredFloatGenerator("Keyboard Y-Axis Sensitivity", DefaultSensitivity) { IsValueRetainedOnClear = true, Processor = Clamp <float> .Get(0, 1), SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "The keyboard's Y-axis' sensitivity.", "A value between 0 and 1.", "This value isn't used if <see cref=\"IsKeyboardAxisSensitivitySplit\"/> is false." } }, new StoredBoolGenerator("Keyboard X-Axis is Inverted", false) { IsValueRetainedOnClear = true, PropertyName = "IsKeyboardXAxisInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the keyboard's X-axis." } }, new StoredBoolGenerator("Keyboard Y-Axis is Inverted", false) { IsValueRetainedOnClear = true, PropertyName = "IsKeyboardYAxisInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the keyboard's Y-axis." } }, ///////////////////////////////////////////////////// // Mouse Stuff ///////////////////////////////////////////////////// new StoredBoolGenerator("Split Mouse Axis", false) { IsValueRetainedOnClear = true, PropertyName = "IsMouseAxisSensitivitySplit", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, splits the mouse's X- and Y-axis' sensitivity" } }, new StoredFloatGenerator("Mouse X-Axis Sensitivity", DefaultSensitivity) { IsValueRetainedOnClear = true, Processor = Clamp <float> .Get(0, 1), SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "The mouse's X-axis' sensitivity.", "A value between 0 and 1." } }, new StoredFloatGenerator("Mouse Y-Axis Sensitivity", DefaultSensitivity) { IsValueRetainedOnClear = true, Processor = Clamp <float> .Get(0, 1), SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "The keyboard's Y-axis' sensitivity.", "A value between 0 and 1.", "This value isn't used if <see cref=\"IsKeyboardAxisSensitivitySplit\"/> is false." } }, new StoredBoolGenerator("Mouse X-Axis is Inverted", false) { IsValueRetainedOnClear = true, PropertyName = "IsMouseXAxisInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the keyboard's X-axis." } }, new StoredBoolGenerator("Mouse Y-Axis is Inverted", false) { IsValueRetainedOnClear = true, PropertyName = "IsMouseYAxisInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the keyboard's Y-axis." } }, SmoothCameraFactorOptionProperty, IsSmoothCameraEnabledProperty, new PropertyGenerator(CameraSmoothFactorPropertyName, typeof(float)) { GetterCode = GeneratorDecorator.CreatePropertyWriter(ClassName, CameraSmoothFactorPropertyName), TooltipDocumentation = new string[] { "The amount to apply the camera smoothing. Zero indicates instant-snapping to mouse." }, }, ///////////////////////////////////////////////////// // Scroll Wheel Stuff ///////////////////////////////////////////////////// new StoredFloatGenerator("Scroll Wheel Sensitivity", DefaultSensitivity) { IsValueRetainedOnClear = true, Processor = Clamp <float> .Get(0, 1), SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "The mouse' scroll wheel's sensitivity.", "A value between 0 and 1." } }, new StoredBoolGenerator("Scroll Wheel is Inverted", false) { IsValueRetainedOnClear = true, PropertyName = "IsScrollWheelInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the mouse' scroll wheel." } }, ///////////////////////////////////////////////////// // Graphics Stuff ///////////////////////////////////////////////////// IsCameraShakesEnabledProperty, IsHeadBobbingOptionEnabledProperty, new PropertyGenerator(IsHeadingBobbingEnabledPropertyName, typeof(bool)) { GetterCode = GeneratorDecorator.CreatePropertyWriter(ClassName, IsHeadingBobbingEnabledPropertyName), TooltipDocumentation = new string[] { "If true, enables head bobbing camera effect." }, }, new StoredBoolGenerator("Is Screen Flashes Enabled", true) { IsValueRetainedOnClear = true, SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, enables flashing graphic effects." } }, new StoredBoolGenerator("Is Motion Blurs Enabled", true) { IsValueRetainedOnClear = true, SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, enables motion blur graphic effects." } }, new StoredBoolGenerator("Is Bloom Effect Enabled", true) { IsValueRetainedOnClear = true, SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, enables bloom graphic effects." } }, ///////////////////////////////////////////////////// // Accessibility Stuff ///////////////////////////////////////////////////// new StoredFloatGenerator("Text Size Multiplier", DefaultScale) { IsValueRetainedOnClear = true, Processor = Clamp <float> .Get(0.5f, 1.5f), SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "Multiplier on how much the font size of a text should change." } }, new StoredBoolGenerator("Is Invincibility Mode Enabled", false) { IsValueRetainedOnClear = true, SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, enables invincibility mode; this accessibility feature prevents the player's health from decreasing!" } }, CustomTimeScaleOptionProperty, IsCustomTimeScaleEnabledProperty, new PropertyGenerator(CustomTimeScalePropertyName, typeof(float)) { GetterCode = GeneratorDecorator.CreatePropertyWriter(ClassName, CustomTimeScalePropertyName), TooltipDocumentation = new string[] { "The default global time scale for the game." }, }, }); }