protected override IGenerator[] GetNewGenerators() { return(new IGenerator[] { new StoredFloatGenerator("Music Volume", 0.7f) { IsValueRetainedOnClear = true, Processor = Clamp <float> .Get(0, 1), GetterScope = AccessModifier.Internal, SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "The stored music volume, between 0 and 1." } }, new StoredFloatGenerator("Sound Volume", 0.75f) { IsValueRetainedOnClear = true, Processor = Clamp <float> .Get(0, 1), GetterScope = AccessModifier.Internal, SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "The stored sound volume, between 0 and 1." } }, new StoredBoolGenerator("Music Muted", false) { PropertyName = "IsMusicMuted", IsValueRetainedOnClear = true, GetterScope = AccessModifier.Internal, SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "Whether the music is muted or not." } }, new StoredBoolGenerator("Sound Muted", false) { PropertyName = "IsSoundMuted", IsValueRetainedOnClear = true, GetterScope = AccessModifier.Internal, SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "Whether the sound is muted or not." } }, }); }
protected override IGenerator[] GetNewGenerators() { return(new IGenerator[] { ///////////////////////////////////////////////////// // Keyboard Stuff ///////////////////////////////////////////////////// new StoredBoolGenerator("Split Keyboard Axis", false) { PropertyName = "IsKeyboardAxisSensitivitySplit", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, splits the keyboard's X- and Y-axis' sensitivity" } }, new StoredFloatGenerator("Keyboard X-Axis Sensitivity", 0.5f) { 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", 0.5f) { 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) { PropertyName = "IsKeyboardXAxisInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the keyboard's X-axis." } }, new StoredBoolGenerator("Keyboard Y-Axis is Inverted", false) { PropertyName = "IsKeyboardYAxisInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the keyboard's Y-axis." } }, ///////////////////////////////////////////////////// // Mouse Stuff ///////////////////////////////////////////////////// new StoredBoolGenerator("Split Mouse Axis", false) { 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", 0.5f) { 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", 0.5f) { 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) { PropertyName = "IsMouseXAxisInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the keyboard's X-axis." } }, new StoredBoolGenerator("Mouse Y-Axis is Inverted", false) { PropertyName = "IsMouseYAxisInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the keyboard's Y-axis." } }, ///////////////////////////////////////////////////// // Scroll Wheel Stuff ///////////////////////////////////////////////////// new StoredFloatGenerator("Scroll Wheel Sensitivity", 0.5f) { 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) { PropertyName = "IsScrollWheelInverted", SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, inverts the mouse' scroll wheel." } }, ///////////////////////////////////////////////////// // Graphics Stuff ///////////////////////////////////////////////////// new StoredBoolGenerator("Is Smooth Camera Enabled", false) { SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, enables smooth camera controls." } }, new StoredBoolGenerator("Is Bobbing Camera Enabled", false) { SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, enables bobbing camera effect." } }, new StoredBoolGenerator("Is Flashes Enabled", true) { SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, enables flashing graphic effects." } }, new StoredBoolGenerator("Is Motion Blurs Enabled", true) { SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, enables motion blur graphic effects." } }, new StoredBoolGenerator("Is Bloom Enabled", true) { SetterScope = AccessModifier.Internal, TooltipDocumentation = new string[] { "If true, enables bloom graphic effects." } }, }); }
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." }, }, }); }