using OpenTK;
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.ControlPoints;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace osu.Game.Rulesets.Shape.Objects
{
public class BaseShape : ShapeHitObject
{
public override HitObjectType Type => HitObjectType.Shape;
public Vector2 StartPosition { get; set; }
public float ShapeSize { get; set; } = 40;
public int ShapeID { get; set; }
///
/// The hit window that results in a "GREAT" hit.
///
public double HitWindowGreat = 35;
///
/// The hit window that results in a "GOOD" hit.
///
public double HitWindowGood = 80;
///
/// The hit window that results in a "MISS".
///
public double HitWindowMiss = 95;
protected override void ApplyDefaultsToSelf(ControlPointInfo controlPointInfo, BeatmapDifficulty difficulty)
{
base.ApplyDefaultsToSelf(controlPointInfo, difficulty);
HitWindowGreat = BeatmapDifficulty.DifficultyRange(difficulty.OverallDifficulty, 50, 35, 20);
HitWindowGood = BeatmapDifficulty.DifficultyRange(difficulty.OverallDifficulty, 120, 80, 50);
HitWindowMiss = BeatmapDifficulty.DifficultyRange(difficulty.OverallDifficulty, 135, 95, 70);
}
}
}