mirror of
https://github.com/ppy/osu.git
synced 2025-01-06 08:22:56 +08:00
Merge branch 'master' into user-class-cleanup
This commit is contained in:
commit
1f5ca122b0
@ -14,8 +14,8 @@
|
|||||||
"jb"
|
"jb"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"smoogipoo.nvika": {
|
"nvika": {
|
||||||
"version": "1.0.4",
|
"version": "2.2.0",
|
||||||
"commands": [
|
"commands": [
|
||||||
"nvika"
|
"nvika"
|
||||||
]
|
]
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="ppy.osu.Game.Resources" Version="2021.1026.0" />
|
<PackageReference Include="ppy.osu.Game.Resources" Version="2021.1026.0" />
|
||||||
<PackageReference Include="ppy.osu.Framework.Android" Version="2021.1103.0" />
|
<PackageReference Include="ppy.osu.Framework.Android" Version="2021.1104.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup Label="Transitive Dependencies">
|
<ItemGroup Label="Transitive Dependencies">
|
||||||
<!-- Realm needs to be directly referenced in all Xamarin projects, as it will not pull in its transitive dependencies otherwise. -->
|
<!-- Realm needs to be directly referenced in all Xamarin projects, as it will not pull in its transitive dependencies otherwise. -->
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
using System.Linq;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using osu.Framework.Extensions.IEnumerableExtensions;
|
using osu.Framework.Extensions.IEnumerableExtensions;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
@ -65,10 +66,10 @@ namespace osu.Game.Tests.Visual.UserInterface
|
|||||||
|
|
||||||
private void createPaddedComponent(bool hasDescription = false, bool padded = true)
|
private void createPaddedComponent(bool hasDescription = false, bool padded = true)
|
||||||
{
|
{
|
||||||
|
LabelledDrawable<Drawable> component = null;
|
||||||
|
|
||||||
AddStep("create component", () =>
|
AddStep("create component", () =>
|
||||||
{
|
{
|
||||||
LabelledDrawable<Drawable> component;
|
|
||||||
|
|
||||||
Child = new Container
|
Child = new Container
|
||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
@ -81,6 +82,8 @@ namespace osu.Game.Tests.Visual.UserInterface
|
|||||||
component.Label = "a sample component";
|
component.Label = "a sample component";
|
||||||
component.Description = hasDescription ? "this text describes the component" : string.Empty;
|
component.Description = hasDescription ? "this text describes the component" : string.Empty;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
AddAssert($"description {(hasDescription ? "visible" : "hidden")}", () => component.ChildrenOfType<TextFlowContainer>().ElementAt(1).IsPresent == hasDescription);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class PaddedLabelledDrawable : LabelledDrawable<Drawable>
|
private class PaddedLabelledDrawable : LabelledDrawable<Drawable>
|
||||||
|
@ -168,7 +168,7 @@ namespace osu.Game.Graphics.UserInterfaceV2
|
|||||||
{
|
{
|
||||||
descriptionText.Text = value;
|
descriptionText.Text = value;
|
||||||
|
|
||||||
if (value == default)
|
if (!string.IsNullOrEmpty(value.ToString()))
|
||||||
descriptionText.Show();
|
descriptionText.Show();
|
||||||
else
|
else
|
||||||
descriptionText.Hide();
|
descriptionText.Hide();
|
||||||
|
@ -70,14 +70,16 @@ namespace osu.Game.Skinning.Editor
|
|||||||
if (anchor.HasFlagFast(Anchor.x1)) scale.X = 0;
|
if (anchor.HasFlagFast(Anchor.x1)) scale.X = 0;
|
||||||
if (anchor.HasFlagFast(Anchor.y1)) scale.Y = 0;
|
if (anchor.HasFlagFast(Anchor.y1)) scale.Y = 0;
|
||||||
|
|
||||||
bool shouldAspectLock =
|
|
||||||
// for now aspect lock scale adjustments that occur at corners..
|
// for now aspect lock scale adjustments that occur at corners..
|
||||||
(!anchor.HasFlagFast(Anchor.x1) && !anchor.HasFlagFast(Anchor.y1))
|
if (!anchor.HasFlagFast(Anchor.x1) && !anchor.HasFlagFast(Anchor.y1))
|
||||||
|
{
|
||||||
|
// project scale vector along diagonal
|
||||||
|
Vector2 diag = (selectionRect.TopLeft - selectionRect.BottomRight).Normalized();
|
||||||
|
scale = Vector2.Dot(scale, diag) * diag;
|
||||||
|
}
|
||||||
// ..or if any of the selection have been rotated.
|
// ..or if any of the selection have been rotated.
|
||||||
// this is to avoid requiring skew logic (which would likely not be the user's expected transform anyway).
|
// this is to avoid requiring skew logic (which would likely not be the user's expected transform anyway).
|
||||||
|| SelectedBlueprints.Any(b => !Precision.AlmostEquals(((Drawable)b.Item).Rotation, 0));
|
else if (SelectedBlueprints.Any(b => !Precision.AlmostEquals(((Drawable)b.Item).Rotation, 0)))
|
||||||
|
|
||||||
if (shouldAspectLock)
|
|
||||||
{
|
{
|
||||||
if (anchor.HasFlagFast(Anchor.x1))
|
if (anchor.HasFlagFast(Anchor.x1))
|
||||||
// if dragging from the horizontal centre, only a vertical component is available.
|
// if dragging from the horizontal centre, only a vertical component is available.
|
||||||
|
@ -77,10 +77,14 @@ namespace osu.Game.Storyboards
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
string backgroundPath = BeatmapInfo.BeatmapSet?.Metadata?.BackgroundFile.ToLowerInvariant();
|
string backgroundPath = BeatmapInfo.BeatmapSet?.Metadata?.BackgroundFile;
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(backgroundPath))
|
if (string.IsNullOrEmpty(backgroundPath))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
// Importantly, do this after the NullOrEmpty because EF may have stored the non-nullable value as null to the database, bypassing compile-time constraints.
|
||||||
|
backgroundPath = backgroundPath.ToLowerInvariant();
|
||||||
|
|
||||||
return GetLayer("Background").Elements.Any(e => e.Path.ToLowerInvariant() == backgroundPath);
|
return GetLayer("Background").Elements.Any(e => e.Path.ToLowerInvariant() == backgroundPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -93,7 +97,7 @@ namespace osu.Game.Storyboards
|
|||||||
Drawable drawable = null;
|
Drawable drawable = null;
|
||||||
string storyboardPath = BeatmapInfo.BeatmapSet?.Files.Find(f => f.Filename.Equals(path, StringComparison.OrdinalIgnoreCase))?.FileInfo.StoragePath;
|
string storyboardPath = BeatmapInfo.BeatmapSet?.Files.Find(f => f.Filename.Equals(path, StringComparison.OrdinalIgnoreCase))?.FileInfo.StoragePath;
|
||||||
|
|
||||||
if (storyboardPath != null)
|
if (!string.IsNullOrEmpty(storyboardPath))
|
||||||
drawable = new Sprite { Texture = textureStore.Get(storyboardPath) };
|
drawable = new Sprite { Texture = textureStore.Get(storyboardPath) };
|
||||||
// if the texture isn't available locally in the beatmap, some storyboards choose to source from the underlying skin lookup hierarchy.
|
// if the texture isn't available locally in the beatmap, some storyboards choose to source from the underlying skin lookup hierarchy.
|
||||||
else if (UseSkinSprites)
|
else if (UseSkinSprites)
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Realm" Version="10.6.0" />
|
<PackageReference Include="Realm" Version="10.6.0" />
|
||||||
<PackageReference Include="ppy.osu.Framework" Version="2021.1103.0" />
|
<PackageReference Include="ppy.osu.Framework" Version="2021.1104.0" />
|
||||||
<PackageReference Include="ppy.osu.Game.Resources" Version="2021.1026.0" />
|
<PackageReference Include="ppy.osu.Game.Resources" Version="2021.1026.0" />
|
||||||
<PackageReference Include="Sentry" Version="3.10.0" />
|
<PackageReference Include="Sentry" Version="3.10.0" />
|
||||||
<PackageReference Include="SharpCompress" Version="0.30.0" />
|
<PackageReference Include="SharpCompress" Version="0.30.0" />
|
||||||
|
@ -70,7 +70,7 @@
|
|||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup Label="Package References">
|
<ItemGroup Label="Package References">
|
||||||
<PackageReference Include="ppy.osu.Framework.iOS" Version="2021.1103.0" />
|
<PackageReference Include="ppy.osu.Framework.iOS" Version="2021.1104.0" />
|
||||||
<PackageReference Include="ppy.osu.Game.Resources" Version="2021.1026.0" />
|
<PackageReference Include="ppy.osu.Game.Resources" Version="2021.1026.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<!-- See https://github.com/dotnet/runtime/issues/35988 (can be removed after Xamarin uses net5.0 / net6.0) -->
|
<!-- See https://github.com/dotnet/runtime/issues/35988 (can be removed after Xamarin uses net5.0 / net6.0) -->
|
||||||
@ -93,7 +93,7 @@
|
|||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.6" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.6" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="2.2.6" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="2.2.6" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||||
<PackageReference Include="ppy.osu.Framework" Version="2021.1103.0" />
|
<PackageReference Include="ppy.osu.Framework" Version="2021.1104.0" />
|
||||||
<PackageReference Include="SharpCompress" Version="0.30.0" />
|
<PackageReference Include="SharpCompress" Version="0.30.0" />
|
||||||
<PackageReference Include="NUnit" Version="3.13.2" />
|
<PackageReference Include="NUnit" Version="3.13.2" />
|
||||||
<PackageReference Include="SharpRaven" Version="2.4.0" />
|
<PackageReference Include="SharpRaven" Version="2.4.0" />
|
||||||
|
Loading…
Reference in New Issue
Block a user