public override List <ManiaBaseHit> Convert(List <HitObject> input) { List <ManiaBaseHit> output = new List <ManiaBaseHit>(); foreach (HitObject i in input) { ManiaBaseHit h = i as ManiaBaseHit; if (h == null) { OsuBaseHit o = i as OsuBaseHit; if (o == null) { throw new HitObjectConvertException(@"Mania", i); } h = new Note { StartTime = o.StartTime, Column = (int)Math.Round(o.Position.X / 512 * columns) }; } output.Add(h); } return(output); }
public override List <CatchBaseHit> Convert(List <HitObject> input) { List <CatchBaseHit> output = new List <CatchBaseHit>(); foreach (HitObject i in input) { CatchBaseHit h = i as CatchBaseHit; if (h == null) { OsuBaseHit o = i as OsuBaseHit; if (o == null) { throw new HitObjectConvertException(@"Catch", i); } h = new Fruit { StartTime = o.StartTime, Position = o.Position.X, }; } output.Add(h); } return(output); }
public override List <TaikoBaseHit> Convert(List <HitObject> input) { List <TaikoBaseHit> output = new List <TaikoBaseHit>(); foreach (HitObject i in input) { TaikoBaseHit h = i as TaikoBaseHit; if (h == null) { OsuBaseHit o = i as OsuBaseHit; if (o == null) { throw new HitObjectConvertException(@"Taiko", i); } h = new TaikoBaseHit { StartTime = o.StartTime, }; } output.Add(h); } return(output); }
public static HitObject Parse(PlayMode mode, string val) { //TODO: move to modular HitObjectParser system rather than static parsing. (https://github.com/ppy/osu/pull/60/files#r83135780) switch (mode) { case PlayMode.Osu: return(OsuBaseHit.Parse(val)); default: return(null); } }
private TaikoBaseHit convertForTaiko(HitObject input) { TaikoBaseHit h = input as TaikoBaseHit; if (h == null) { OsuBaseHit o = input as OsuBaseHit; if (o == null) { throw new Exception(@"Can't convert!"); } h = new TaikoBaseHit() { StartTime = o.StartTime }; } return(h); }
private ManiaBaseHit convertForMania(HitObject input) { ManiaBaseHit h = input as ManiaBaseHit; if (h == null) { OsuBaseHit o = input as OsuBaseHit; if (o == null) { throw new Exception(@"Can't convert!"); } h = new Note() { StartTime = o.StartTime, Column = (int)Math.Round(o.Position.X / 512 * columns) }; } return(h); }
private CatchBaseHit convertForCatch(HitObject input) { CatchBaseHit h = input as CatchBaseHit; if (h == null) { OsuBaseHit o = input as OsuBaseHit; if (o == null) { throw new Exception(@"Can't convert!"); } h = new Fruit() { StartTime = o.StartTime, Position = o.Position.X }; } return(h); }
public DrawableCircle(Circle h) : base(h) { this.h = h; Origin = Anchor.Centre; Alpha = 0; Position = h.Position; Scale = new Vector2(0.4f); Children = new Framework.Graphics.Drawable[] { glow = new GlowPart() { Colour = h.Colour, }, circle = new CirclePart() { Colour = h.Colour, Hit = delegate { State = ArmedState.Armed; } }, number = new NumberPart(), ring = new RingPart(), flash = new FlashPart(), explode = new ExplodePart() { Colour = h.Colour }, approachCircle = new Sprite { Anchor = Anchor.Centre, Origin = Anchor.Centre, Colour = h.Colour } }; Size = new Vector2(100); }
public DrawableCircle(Circle h) : base(h) { this.h = h; Origin = Anchor.Centre; RelativePositionAxes = Axes.Both; Position = new Vector2(h.Position.X / 512, h.Position.Y / 384); Children = new Framework.Graphics.Drawable[] { glow = new GlowLayer { Colour = h.Colour }, circle = new CircleLayer { Colour = h.Colour, Hit = Hit, }, number = new NumberLayer(), ring = new RingLayer(), flash = new FlashLayer(), explode = new ExplodeLayer { Colour = h.Colour, }, approachCircle = new Sprite { Anchor = Anchor.Centre, Origin = Anchor.Centre, Colour = h.Colour } }; //may not be so correct Size = circle.DrawSize; }