Esempio n. 1
0
        protected WorkingBeatmap(BeatmapInfo beatmapInfo)
        {
            BeatmapInfo    = beatmapInfo;
            BeatmapSetInfo = beatmapInfo.BeatmapSet;
            Metadata       = beatmapInfo.Metadata ?? BeatmapSetInfo?.Metadata ?? new BeatmapMetadata();

            Mods.ValueChanged += mods => applyRateAdjustments();

            beatmap = new RecyclableLazy <IBeatmap>(() =>
            {
                var b = GetBeatmap() ?? new Beatmap();
                // use the database-backed info.
                b.BeatmapInfo = BeatmapInfo;
                return(b);
            });

            track = new RecyclableLazy <Track>(() =>
            {
                // we want to ensure that we always have a track, even if it's a fake one.
                var t = GetTrack() ?? new VirtualBeatmapTrack(Beatmap);
                applyRateAdjustments(t);
                return(t);
            });

            background = new RecyclableLazy <Texture>(GetBackground, BackgroundStillValid);
            waveform   = new RecyclableLazy <Waveform>(GetWaveform);
            storyboard = new RecyclableLazy <Storyboard>(GetStoryboard);
            skin       = new RecyclableLazy <Skin>(GetSkin);
        }
Esempio n. 2
0
        protected WorkingBeatmap(BeatmapInfo beatmapInfo)
        {
            BeatmapInfo    = beatmapInfo;
            BeatmapSetInfo = beatmapInfo.BeatmapSet;
            Metadata       = beatmapInfo.Metadata ?? BeatmapSetInfo?.Metadata ?? new BeatmapMetadata();

            Mods.ValueChanged += _ => applyRateAdjustments();

            beatmap = new RecyclableLazy <IBeatmap>(() =>
            {
                var b = GetBeatmap() ?? new Beatmap();

                // The original beatmap version needs to be preserved as the database doesn't contain it
                BeatmapInfo.BeatmapVersion = b.BeatmapInfo.BeatmapVersion;

                // Use the database-backed info for more up-to-date values (beatmap id, ranked status, etc)
                b.BeatmapInfo = BeatmapInfo;

                return(b);
            });

            track = new RecyclableLazy <Track>(() =>
            {
                // we want to ensure that we always have a track, even if it's a fake one.
                var t = GetTrack() ?? new VirtualBeatmapTrack(Beatmap);
                applyRateAdjustments(t);
                return(t);
            });

            background = new RecyclableLazy <Texture>(GetBackground, BackgroundStillValid);
            waveform   = new RecyclableLazy <Waveform>(GetWaveform);
            storyboard = new RecyclableLazy <Storyboard>(GetStoryboard);
            skin       = new RecyclableLazy <Skin>(GetSkin);
        }
Esempio n. 3
0
        protected WorkingBeatmap(BeatmapInfo beatmapInfo)
        {
            BeatmapInfo    = beatmapInfo;
            BeatmapSetInfo = beatmapInfo.BeatmapSet;
            Metadata       = beatmapInfo.Metadata ?? BeatmapSetInfo?.Metadata ?? new BeatmapMetadata();

            beatmap = new RecyclableLazy <IBeatmap>(() =>
            {
                var b = GetBeatmap() ?? new Beatmap();

                // The original beatmap version needs to be preserved as the database doesn't contain it
                BeatmapInfo.BeatmapVersion = b.BeatmapInfo.BeatmapVersion;

                // Use the database-backed info for more up-to-date values (beatmap id, ranked status, etc)
                b.BeatmapInfo = BeatmapInfo;

                return(b);
            });

            track      = new RecyclableLazy <Track>(() => GetTrack() ?? new VirtualBeatmapTrack(Beatmap));
            background = new RecyclableLazy <Texture>(GetBackground, BackgroundStillValid);
            waveform   = new RecyclableLazy <Waveform>(GetWaveform);
            storyboard = new RecyclableLazy <Storyboard>(GetStoryboard);
            skin       = new RecyclableLazy <Skin>(GetSkin);
        }
Esempio n. 4
0
        protected WorkingBeatmap(BeatmapInfo beatmapInfo, AudioManager audioManager)
        {
            AudioManager   = audioManager;
            BeatmapInfo    = beatmapInfo;
            BeatmapSetInfo = beatmapInfo.BeatmapSet;
            Metadata       = beatmapInfo.Metadata ?? BeatmapSetInfo?.Metadata ?? new BeatmapMetadata();

            background = new RecyclableLazy <Texture>(GetBackground, BackgroundStillValid);
            waveform   = new RecyclableLazy <Waveform>(GetWaveform);
            storyboard = new RecyclableLazy <Storyboard>(GetStoryboard);
            skin       = new RecyclableLazy <ISkin>(GetSkin);
        }
Esempio n. 5
0
        protected WorkingBeatmap(BeatmapInfo beatmapInfo, AudioManager audioManager)
        {
            AudioManager   = audioManager;
            BeatmapInfo    = beatmapInfo;
            BeatmapSetInfo = beatmapInfo.BeatmapSet;
            Metadata       = beatmapInfo.Metadata ?? BeatmapSetInfo?.Metadata ?? new BeatmapMetadata();

            track      = new RecyclableLazy <Track>(() => GetTrack() ?? GetVirtualTrack(1000));
            background = new RecyclableLazy <Texture>(GetBackground, BackgroundStillValid);
            waveform   = new RecyclableLazy <Waveform>(GetWaveform);
            storyboard = new RecyclableLazy <Storyboard>(GetStoryboard);
            skin       = new RecyclableLazy <ISkin>(GetSkin);

            total_count.Value++;
        }