示例#1
0
        private void CheckActivation()
        {
            IDifficultyBeatmap difficultyBeatmap = BS_Utils.Plugin.LevelData.GameplayCoreSceneSetupData.difficultyBeatmap;

            ExtraSongData.DifficultyData difficultyData = Collections.RetrieveDifficultyData(difficultyBeatmap);

            if (difficultyData != null)
            {
                if (Config.swingMode)
                {
                    active = true;
                    ExtraBeatmapData.ParseExtraDataForSong();
                    ScoreSubmission.DisableSubmission("360 Mode");
                }
                else
                {
                    if (difficultyData.additionalDifficultyData._requirements.Contains("360 Mode"))
                    {
                        active = true;
                        ExtraBeatmapData.ParseExtraDataForSong();
                    }
                    else
                    {
                        active = false;
                    }
                }
            }
            else
            {
                active = false;
            }
        }
示例#2
0
        public static ExtraSongData.DifficultyData RetrieveDifficultyData(IDifficultyBeatmap beatmap)
        {
            ExtraSongData songData = null;

            if (beatmap.level is CustomPreviewBeatmapLevel)
            {
                var customLevel = beatmap.level as CustomPreviewBeatmapLevel;
                songData = RetrieveExtraSongData(Hashing.GetCustomLevelHash(customLevel), customLevel.customLevelPath);
            }
            if (songData == null)
            {
                return(null);
            }
            ExtraSongData.DifficultyData diffData = songData._difficulties.FirstOrDefault(x => x._difficulty == beatmap.difficulty && (x._beatmapCharacteristicName == beatmap.parentDifficultyBeatmapSet.beatmapCharacteristic.characteristicNameLocalizationKey || x._beatmapCharacteristicName == beatmap.parentDifficultyBeatmapSet.beatmapCharacteristic.serializedName));
            return(diffData);
        }
示例#3
0
 public static bool HasCinemaSuggestion(this ExtraSongData.DifficultyData difficultyData)
 {
     return(difficultyData.additionalDifficultyData._suggestions.Any(suggestion => suggestion == Plugin.CAPABILITY));
 }
示例#4
0
 public static bool HasCinema(this ExtraSongData.DifficultyData difficultyData)
 {
     return(difficultyData.HasCinemaSuggestion() || difficultyData.HasCinemaRequirement());
 }
示例#5
0
 public static bool HasCinemaRequirement(this ExtraSongData.DifficultyData difficultyData)
 {
     return(difficultyData.additionalDifficultyData._requirements.Any(requirement => requirement == Plugin.CAPABILITY));
 }
示例#6
0
 public static bool DiffHasColors(ExtraSongData.DifficultyData songData)
 {
     return(songData._colorLeft != null || songData._colorRight != null || songData._envColorLeft != null || songData._envColorRight != null ||
            songData._envColorLeftBoost != null || songData._envColorRightBoost != null || songData._obstacleColor != null);
 }