Skip to content

Commit

Permalink
Merge pull request #18 from manups4e/master
Browse files Browse the repository at this point in the history
Fixed SafeZone scaling
  • Loading branch information
manups4e authored Nov 29, 2019
2 parents 682fc77 + 71af564 commit cfbc67f
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 20 deletions.
7 changes: 4 additions & 3 deletions NativeUI/Panels/UIMenuColorPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -134,15 +134,16 @@ private void UpdateSelection(bool update)

private void Functions()
{
if (ScreenTools.IsMouseInBounds(LeftArrow.Position, LeftArrow.Size))
Point safezoneOffset = ScreenTools.SafezoneBounds;
if (ScreenTools.IsMouseInBounds(new PointF(LeftArrow.Position.X + safezoneOffset.X, LeftArrow.Position.Y + safezoneOffset.Y), LeftArrow.Size))
if (API.IsDisabledControlJustPressed(0, 24) || API.IsControlJustPressed(0, 24))
GoLeft();
if (ScreenTools.IsMouseInBounds(RightArrow.Position, RightArrow.Size))
if (ScreenTools.IsMouseInBounds(new PointF(RightArrow.Position.X + safezoneOffset.X, RightArrow.Position.Y + safezoneOffset.Y), RightArrow.Size))
if (API.IsDisabledControlJustPressed(0, 24) || API.IsControlJustPressed(0, 24))
GoRight();
for (int Index = 0; Index < Bar.Count; Index++)
{
if (ScreenTools.IsMouseInBounds(Bar[Index].Position, Bar[Index].Size))
if (ScreenTools.IsMouseInBounds(new PointF(Bar[Index].Position.X + safezoneOffset.X, Bar[Index].Position.Y + safezoneOffset.Y), Bar[Index].Size))
if (API.IsDisabledControlJustPressed(0, 24) || API.IsControlJustPressed(0, 24))
{
CurrentSelection = Data.Pagination.Min + Index;
Expand Down
15 changes: 8 additions & 7 deletions NativeUI/Panels/UIMenuGridPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ internal void UpdateParent( float X, float Y)

internal async void Functions()
{
if (ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f, Grid.Position.Y + 20f), new SizeF(Grid.Size.Width - 40f , Grid.Size.Height - 40f)))
Point safezoneOffset = ScreenTools.SafezoneBounds;
if (ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f + safezoneOffset.X, Grid.Position.Y + 20f + safezoneOffset.Y), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
{
if (API.IsDisabledControlPressed(0, 24))
{
Expand All @@ -81,18 +82,18 @@ internal async void Functions()
Pressed = true;
Audio.Id = API.GetSoundId();
API.PlaySoundFrontend(Audio.Id, Audio.Slider, Audio.Library, true);
while (API.IsDisabledControlPressed(0, 24) && ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f, Grid.Position.Y + 20f), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
while (API.IsDisabledControlPressed(0, 24) && ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f + safezoneOffset.X, Grid.Position.Y + 20f + safezoneOffset.Y), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
{
await BaseScript.Delay(0);
var res = ScreenTools.ResolutionMaintainRatio;
float mouseX = API.GetDisabledControlNormal(0, 239) * res.Width;
float mouseY = API.GetDisabledControlNormal(0, 240) * res.Height;
mouseX -= (Circle.Size.Width / 2);
mouseY -= (Circle.Size.Height / 2);
PointF Position = new PointF(mouseX > (Grid.Position.X + 10 + Grid.Size.Width - 40) ? (Grid.Position.X + 10 + Grid.Size.Width - 40) : ((mouseX < (Grid.Position.X + 20 - (Circle.Size.Width / 2))) ? (Grid.Position.X + 20 - (Circle.Size.Width / 2)) : mouseX), mouseY > (Grid.Position.Y + 10 + Grid.Size.Height - 40) ? (Grid.Position.Y + 10 + Grid.Size.Height - 40) : ((mouseY < (Grid.Position.Y + 20 - (Circle.Size.Height / 2))) ? (Grid.Position.Y + 20 - (Circle.Size.Height / 2)) : mouseY));
mouseX -= (Circle.Size.Width / 2) + safezoneOffset.X;
mouseY -= (Circle.Size.Height / 2) + safezoneOffset.Y;
PointF Position = new PointF(mouseX > (Grid.Position.X + 10 + Grid.Size.Width - 40) ? (Grid.Position.X + 10 + Grid.Size.Width - 40) : ((mouseX < (Grid.Position.X + 20 - (Circle.Size.Width / 2))) ? (Grid.Position.X + 20 - (Circle.Size.Width / 2)) : mouseX), mouseY > (Grid.Position.Y + 10 + safezoneOffset.Y + Grid.Size.Height - 40) ? (Grid.Position.Y + 10 + Grid.Size.Height - 40) : ((mouseY < (Grid.Position.Y + 20 - (Circle.Size.Height / 2))) ? (Grid.Position.Y + 20 - (Circle.Size.Height / 2)) : mouseY));
Circle.Position = Position;
var resultX = (float)Math.Round((Circle.Position.X - (Grid.Position.X + 20) + (Circle.Size.Width + 20)) / (Grid.Size.Width - 40), 2);
var resultY = (float)Math.Round((Circle.Position.Y - (Grid.Position.Y + 20) + (Circle.Size.Height + 20)) / (Grid.Size.Height - 40), 2);
var resultX = (float)Math.Round((Circle.Position.X - (Grid.Position.X + 20) + (Circle.Size.Width + 20)) / (Grid.Size.Width - 40), 2) + safezoneOffset.X;
var resultY = (float)Math.Round((Circle.Position.Y - (Grid.Position.Y + 20) + (Circle.Size.Height + 20)) / (Grid.Size.Height - 40), 2) + safezoneOffset.Y;
UpdateParent(((resultX >= 0.0f && resultX <= 1.0f) ? resultX : ((resultX <= 0f) ? 0.0f : 1.0f) * 2f) - 1f, ((resultY >= 0.0f && resultY <= 1.0f) ? resultY : ((resultY <= 0f) ? 0.0f : 1.0f) * 2f) - 1f);
}
API.StopSound(Audio.Id);
Expand Down
7 changes: 4 additions & 3 deletions NativeUI/Panels/UIMenuHorizontalOneLineGridPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ private void UpdateParent(float X)

private async void Functions()
{
if (ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f, Grid.Position.Y + 20f), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
Point safezoneOffset = ScreenTools.SafezoneBounds;
if (ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f + safezoneOffset.X, Grid.Position.Y + 20f + safezoneOffset.Y), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
{
if (API.IsDisabledControlPressed(0, 24))
{
Expand All @@ -76,12 +77,12 @@ private async void Functions()
Pressed = true;
Audio.Id = API.GetSoundId();
API.PlaySoundFrontend(Audio.Id, Audio.Slider, Audio.Library, true);
while (API.IsDisabledControlPressed(0, 24) && ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f, Grid.Position.Y + 20f), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
while (API.IsDisabledControlPressed(0, 24) && ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f + safezoneOffset.X, Grid.Position.Y + 20f + safezoneOffset.Y), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
{
await BaseScript.Delay(0);
var res = ScreenTools.ResolutionMaintainRatio;
float mouseX = API.GetDisabledControlNormal(0, 239) * res.Width;
mouseX -= (Circle.Size.Width / 2);
mouseX -= (Circle.Size.Width / 2) + safezoneOffset.X;
Circle.Position = new PointF(mouseX > (Grid.Position.X + 10 + Grid.Size.Width - 40) ? (Grid.Position.X + 10 + Grid.Size.Width - 40) : ((mouseX < (Grid.Position.X + 20 - (Circle.Size.Width / 2))) ? (Grid.Position.X + 20 - (Circle.Size.Width / 2)) : mouseX), 0.5f);
var resultX = (float)Math.Round((Circle.Position.X - (Grid.Position.X + 20) + (Circle.Size.Width + 20)) / (Grid.Size.Width - 40), 2);
UpdateParent(((resultX >= 0.0f && resultX <= 1.0f) ? resultX : ((resultX <= 0f) ? 0.0f : 1.0f) * 2f) - 1f);
Expand Down
7 changes: 4 additions & 3 deletions NativeUI/Panels/UIMenuPercentagePanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ public void UpdateParent(float Percentage)

private async void Functions()
{
if (ScreenTools.IsMouseInBounds(new PointF(BackgroundBar.Position.X, BackgroundBar.Position.Y - 4f), new SizeF(BackgroundBar.Size.Width, BackgroundBar.Size.Height + 8f)))
Point safezoneOffset = ScreenTools.SafezoneBounds;
if (ScreenTools.IsMouseInBounds(new PointF(BackgroundBar.Position.X + safezoneOffset.X, BackgroundBar.Position.Y - 4f + safezoneOffset.Y), new SizeF(BackgroundBar.Size.Width, BackgroundBar.Size.Height + 8f)))
{
if (API.IsDisabledControlPressed(0, 24))
{
Expand All @@ -76,12 +77,12 @@ private async void Functions()
Pressed = true;
Audio.Id = API.GetSoundId();
API.PlaySoundFrontend(Audio.Id, Audio.Slider, Audio.Library, true);
while (API.IsDisabledControlPressed(0, 24) && ScreenTools.IsMouseInBounds(new PointF(BackgroundBar.Position.X, BackgroundBar.Position.Y - 4f), new SizeF(BackgroundBar.Size.Width, BackgroundBar.Size.Height + 8f)))
while (API.IsDisabledControlPressed(0, 24) && ScreenTools.IsMouseInBounds(new PointF(BackgroundBar.Position.X + safezoneOffset.X, BackgroundBar.Position.Y - 4f + safezoneOffset.Y), new SizeF(BackgroundBar.Size.Width, BackgroundBar.Size.Height + 8f)))
{
await BaseScript.Delay(0);
var res = ScreenTools.ResolutionMaintainRatio;
float Progress = API.GetDisabledControlNormal(0, 239) * res.Width;
Progress -= ActiveBar.Position.X;
Progress -= ActiveBar.Position.X + safezoneOffset.X;
ActiveBar.Size = new SizeF(Progress >= 0 && Progress <= 413 ? Progress : (Progress < 0 ? 0 : 413), ActiveBar.Size.Height);
UpdateParent((float)Math.Round(Progress >= 0 && Progress <= 413 ? Progress : (Progress < 0 ? 0 : 413) / BackgroundBar.Size.Width, 2));
}
Expand Down
9 changes: 5 additions & 4 deletions NativeUI/Panels/UIMenuVerticalOneLineGridPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ private void UpdateParent(float Y)

private async void Functions()
{
if (ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f, Grid.Position.Y + 20f), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
Point safezoneOffset = ScreenTools.SafezoneBounds;
if (ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f + safezoneOffset.X, Grid.Position.Y + 20f + safezoneOffset.Y), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
{
if (API.IsDisabledControlPressed(0, 24))
{
Expand All @@ -77,13 +78,13 @@ private async void Functions()
Pressed = true;
Audio.Id = API.GetSoundId();
API.PlaySoundFrontend(Audio.Id, Audio.Slider, Audio.Library, true);
while (API.IsDisabledControlPressed(0, 24) && ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f, Grid.Position.Y + 20f), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
while (API.IsDisabledControlPressed(0, 24) && ScreenTools.IsMouseInBounds(new PointF(Grid.Position.X + 20f + safezoneOffset.X, Grid.Position.Y + 20f + safezoneOffset.Y), new SizeF(Grid.Size.Width - 40f, Grid.Size.Height - 40f)))
{
await BaseScript.Delay(0);
var res = ScreenTools.ResolutionMaintainRatio;
float mouseY = API.GetDisabledControlNormal(0, 240) * res.Height;
mouseY -= (Circle.Size.Height / 2);
Circle.Position = new PointF(0.5f, (mouseY > (Grid.Position.Y + 10 + Grid.Size.Height - 40) ? (Grid.Position.Y + 10 + Grid.Size.Height - 40) : ((mouseY < (Grid.Position.Y + 20 - (Circle.Size.Height / 2))) ? (Grid.Position.Y + 20 - (Circle.Size.Height / 2)) : mouseY)));
mouseY -= (Circle.Size.Height / 2) + safezoneOffset.Y;
Circle.Position = new PointF(0.5f, mouseY > (Grid.Position.Y + 10 + Grid.Size.Height - 40) ? (Grid.Position.Y + 10 + Grid.Size.Height - 40) : ((mouseY < (Grid.Position.Y + 20 - (Circle.Size.Height / 2))) ? (Grid.Position.Y + 20 - (Circle.Size.Height / 2)) : mouseY));
var resultY = (float)Math.Round((Circle.Position.Y - (Grid.Position.Y + 20) + (Circle.Size.Height + 20)) / (Grid.Size.Height - 40), 2);
UpdateParent(((resultY >= 0.0f && resultY <= 1.0f) ? resultY : ((resultY <= 0f) ? 0.0f : 1.0f) * 2f) - 1f);
}
Expand Down

0 comments on commit cfbc67f

Please sign in to comment.