mirror of
https://github.com/ppy/osu.git
synced 2025-03-20 03:47:28 +08:00
Make EndTime and RepeatCount settable
This commit is contained in:
parent
dffc58c5fa
commit
cd6902a312
@ -36,7 +36,11 @@ namespace osu.Game.Rulesets.Catch.Objects
|
||||
}
|
||||
}
|
||||
|
||||
public double EndTime => StartTime + Duration;
|
||||
public double EndTime
|
||||
{
|
||||
get => StartTime + Duration;
|
||||
set => Duration = value - StartTime;
|
||||
}
|
||||
|
||||
public double Duration { get; set; }
|
||||
}
|
||||
|
@ -110,7 +110,11 @@ namespace osu.Game.Rulesets.Catch.Objects
|
||||
}
|
||||
}
|
||||
|
||||
public double EndTime => StartTime + this.SpanCount() * Path.Distance / Velocity;
|
||||
public double EndTime
|
||||
{
|
||||
get => StartTime + this.SpanCount() * Path.Distance / Velocity;
|
||||
set => throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public float EndX => X + this.CurvePositionAt(1).X / CatchPlayfield.BASE_WIDTH;
|
||||
|
||||
|
@ -15,7 +15,11 @@ namespace osu.Game.Rulesets.Mania.Objects
|
||||
/// </summary>
|
||||
public class HoldNote : ManiaHitObject, IHasEndTime
|
||||
{
|
||||
public double EndTime => StartTime + Duration;
|
||||
public double EndTime
|
||||
{
|
||||
get => StartTime + Duration;
|
||||
set => Duration = value - StartTime;
|
||||
}
|
||||
|
||||
private double duration;
|
||||
|
||||
|
@ -18,7 +18,12 @@ namespace osu.Game.Rulesets.Osu.Objects
|
||||
{
|
||||
public class Slider : OsuHitObject, IHasCurve
|
||||
{
|
||||
public double EndTime => StartTime + this.SpanCount() * Path.Distance / Velocity;
|
||||
public double EndTime
|
||||
{
|
||||
get => StartTime + this.SpanCount() * Path.Distance / Velocity;
|
||||
set => throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public double Duration => EndTime - StartTime;
|
||||
|
||||
private readonly Cached<Vector2> endPositionCache = new Cached<Vector2>();
|
||||
@ -81,7 +86,7 @@ namespace osu.Game.Rulesets.Osu.Objects
|
||||
set
|
||||
{
|
||||
repeatCount = value;
|
||||
endPositionCache.Invalidate();
|
||||
updateNestedPositions();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,11 @@ namespace osu.Game.Rulesets.Taiko.Objects
|
||||
/// </summary>
|
||||
private const float base_distance = 100;
|
||||
|
||||
public double EndTime => StartTime + Duration;
|
||||
public double EndTime
|
||||
{
|
||||
get => StartTime + Duration;
|
||||
set => Duration = value - StartTime;
|
||||
}
|
||||
|
||||
public double Duration { get; set; }
|
||||
|
||||
|
@ -11,7 +11,11 @@ namespace osu.Game.Rulesets.Taiko.Objects
|
||||
{
|
||||
public class Swell : TaikoHitObject, IHasEndTime
|
||||
{
|
||||
public double EndTime => StartTime + Duration;
|
||||
public double EndTime
|
||||
{
|
||||
get => StartTime + Duration;
|
||||
set => Duration = value - StartTime;
|
||||
}
|
||||
|
||||
public double Duration { get; set; }
|
||||
|
||||
|
@ -26,7 +26,12 @@ namespace osu.Game.Rulesets.Objects.Legacy
|
||||
public List<IList<HitSampleInfo>> NodeSamples { get; set; }
|
||||
public int RepeatCount { get; set; }
|
||||
|
||||
public double EndTime => StartTime + this.SpanCount() * Distance / Velocity;
|
||||
public double EndTime
|
||||
{
|
||||
get => StartTime + this.SpanCount() * Distance / Velocity;
|
||||
set => throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public double Duration => EndTime - StartTime;
|
||||
|
||||
public double Velocity = 1;
|
||||
|
@ -1,6 +1,8 @@
|
||||
// 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 Newtonsoft.Json;
|
||||
|
||||
namespace osu.Game.Rulesets.Objects.Types
|
||||
{
|
||||
/// <summary>
|
||||
@ -11,7 +13,8 @@ namespace osu.Game.Rulesets.Objects.Types
|
||||
/// <summary>
|
||||
/// The time at which the HitObject ends.
|
||||
/// </summary>
|
||||
double EndTime { get; }
|
||||
[JsonIgnore]
|
||||
double EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The duration of the HitObject.
|
||||
|
@ -14,7 +14,7 @@ namespace osu.Game.Rulesets.Objects.Types
|
||||
/// <summary>
|
||||
/// The amount of times the HitObject repeats.
|
||||
/// </summary>
|
||||
int RepeatCount { get; }
|
||||
int RepeatCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The samples to be played when each node of the <see cref="IHasRepeats"/> is hit.<br />
|
||||
|
Loading…
x
Reference in New Issue
Block a user