mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 10:12:54 +08:00
Merge branch 'master' into fix-always-skipping
This commit is contained in:
commit
53e55c2f14
@ -138,7 +138,7 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
|
|
||||||
internal void OnJudgement(DrawableHitObject judgedObject, Judgement judgement)
|
internal void OnJudgement(DrawableHitObject judgedObject, Judgement judgement)
|
||||||
{
|
{
|
||||||
if (!judgement.IsHit || !judgedObject.DisplayJudgement)
|
if (!judgement.IsHit || !judgedObject.DisplayJudgement || !DisplayJudgements)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
explosionContainer.Add(new HitExplosion(judgedObject)
|
explosionContainer.Add(new HitExplosion(judgedObject)
|
||||||
|
@ -8,7 +8,6 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Game.Rulesets.Judgements;
|
|
||||||
using osu.Game.Rulesets.Mania.Beatmaps;
|
using osu.Game.Rulesets.Mania.Beatmaps;
|
||||||
using osu.Game.Rulesets.Objects.Drawables;
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
using osu.Game.Rulesets.Mania.Configuration;
|
using osu.Game.Rulesets.Mania.Configuration;
|
||||||
@ -74,10 +73,5 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
{
|
{
|
||||||
maniaConfig.BindWith(ManiaSetting.ScrollTime, VisibleTimeRange);
|
maniaConfig.BindWith(ManiaSetting.ScrollTime, VisibleTimeRange);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void OnJudgement(DrawableHitObject judgedObject, Judgement judgement)
|
|
||||||
{
|
|
||||||
getStageByColumn(((ManiaHitObject)judgedObject.HitObject).Column).OnJudgement(judgedObject, judgement);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -163,7 +163,7 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
|
|
||||||
internal void OnJudgement(DrawableHitObject judgedObject, Judgement judgement)
|
internal void OnJudgement(DrawableHitObject judgedObject, Judgement judgement)
|
||||||
{
|
{
|
||||||
if (!judgedObject.DisplayJudgement)
|
if (!judgedObject.DisplayJudgement || !DisplayJudgements)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
judgements.Clear();
|
judgements.Clear();
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
// Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>.
|
|
||||||
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
|
||||||
|
|
||||||
using osu.Game.Rulesets.Osu.UI;
|
|
||||||
|
|
||||||
namespace osu.Game.Rulesets.Osu.Edit
|
|
||||||
{
|
|
||||||
public class OsuEditPlayfield : OsuPlayfield
|
|
||||||
{
|
|
||||||
protected override bool DisplayJudgements => false;
|
|
||||||
}
|
|
||||||
}
|
|
@ -4,7 +4,6 @@
|
|||||||
using osu.Framework.Graphics.Cursor;
|
using osu.Framework.Graphics.Cursor;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Rulesets.Osu.UI;
|
using osu.Game.Rulesets.Osu.UI;
|
||||||
using osu.Game.Rulesets.UI;
|
|
||||||
using OpenTK;
|
using OpenTK;
|
||||||
|
|
||||||
namespace osu.Game.Rulesets.Osu.Edit
|
namespace osu.Game.Rulesets.Osu.Edit
|
||||||
@ -16,8 +15,6 @@ namespace osu.Game.Rulesets.Osu.Edit
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override Playfield CreatePlayfield() => new OsuEditPlayfield();
|
|
||||||
|
|
||||||
protected override Vector2 PlayfieldArea => Vector2.One;
|
protected override Vector2 PlayfieldArea => Vector2.One;
|
||||||
|
|
||||||
protected override CursorContainer CreateCursor() => null;
|
protected override CursorContainer CreateCursor() => null;
|
||||||
|
@ -20,8 +20,6 @@ namespace osu.Game.Rulesets.Osu.UI
|
|||||||
private readonly JudgementContainer<DrawableOsuJudgement> judgementLayer;
|
private readonly JudgementContainer<DrawableOsuJudgement> judgementLayer;
|
||||||
private readonly ConnectionRenderer<OsuHitObject> connectionLayer;
|
private readonly ConnectionRenderer<OsuHitObject> connectionLayer;
|
||||||
|
|
||||||
protected virtual bool DisplayJudgements => true;
|
|
||||||
|
|
||||||
public static readonly Vector2 BASE_SIZE = new Vector2(512, 384);
|
public static readonly Vector2 BASE_SIZE = new Vector2(512, 384);
|
||||||
|
|
||||||
public OsuPlayfield()
|
public OsuPlayfield()
|
||||||
|
@ -226,6 +226,9 @@ namespace osu.Game.Rulesets.Taiko.UI
|
|||||||
|
|
||||||
internal void OnJudgement(DrawableHitObject judgedObject, Judgement judgement)
|
internal void OnJudgement(DrawableHitObject judgedObject, Judgement judgement)
|
||||||
{
|
{
|
||||||
|
if (!DisplayJudgements)
|
||||||
|
return;
|
||||||
|
|
||||||
if (judgedObject.DisplayJudgement && judgementContainer.FirstOrDefault(j => j.JudgedObject == judgedObject) == null)
|
if (judgedObject.DisplayJudgement && judgementContainer.FirstOrDefault(j => j.JudgedObject == judgedObject) == null)
|
||||||
{
|
{
|
||||||
judgementContainer.Add(new DrawableTaikoJudgement(judgement, judgedObject)
|
judgementContainer.Add(new DrawableTaikoJudgement(judgement, judgedObject)
|
||||||
|
@ -5,6 +5,7 @@ using System;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using Microsoft.EntityFrameworkCore.Storage;
|
using Microsoft.EntityFrameworkCore.Storage;
|
||||||
|
using osu.Framework.Extensions.IEnumerableExtensions;
|
||||||
using osu.Framework.Platform;
|
using osu.Framework.Platform;
|
||||||
|
|
||||||
namespace osu.Game.Database
|
namespace osu.Game.Database
|
||||||
@ -115,7 +116,11 @@ namespace osu.Game.Database
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void recycleThreadContexts() => threadContexts = new ThreadLocal<OsuDbContext>(CreateContext);
|
private void recycleThreadContexts()
|
||||||
|
{
|
||||||
|
threadContexts?.Values.ForEach(c => c.Dispose());
|
||||||
|
threadContexts = new ThreadLocal<OsuDbContext>(CreateContext, true);
|
||||||
|
}
|
||||||
|
|
||||||
protected virtual OsuDbContext CreateContext() => new OsuDbContext(storage.GetDatabaseConnectionString(database_name))
|
protected virtual OsuDbContext CreateContext() => new OsuDbContext(storage.GetDatabaseConnectionString(database_name))
|
||||||
{
|
{
|
||||||
@ -127,8 +132,6 @@ namespace osu.Game.Database
|
|||||||
lock (writeLock)
|
lock (writeLock)
|
||||||
{
|
{
|
||||||
recycleThreadContexts();
|
recycleThreadContexts();
|
||||||
GC.Collect();
|
|
||||||
GC.WaitForPendingFinalizers();
|
|
||||||
storage.DeleteDatabase(database_name);
|
storage.DeleteDatabase(database_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -224,7 +224,7 @@ namespace osu.Game
|
|||||||
// todo: we probably want a better (non-destructive) migrations/recovery process at a later point than this.
|
// todo: we probably want a better (non-destructive) migrations/recovery process at a later point than this.
|
||||||
contextFactory.ResetDatabase();
|
contextFactory.ResetDatabase();
|
||||||
|
|
||||||
Logger.Log("Database purged successfully.", LoggingTarget.Database, LogLevel.Important);
|
Logger.Log("Database purged successfully.", LoggingTarget.Database);
|
||||||
|
|
||||||
// only run once more, then hard bail.
|
// only run once more, then hard bail.
|
||||||
using (var db = contextFactory.GetForWrite(false))
|
using (var db = contextFactory.GetForWrite(false))
|
||||||
|
@ -110,6 +110,13 @@ namespace osu.Game.Rulesets.Edit
|
|||||||
toolboxCollection.Items[0].Select();
|
toolboxCollection.Items[0].Select();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void LoadComplete()
|
||||||
|
{
|
||||||
|
base.LoadComplete();
|
||||||
|
|
||||||
|
rulesetContainer.Playfield.DisplayJudgements.Value = false;
|
||||||
|
}
|
||||||
|
|
||||||
protected override void UpdateAfterChildren()
|
protected override void UpdateAfterChildren()
|
||||||
{
|
{
|
||||||
base.UpdateAfterChildren();
|
base.UpdateAfterChildren();
|
||||||
|
@ -5,6 +5,7 @@ using System.Collections.Generic;
|
|||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Game.Rulesets.Objects.Drawables;
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
|
using osu.Framework.Configuration;
|
||||||
|
|
||||||
namespace osu.Game.Rulesets.UI
|
namespace osu.Game.Rulesets.UI
|
||||||
{
|
{
|
||||||
@ -21,6 +22,11 @@ namespace osu.Game.Rulesets.UI
|
|||||||
public IReadOnlyList<Playfield> NestedPlayfields => nestedPlayfields;
|
public IReadOnlyList<Playfield> NestedPlayfields => nestedPlayfields;
|
||||||
private List<Playfield> nestedPlayfields;
|
private List<Playfield> nestedPlayfields;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Whether judgements should be displayed by this and and all nested <see cref="Playfield"/>s.
|
||||||
|
/// </summary>
|
||||||
|
public readonly BindableBool DisplayJudgements = new BindableBool(true);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A container for keeping track of DrawableHitObjects.
|
/// A container for keeping track of DrawableHitObjects.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -73,6 +79,8 @@ namespace osu.Game.Rulesets.UI
|
|||||||
nestedPlayfields = new List<Playfield>();
|
nestedPlayfields = new List<Playfield>();
|
||||||
|
|
||||||
nestedPlayfields.Add(otherPlayfield);
|
nestedPlayfields.Add(otherPlayfield);
|
||||||
|
|
||||||
|
otherPlayfield.DisplayJudgements.BindTo(DisplayJudgements);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -79,8 +79,13 @@ namespace osu.Game.Screens.Select.Carousel
|
|||||||
public override void Filter(FilterCriteria criteria)
|
public override void Filter(FilterCriteria criteria)
|
||||||
{
|
{
|
||||||
base.Filter(criteria);
|
base.Filter(criteria);
|
||||||
InternalChildren.Sort((x, y) => x.CompareTo(criteria, y));
|
|
||||||
InternalChildren.ForEach(c => c.Filter(criteria));
|
var children = new List<CarouselItem>(InternalChildren);
|
||||||
|
|
||||||
|
children.Sort((x, y) => x.CompareTo(criteria, y));
|
||||||
|
children.ForEach(c => c.Filter(criteria));
|
||||||
|
|
||||||
|
InternalChildren = children;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void ChildItemStateChanged(CarouselItem item, CarouselItemState value)
|
protected virtual void ChildItemStateChanged(CarouselItem item, CarouselItemState value)
|
||||||
|
@ -62,8 +62,17 @@ namespace osu.Game.Tests.Visual
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (localStorage.IsValueCreated)
|
if (localStorage.IsValueCreated)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
localStorage.Value.DeleteDirectory(".");
|
localStorage.Value.DeleteDirectory(".");
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// we don't really care if this fails; it will just leave folders lying around from test runs.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected override ITestCaseTestRunner CreateRunner() => new OsuTestCaseTestRunner();
|
protected override ITestCaseTestRunner CreateRunner() => new OsuTestCaseTestRunner();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user