Setup player screen FX

This commit is contained in:
2025-11-19 00:05:20 -08:00
parent f69e219643
commit 613fc3bf60
5 changed files with 382 additions and 354 deletions

View File

@@ -18,4 +18,7 @@ public partial class OptionsData : Node
[Save("ScreenResolution")]
public required int ScreenResolution { get; set; }
[Save("SkipCutscene")]
public required bool SkipCutscene { get; set; }
}

View File

@@ -2,6 +2,7 @@ using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using NathanHoad;
using System;
using System.Linq;
namespace Zennysoft.Game.Ma;
@@ -53,9 +54,12 @@ public partial class OptionsMenu : Control
MasterVolumeLevel = MasterVolumeSlider.Value,
MusicVolumeLevel = MusicVolumeSlider.Value,
SFXVolumeLevel = SFXVolumeSlider.Value,
ScreenResolution = ResolutionOptions.GetSelectedId()
ScreenResolution = ResolutionOptions.GetSelectedId(),
SkipCutscene = SkipOpeningCSCheck.ButtonPressed
};
SkipOpeningCSCheck.Pressed += SkipOpeningCS_Pressed;
DeleteSaveButton.Pressed += DeleteSaveButton_Pressed;
YesDeleteButton.Pressed += YesDeleteButton_Pressed;
NoDeleteButton.Pressed += NoDeleteButton_Pressed;
@@ -76,6 +80,8 @@ public partial class OptionsMenu : Control
VisibilityChanged += OptionsMenu_VisibilityChanged;
}
private void SkipOpeningCS_Pressed() => OptionsData.SkipCutscene = SkipOpeningCSCheck.ButtonPressed;
private void NoDeleteButton_Pressed()
{
ReleaseFocus();
@@ -151,6 +157,7 @@ public partial class OptionsMenu : Control
MusicVolumeSlider.Value = optionsData.MusicVolumeLevel;
SFXVolumeSlider.Value = optionsData.SFXVolumeLevel;
ResolutionOptions.Select(optionsData.ScreenResolution);
SkipOpeningCSCheck.ButtonPressed = optionsData.SkipCutscene;
DisplayServer.WindowSetMode(_windowModes[optionsData.ScreenResolution]);
}