2021-07-19 21:15:35 +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.
|
|
|
|
|
|
|
|
using osu.Game.Rulesets.Catch.Objects;
|
|
|
|
|
|
|
|
#nullable enable
|
|
|
|
|
|
|
|
namespace osu.Game.Rulesets.Catch.Edit.Blueprints.Components
|
|
|
|
{
|
2021-07-21 12:17:13 +08:00
|
|
|
/// <summary>
|
|
|
|
/// Holds the state of a vertex in the path of a <see cref="EditablePath"/>.
|
|
|
|
/// </summary>
|
2021-07-19 21:15:35 +08:00
|
|
|
public class VertexState
|
|
|
|
{
|
2021-07-21 12:17:13 +08:00
|
|
|
/// <summary>
|
|
|
|
/// Whether the vertex is selected.
|
|
|
|
/// </summary>
|
2021-07-19 21:15:35 +08:00
|
|
|
public bool IsSelected { get; set; }
|
|
|
|
|
2021-07-21 12:17:13 +08:00
|
|
|
/// <summary>
|
|
|
|
/// Whether the vertex can be moved or deleted.
|
|
|
|
/// </summary>
|
2021-07-19 21:15:35 +08:00
|
|
|
public bool IsFixed { get; set; }
|
|
|
|
|
2021-07-21 12:17:13 +08:00
|
|
|
/// <summary>
|
|
|
|
/// The position of the vertex before a vertex moving operation starts.
|
|
|
|
/// This is used to implement "memory-less" moving operations (only the final position matters) to improve UX.
|
|
|
|
/// </summary>
|
2021-07-19 21:15:35 +08:00
|
|
|
public JuiceStreamPathVertex VertexBeforeChange { get; set; }
|
|
|
|
}
|
|
|
|
}
|