diff --git a/Content.Client/Clickable/ClickableComponent.cs b/Content.Client/Clickable/ClickableComponent.cs index 66ecb02e0c..3f4f7b511b 100644 --- a/Content.Client/Clickable/ClickableComponent.cs +++ b/Content.Client/Clickable/ClickableComponent.cs @@ -26,7 +26,7 @@ namespace Content.Client.Clickable /// True if the click worked, false otherwise. public bool CheckClick(Vector2 worldPos, out int drawDepth, out uint renderOrder) { - if (!_entMan.TryGetComponent(Owner, out ISpriteComponent? sprite) || !sprite.Visible) + if (!_entMan.TryGetComponent(Owner, out SpriteComponent? sprite) || !sprite.Visible) { drawDepth = default; renderOrder = default; @@ -54,8 +54,10 @@ namespace Content.Client.Clickable // This should have been the rotation of the sprite relative to the screen, but this is not the case with no-rot or directional sprites. var relativeRotation = worldRot + _eyeManager.CurrentEye.Rotation; + Angle cardinalSnapping = sprite.SnapCardinals ? relativeRotation.GetCardinalDir().ToAngle() : Angle.Zero; + // First we get `localPos`, the clicked location in the sprite-coordinate frame. - var entityXform = Matrix3.CreateInverseTransform(transform.WorldPosition, sprite.NoRotation ? -_eyeManager.CurrentEye.Rotation : worldRot); + var entityXform = Matrix3.CreateInverseTransform(transform.WorldPosition, sprite.NoRotation ? -_eyeManager.CurrentEye.Rotation : worldRot - cardinalSnapping); var localPos = invSpriteMatrix.Transform(entityXform.Transform(worldPos)); // Check explicitly defined click-able bounds diff --git a/Content.Client/CloningConsole/UI/CloningConsoleBoundUserInterface.cs b/Content.Client/CloningConsole/UI/CloningConsoleBoundUserInterface.cs index 8ab2c34627..51ee9d7b4e 100644 --- a/Content.Client/CloningConsole/UI/CloningConsoleBoundUserInterface.cs +++ b/Content.Client/CloningConsole/UI/CloningConsoleBoundUserInterface.cs @@ -22,7 +22,6 @@ namespace Content.Client.CloningConsole.UI }; _window.OnClose += Close; _window.CloneButton.OnPressed += _ => SendMessage(new UiButtonPressedMessage(UiButton.Clone)); - _window.EjectButton.OnPressed += _ => SendMessage(new UiButtonPressedMessage(UiButton.Eject)); _window.OpenCentered(); } @@ -43,7 +42,6 @@ namespace Content.Client.CloningConsole.UI { _window.OnClose -= Close; _window.CloneButton.OnPressed -= _ => SendMessage(new UiButtonPressedMessage(UiButton.Clone)); - _window.EjectButton.OnPressed -= _ => SendMessage(new UiButtonPressedMessage(UiButton.Eject)); } _window?.Dispose(); } diff --git a/Content.Client/CloningConsole/UI/CloningConsoleWindow.xaml b/Content.Client/CloningConsole/UI/CloningConsoleWindow.xaml index 7a1886a5af..958bc83d11 100644 --- a/Content.Client/CloningConsole/UI/CloningConsoleWindow.xaml +++ b/Content.Client/CloningConsole/UI/CloningConsoleWindow.xaml @@ -46,11 +46,6 @@ -