2021-04-05 10:41:40 +08:00
|
|
|
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
|
|
|
|
// See the LICENCE file in the repository root for full licence text.
|
|
|
|
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using osu.Framework.Graphics;
|
|
|
|
|
using osu.Framework.Graphics.Sprites;
|
|
|
|
|
using osu.Framework.Graphics.Textures;
|
|
|
|
|
using osu.Framework.Input.Bindings;
|
|
|
|
|
using osu.Game.Beatmaps;
|
|
|
|
|
using osu.Game.Rulesets.Difficulty;
|
|
|
|
|
using osu.Game.Rulesets.Mods;
|
|
|
|
|
using osu.Game.Rulesets.Pippidon.Beatmaps;
|
|
|
|
|
using osu.Game.Rulesets.Pippidon.Mods;
|
|
|
|
|
using osu.Game.Rulesets.Pippidon.UI;
|
|
|
|
|
using osu.Game.Rulesets.UI;
|
|
|
|
|
|
|
|
|
|
namespace osu.Game.Rulesets.Pippidon
|
|
|
|
|
{
|
|
|
|
|
public class PippidonRuleset : Ruleset
|
|
|
|
|
{
|
|
|
|
|
public override string Description => "gather the osu!coins";
|
|
|
|
|
|
|
|
|
|
public override DrawableRuleset CreateDrawableRulesetWith(IBeatmap beatmap, IReadOnlyList<Mod> mods = null) =>
|
|
|
|
|
new DrawablePippidonRuleset(this, beatmap, mods);
|
|
|
|
|
|
|
|
|
|
public override IBeatmapConverter CreateBeatmapConverter(IBeatmap beatmap) =>
|
|
|
|
|
new PippidonBeatmapConverter(beatmap, this);
|
|
|
|
|
|
2021-11-15 17:19:23 +08:00
|
|
|
|
public override DifficultyCalculator CreateDifficultyCalculator(IWorkingBeatmap beatmap) =>
|
2021-04-05 10:41:40 +08:00
|
|
|
|
new PippidonDifficultyCalculator(this, beatmap);
|
|
|
|
|
|
|
|
|
|
public override IEnumerable<Mod> GetModsFor(ModType type)
|
|
|
|
|
{
|
|
|
|
|
switch (type)
|
|
|
|
|
{
|
|
|
|
|
case ModType.Automation:
|
|
|
|
|
return new[] { new PippidonModAutoplay() };
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
return new Mod[] { null };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override string ShortName => "pippidon";
|
|
|
|
|
|
|
|
|
|
public override IEnumerable<KeyBinding> GetDefaultKeyBindings(int variant = 0) => new[]
|
|
|
|
|
{
|
|
|
|
|
new KeyBinding(InputKey.Z, PippidonAction.Button1),
|
|
|
|
|
new KeyBinding(InputKey.X, PippidonAction.Button2),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
public override Drawable CreateIcon() => new Sprite
|
|
|
|
|
{
|
|
|
|
|
Texture = new TextureStore(new TextureLoaderStore(CreateResourceStore()), false).Get("Textures/coin"),
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|