2019-01-24 16:43:03 +08:00
|
|
|
|
// 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.
|
2018-07-05 21:48:54 +08:00
|
|
|
|
|
2022-06-17 15:37:17 +08:00
|
|
|
|
#nullable disable
|
|
|
|
|
|
2018-07-05 21:48:54 +08:00
|
|
|
|
using osu.Framework.Graphics.Containers;
|
2021-09-14 13:44:23 +08:00
|
|
|
|
using osu.Game.Extensions;
|
2018-07-05 21:48:54 +08:00
|
|
|
|
|
|
|
|
|
namespace osu.Game.Graphics.Containers
|
|
|
|
|
{
|
2018-07-06 11:13:23 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// A container that adds the ability to shake its contents.
|
|
|
|
|
/// </summary>
|
2018-07-05 21:48:54 +08:00
|
|
|
|
public class ShakeContainer : Container
|
|
|
|
|
{
|
2018-12-04 19:33:29 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// The length of a single shake.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public float ShakeDuration = 80;
|
|
|
|
|
|
2018-07-06 11:13:23 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Shake the contents of this container.
|
|
|
|
|
/// </summary>
|
2018-07-06 16:24:30 +08:00
|
|
|
|
/// <param name="maximumLength">The maximum length the shake should last.</param>
|
2021-09-14 13:44:23 +08:00
|
|
|
|
public void Shake(double? maximumLength = null) => this.Shake(ShakeDuration, maximumLength: maximumLength);
|
2018-07-05 21:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
}
|