예제 #1
0
        /// <summary>
        /// Create a new <see cref="WorkingBeatmap"/>.
        /// </summary>
        public WorkingBeatmap CreateNew(RulesetInfo ruleset, APIUser user)
        {
            var metadata = new BeatmapMetadata
            {
                Author = user,
            };

            var set = new BeatmapSetInfo
            {
                Metadata = metadata,
                Beatmaps =
                {
                    new BeatmapInfo
                    {
                        BaseDifficulty           = new BeatmapDifficulty(),
                        Ruleset                  = ruleset,
                        Metadata                 = metadata,
                        WidescreenStoryboard     = true,
                        SamplesMatchPlaybackRate = true,
                    }
                }
            };

            var imported = beatmapModelManager.Import(set).Result.Value;

            return(GetWorkingBeatmap(imported.Beatmaps.First()));
        }
예제 #2
0
        public WorkingBeatmap CreateNew(RulesetInfo ruleset, APIUser user)
        {
            var metadata = new BeatmapMetadata
            {
                Author = new RealmUser
                {
                    OnlineID = user.OnlineID,
                    Username = user.Username,
                }
            };

            var beatmapSet = new BeatmapSetInfo
            {
                Beatmaps =
                {
                    new BeatmapInfo(ruleset, new BeatmapDifficulty(), metadata)
                }
            };

            foreach (BeatmapInfo b in beatmapSet.Beatmaps)
            {
                b.BeatmapSet = beatmapSet;
            }

            var imported = beatmapModelManager.Import(beatmapSet);

            if (imported == null)
            {
                throw new InvalidOperationException("Failed to import new beatmap");
            }

            return(imported.PerformRead(s => GetWorkingBeatmap(s.Beatmaps.First())));
        }