Skip to content

Commit

Permalink
Panda Review 1
Browse files Browse the repository at this point in the history
  • Loading branch information
TimtyG committed Feb 22, 2025
1 parent 044f78b commit 248e2f2
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 30 deletions.
15 changes: 5 additions & 10 deletions Intersect.Client.Core/Core/Input.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,10 @@ public static partial class Input
public static void HandleZoomOut(bool wrap = true)
{
var nextZoom = Globals.Database.WorldZoom / 2;

if (nextZoom < Graphics.MinimumWorldScale)
{
if (wrap)
{
Globals.Database.WorldZoom = Graphics.MaximumWorldScale;
}
return;
nextZoom = wrap ? Graphics.MaximumWorldScale : Graphics.MinimumWorldScale;
}

Globals.Database.WorldZoom = nextZoom;
Expand All @@ -55,14 +52,12 @@ public static void HandleZoomOut(bool wrap = true)
public static void HandleZoomIn(bool wrap = true)
{
var nextZoom = Globals.Database.WorldZoom * 2;

if (nextZoom > Graphics.MaximumWorldScale)
{
if (wrap)
{
Globals.Database.WorldZoom = Graphics.MinimumWorldScale;
}
return;
nextZoom = wrap ? Graphics.MinimumWorldScale : Graphics.MaximumWorldScale;
}

Globals.Database.WorldZoom = nextZoom;
}

Expand Down
13 changes: 6 additions & 7 deletions Intersect.Client.Core/Interface/Shared/SettingsWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@ public partial class SettingsWindow : Window
private readonly LabeledComboBox _resolutionList;
private readonly LabeledComboBox _fpsList;
private readonly LabeledCheckBox _showFPSCounterCheckbox;
public readonly LabeledCheckBox _enableScrollingWorldZoomCheckbox;
private readonly LabeledSlider _worldScale;
private readonly LabeledCheckBox _fullscreenCheckbox;
private readonly LabeledCheckBox _lightingEnabledCheckbox;
public readonly LabeledCheckBox _enableMouseScrollZoomCheckbox;
private MenuItem? _customResolutionMenuItem;

// Audio Settings
Expand Down Expand Up @@ -423,12 +423,12 @@ public SettingsWindow(Base parent) : base(parent: parent, title: Strings.Setting
Text = Strings.Settings.EnableLighting,
};

// Video Settings - Enable Mouse Scroll Zoom Checkbox
_enableMouseScrollZoomCheckbox = new LabeledCheckBox(parent: _videoContainer, name: nameof(_enableMouseScrollZoomCheckbox))
// Video Settings - Enable Scrolling World Zoom Checkbox
_enableScrollingWorldZoomCheckbox = new LabeledCheckBox(parent: _videoContainer, name: nameof(_enableScrollingWorldZoomCheckbox))
{
Dock = Pos.Top,
Font = _defaultFont,
Text = Strings.Settings.EnableMouseScrollZoom,
Text = Strings.Settings.EnableScrollingWorldZoom,
};

_worldScale = new LabeledSlider(parent: _videoContainer, name: nameof(_worldScale))
Expand Down Expand Up @@ -938,7 +938,7 @@ public void Show(Base? returnTo)
// Video Settings.
_fullscreenCheckbox.IsChecked = Globals.Database.FullScreen;
_lightingEnabledCheckbox.IsChecked = Globals.Database.EnableLighting;
_enableMouseScrollZoomCheckbox.IsChecked = Globals.Database.EnableMouseScrollZoom;
_enableScrollingWorldZoomCheckbox.IsChecked = Globals.Database.EnableScrollingWorldZoom;

// _uiScale.Value = Globals.Database.UIScale;

Expand Down Expand Up @@ -1116,6 +1116,7 @@ private void SettingsApplyBtn_Clicked(Base sender, MouseButtonState arguments)
Globals.Database.TypewriterBehavior = _typewriterCheckbox.IsChecked ? Enums.TypewriterBehavior.Word : Enums.TypewriterBehavior.Off;

// Video Settings.
Globals.Database.EnableScrollingWorldZoom = _enableScrollingWorldZoomCheckbox.IsChecked;
Globals.Database.WorldZoom = (float)_worldScale.Value;

var resolutionItem = _resolutionList.SelectedItem;
Expand All @@ -1124,8 +1125,6 @@ private void SettingsApplyBtn_Clicked(Base sender, MouseButtonState arguments)

Globals.Database.EnableLighting = _lightingEnabledCheckbox.IsChecked;

Globals.Database.EnableMouseScrollZoom = _enableMouseScrollZoomCheckbox.IsChecked;

if (targetResolution > -1)
{
shouldReset = Globals.Database.TargetResolution != targetResolution || Graphics.Renderer?.HasOverrideResolution == true;
Expand Down
6 changes: 3 additions & 3 deletions Intersect.Client.Core/Localization/Strings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2089,9 +2089,6 @@ public partial struct Settings
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public static LocalizedString EnableLighting = @"Enable Light Effects";

[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public static LocalizedString EnableMouseScrollZoom = @"Enable Mouse Scroll Zoom";

[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public static LocalizedString FormatResolution = @"{00}x{01}";

Expand Down Expand Up @@ -2240,6 +2237,9 @@ public partial struct Settings
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public static LocalizedString Vsync = @"V-Sync";

[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public static LocalizedString EnableScrollingWorldZoom = @"Enable scrolling to change World Scale in game";

[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public static LocalizedString WorldScale = @"World Scale";

Expand Down
15 changes: 9 additions & 6 deletions Intersect.Client.Core/MonoGame/Input/MonoInput.cs
Original file line number Diff line number Diff line change
Expand Up @@ -254,14 +254,17 @@ private void CheckMouseScrollWheel(int scrlVValue, int scrlHValue)

var deltaV = Math.Sign(mMouseVScroll - scrlVValue);

if ((DateTime.Now - _lastZoomTime).TotalMilliseconds >= ZoomDelayInMilliseconds)
var now = DateTime.Now;
if ((now - _lastZoomTime).TotalMilliseconds >= ZoomDelayInMilliseconds)

{

if ((InputHandler.HoveredControl == null || !InputHandler.HoveredControl.IsVisibleInTree)
&& Globals.GameState == GameStates.InGame
&& Globals.Database.EnableMouseScrollZoom)
{
if ((InputHandler.HoveredControl == null
|| !InputHandler.HoveredControl.IsVisibleInTree
|| (InputHandler.HoveredControl is Canvas canvas && canvas == canvas.Canvas))
&& Globals.GameState == GameStates.InGame
&& Globals.Database.EnableScrollingWorldZoom)
{
if (deltaV < 0)
{
Core.Input.HandleZoomIn(false);
Expand All @@ -270,7 +273,7 @@ private void CheckMouseScrollWheel(int scrlVValue, int scrlHValue)
{
Core.Input.HandleZoomOut(false);
}
_lastZoomTime = DateTime.Now;
_lastZoomTime = now;
}
}
mMouseVScroll = scrlVValue;
Expand Down
8 changes: 4 additions & 4 deletions Intersect.Client.Framework/Database/GameDatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ public abstract partial class GameDatabase

public bool EnableLighting { get; set; }

public bool EnableMouseScrollZoom { get; set; }

public bool StickyTarget { get; set; }

public bool AutoTurnToTarget { get; set; }
Expand Down Expand Up @@ -73,6 +71,8 @@ public abstract partial class GameDatabase

public float UIScale { get; set; } = 1.0f;

public bool EnableScrollingWorldZoom { get; set; }

public float WorldZoom { get; set; } = 1.0f;

public abstract void DeletePreference(string key);
Expand Down Expand Up @@ -121,7 +121,6 @@ public virtual void LoadPreferences()
TargetFps = LoadPreference(nameof(TargetFps), 0);
FullScreen = LoadPreference(nameof(FullScreen), false);
EnableLighting = LoadPreference(nameof(EnableLighting), true);
EnableMouseScrollZoom = LoadPreference(nameof(EnableMouseScrollZoom), false);
HideOthersOnWindowOpen = LoadPreference(nameof(HideOthersOnWindowOpen), true);
AutoToggleChatLog = LoadPreference(nameof(AutoToggleChatLog), false);
TargetAccountDirection = LoadPreference(nameof(TargetAccountDirection), false);
Expand All @@ -146,6 +145,7 @@ public virtual void LoadPreferences()
SimplifiedEscapeMenu = LoadPreference(nameof(SimplifiedEscapeMenu), false);
TypewriterBehavior = LoadPreference(nameof(TypewriterBehavior), TypewriterBehavior.Word);
UIScale = LoadPreference(nameof(UIScale), 1.0f);
EnableScrollingWorldZoom = LoadPreference(nameof(EnableScrollingWorldZoom), false);
WorldZoom = LoadPreference(nameof(WorldZoom), 1.0f);
}

Expand All @@ -161,7 +161,6 @@ public virtual void SavePreferences()
SavePreference(nameof(FullScreen), FullScreen);
SavePreference(nameof(ShowFPSCounter), ShowFPSCounter);
SavePreference(nameof(EnableLighting), EnableLighting);
SavePreference(nameof(EnableMouseScrollZoom), EnableMouseScrollZoom);
SavePreference(nameof(HideOthersOnWindowOpen), HideOthersOnWindowOpen);
SavePreference(nameof(AutoToggleChatLog), AutoToggleChatLog);
SavePreference(nameof(TargetAccountDirection), TargetAccountDirection);
Expand All @@ -186,6 +185,7 @@ public virtual void SavePreferences()
SavePreference(nameof(SimplifiedEscapeMenu), SimplifiedEscapeMenu);
SavePreference(nameof(TypewriterBehavior), TypewriterBehavior);
SavePreference(nameof(UIScale), UIScale);
SavePreference(nameof(EnableScrollingWorldZoom), EnableScrollingWorldZoom);
SavePreference(nameof(WorldZoom), WorldZoom);
}

Expand Down

0 comments on commit 248e2f2

Please sign in to comment.