/// <summary> /// Solves the difficulty of a .qua file /// </summary> /// <param name="map"></param> /// <param name="constants"></param> /// <param name="mods"></param> /// <param name="detailedSolve"></param> public DifficultyProcessorKeys(Qua map, StrainConstants constants, ModIdentifier mods = ModIdentifier.None, bool detailedSolve = false) : base(map, constants, mods) { // Cast the current Strain Constants Property to the correct type. StrainConstants = (StrainConstantsKeys)constants; // Don't bother calculating map difficulty if there's less than 2 hit objects if (map.HitObjects.Count < 2) { return; } // Solve for difficulty CalculateDifficulty(mods); // If detailed solving is enabled, expand calculation if (detailedSolve) { // ComputeNoteDensityData(); ComputeForPatternFlags(); } }
/// <summary> /// Constructor /// </summary> /// <param name="map"></param> public DifficultyProcessor(Qua map, StrainConstants constants, ModIdentifier mods = ModIdentifier.None) => Map = map;