/// <summary> /// Constructor /// </summary> /// <param name="startPos">Start Position</param> /// <param name="time">Time (Millisecond)</param> /// <param name="hitSound">HitObjectSound</param> /// <param name="prevPoint">Previous Point</param> /// <param name="mpb">Milliseconds per beat</param> public Triple(Vector2 startPos, int time, HitObjectSoundType hitSound, Vector2 prevPoint, float mpb, Difficulty difficulty) // Simplest pattern, let's implement this first. { totalLength = difficulty.baseCircleTimestamp * 2.0f; // NoteDuration.Quarter; subsetLength = difficulty.baseCircleTimestamp / 2.0f; // NoteDuration.Sixteenth; this.mpb = mpb; numObjects = 3; this.HitType = (int)HitObjectType.Normal; this.HitSound = (int)hitSound; // Start at position determined by the first HitCircle. Then determine the rest of the points based off of that position. for (int i = 0; i < numObjects; i++) { if (i == 0) { var hc = new HitCircle(startPos, (int)(time + (subsetLength * i * mpb)), (HitObjectType)HitType, (HitObjectSoundType)HitSound, prevPoint, 10f, false); startPos = hc.Position; hitCircles.Add(hc); continue; } else { Vector2 newPos = new Vector2(startPos.X + xOffset, startPos.Y + yOffset); startPos = newPos; hitCircles.Add(new HitCircle(startPos, (int)(time + (subsetLength * i * mpb)), (HitObjectType)HitType, (HitObjectSoundType)HitSound, prevPoint, 10f, true)); } } }
public SpinnerTaiko(HitObjectManager hom, int startTime, int endTime, HitObjectSoundType soundType) : base(hom, startTime, endTime, soundType) { rotationRequirement = (int)Math.Max(1, (rotationRequirement * 1.65f)); totalRotationRequirement = rotationRequirement; if (ModManager.CheckActive(hitObjectManager.ActiveMods, Mods.DoubleTime)) { rotationRequirement = Math.Max(1, (int)(rotationRequirement * 0.75f)); } if (ModManager.CheckActive(hitObjectManager.ActiveMods, Mods.HalfTime)) { rotationRequirement = Math.Max(1, (int)(rotationRequirement * 1.5f)); } if (hitObjectManager.spriteManager != null) { SpriteBonusCounter.Transformations = new List <Transformation>(SpriteCircleTop.Transformations); SpriteBonusCounter.Text = (rotationRequirement + 1).ToString(); WarningIcon = new pSprite(TextureManager.Load("spinner-warning"), Fields.GamefieldWide, Origins.Centre, Clocks.Audio, Position, SpriteManager.drawOrderBwd(StartTime + 1), false, Color.White); SpriteCollection.Add(WarningIcon); WarningIcon.TagNumeric = -5; DimCollection.Add(WarningIcon); WarningIcon.Transformations.Add( new Transformation(TransformationType.Fade, 0, 1, startTime - hitObjectManager.PreEmpt, startTime - (int)(hitObjectManager.PreEmpt * 0.6))); } Kiai = false; }
internal SpinnerFruits(HitObjectManager hom, int startTime, int endTime, HitObjectSoundType soundType) : base(hom, startTime, endTime, soundType) { HitFactoryFruits hitFactoryFruits = hitObjectManager.hitFactory as HitFactoryFruits; bool first = true; float var = (endTime - startTime); while (var > 100) { var /= 2; } if (var <= 0) { return; } int count = 0; for (float j = startTime; j <= endTime; j += var) { HitCircleFruitsSpin f = new HitCircleFruitsSpin(hitObjectManager, new Vector2(hitFactoryFruits.random.Next(0, 512), 0), (int)j, first && this.NewCombo, SoundType, hitFactoryFruits.GetRandomFruit(), count); Fruits.Add(f); first = false; count++; } }
// Token: 0x06002BCB RID: 11211 // RVA: 0x0011C124 File Offset: 0x0011A324 public Class310(Class297 class297_1, Vector2 vector2_1, int int_8, bool bool_14, HitObjectSoundType hitObjectSoundType_0, bool bool_15) : base(class297_1, vector2_1, int_8, bool_14, hitObjectSoundType_0, 0) { this.method_8(false); this.method_10((this.SoundType & ~HitObjectSoundType.Finish & ~HitObjectSoundType.Normal) == HitObjectSoundType.None); float num = this.vmethod_26(); foreach (Class531 current in this.list_1) { current.float_2 *= num; } if (this.method_9()) { base.vmethod_0(new Color(235, 69, 44)); } else { base.vmethod_0(new Color(67, 142, 172)); } if (this.class538_0 != null) { this.class538_0.bool_16 = false; } this.list_1.ForEach(delegate(Class531 class531_4) { class531_4.enum115_0 = Enum115.const_1; }); this.bool_2 = bool_15; }
public override void OnDeserialize(BinaryReader stream, StringCacheTable _) { HitSound = (HitObjectSoundType)stream.ReadByte(); SampleSet = (SampleSetType)stream.ReadByte(); SampleSetAdditions = (SampleSetType)stream.ReadByte(); CustomSampleSet = (CustomSampleSetType)stream.ReadInt32(); }
private static string MakeSoundAdditions(string rep) { HitObjectSoundType sounds = (HitObjectSoundType)Convert.ToInt32(rep); sounds |= HitObjectSoundType.Normal; return(((int)sounds).ToString(nfi)); }
// Token: 0x0600224B RID: 8779 // RVA: 0x000CA684 File Offset: 0x000C8884 public Class313(Class297 class297_1, int int_12, int int_13, int int_14, HitObjectSoundType hitObjectSoundType_2) : base(class297_1, int_12, int_13, hitObjectSoundType_2) { int_12 = this.class409_0; this.SoundType = hitObjectSoundType_2; this.hitObjectSoundType_1 = hitObjectSoundType_2; this.hitObjectSoundType_0 = hitObjectSoundType_2; this.enum47_0 = Enum47.const_1; this.EndTime = int_14; this.bool_10 = true; if (!class297_1.class421_0.method_10()) { this.class538_0.method_55(base.method_8(string.Format("NoteImage{0}H", int_12), this.class409_0.method_19() + "H")); this.class538_0.method_43(class297_1.class421_0.class546_0.method_11(int_12, "H", this.class538_0.method_42())); base.method_9(this.class538_0); this.class538_2 = new Class538(base.method_8(string.Format("NoteImage{0}T", int_12), this.class409_0.method_19() + "T") ?? this.class538_0.method_54(), Enum115.const_5, this.class538_0.origins_0, Enum114.const_1, this.Position, 0.7975f, false, Color.get_White()); this.class538_2.float_3 = this.class538_0.float_3; this.class538_2.method_43(!class297_1.class421_0.class546_0.method_11(int_12, "T", true)); base.method_9(this.class538_2); this.list_1.Add(this.class538_2); this.class538_1 = new Class538(base.method_8(string.Format("NoteImage{0}L", int_12), this.class409_0.method_19() + "L"), Enum115.const_5, this.class538_0.origins_0, Enum114.const_1, this.Position, 0.795f, false, Color.get_White()); this.class538_1.float_3 = this.class538_0.float_3; this.class538_1.method_53(30.0); this.class538_1.bool_16 = false; this.class538_1.method_43(class297_1.class421_0.class546_0.method_11(int_12, "L", true)); base.method_9(this.class538_1); this.list_1.Add(this.class538_1); } }
public HitSoundInfo(HitObjectSoundType SoundType, SampleSet SampleSet, CustomSampleSet CustomSampleSet, int Volume, SampleSet SampleSetAdditions = SampleSet.None) { this.SoundType = SoundType; this.SampleSet = SampleSet; this.SampleSetAdditions = SampleSetAdditions; this.CustomSampleSet = CustomSampleSet; this.Volume = Volume; }
/// <summary> /// Constructor /// </summary> /// <param name="x">X-position</param> /// <param name="y">Y-position</param> /// <param name="time">Time (Millisecond)</param> /// <param name="hitType">HitObjectType</param> /// <param name="hitsound">HitObjectSoundType</param> /// <param name="endTime">End Time of the Spinner</param> public HitSpinner(int x, int y, int time, HitObjectType hitType, HitObjectSoundType hitsound, int endTime) { Position = new Vector2(x, y); this.Time = time; this.HitType = (int)hitType; this.HitSound = (int)hitsound; this.EndTime = endTime; }
public HitSoundInfo(double Time, HitObjectSoundType SoundType, SampleSetType SampleSet, CustomSampleSetType CustomSampleSet, SampleSetType SampleSetAdditions = SampleSetType.None) { this.SoundType = SoundType; this.SampleSet = SampleSet; this.SampleSetAdditions = SampleSetAdditions; this.CustomSampleSet = CustomSampleSet; this.Time = Time; }
// Token: 0x06003414 RID: 13332 // RVA: 0x000264D7 File Offset: 0x000246D7 public Struct69(HitObjectSoundType hitObjectSoundType_1, SampleSet sampleSet_2, Enum38 enum38_1, int int_1, SampleSet sampleSet_3) { this.hitObjectSoundType_0 = hitObjectSoundType_1; this.sampleSet_0 = sampleSet_2; this.sampleSet_1 = sampleSet_3; this.enum38_0 = enum38_1; this.int_0 = int_1; }
// Token: 0x06003415 RID: 13333 // RVA: 0x000264FE File Offset: 0x000246FE public static Struct69 smethod_0(HitObjectSoundType hitObjectSoundType_1, SampleSet sampleSet_2, Enum38 enum38_1, int int_1, SampleSet sampleSet_3) { if (hitObjectSoundType_1 == HitObjectSoundType.None || (Class885.class547_0.bool_6 && Class466.Current.method_5() != PlayModes.OsuMania)) { hitObjectSoundType_1 |= HitObjectSoundType.Normal; } return new Struct69(hitObjectSoundType_1, sampleSet_2, enum38_1, int_1, sampleSet_3); }
internal override HitCircle CreateHitCircle(Vector2 startPosition, int startTime, bool newCombo, HitObjectSoundType soundType, int comboOffset, SampleSet sampleSet, SampleSet addSet, CustomSampleSet customSampleSet, int volume, string sampleFile) { ControlPoint cp = hitObjectManager.Beatmap.ControlPointAt(startTime + 5); bool kiai = cp != null ? cp.KiaiMode : false; return(new HitCircleTaiko(hitObjectManager, startPosition, startTime, newCombo, soundType, kiai)); }
internal override Slider CreateSlider(Vector2 startPosition, int startTime, bool newCombo, HitObjectSoundType soundType, CurveTypes curveType, int repeatCount, double sliderLength, List <Vector2> sliderPoints, List <HitObjectSoundType> soundTypes, int comboOffset, SampleSet sampleSet, SampleSet addSet, List <SampleSet> sampleSets, List <SampleSet> sampleSetAdditions, CustomSampleSet customSampleSet, int volume, string sampleFile) { SliderMania s; if (hitObjectManager.Beatmap.PlayMode == PlayModes.OsuMania) { s = new SliderMania(hitObjectManager, startPosition, startTime, soundType, repeatCount, sliderLength, sliderPoints, soundTypes, ManiaConvertType.NotChange, prevRow); s.SampleSet = sampleSet; s.SampleSetAdditions = addSet; s.CustomSampleSet = customSampleSet; s.SampleVolume = volume; s.GenerateHitObjects(); s.HitObjects.ForEach(n => n.ProcessSampleFile(sampleFile)); record(startPosition, s.EndTime); } else { ControlPoint cp = hitObjectManager.Beatmap.ControlPointAt(startTime); ManiaConvertType ctype = ManiaConvertType.None; if (cp != null && !cp.KiaiMode) { ctype = ManiaConvertType.LowProbability; } s = new SliderMania(hitObjectManager, startPosition, startTime, soundType, repeatCount, sliderLength, sliderPoints, soundTypes, ctype, prevRow); s.SampleSet = sampleSet; s.SampleSetAdditions = addSet; s.SampleSetList = sampleSets; s.SampleSetAdditionList = sampleSetAdditions; s.CustomSampleSet = customSampleSet; s.SampleVolume = volume; s.GenerateHitObjects(); prevRow = new bool[hitObjectManager.ManiaStage.Columns.Count]; if (s.HitObjects.Count > 1) { foreach (HitCircleMania hb in s.HitObjects.FindAll(h => h.EndTime == s.EndTime)) { prevRow[hb.LogicalColumn] = true; } } else { prevRow[s.HitObjects[0].LogicalColumn] = true; } s.HitObjects.ForEach(n => n.ProcessSampleFile(sampleFile)); int intv = (s.EndTime - startTime) / repeatCount; while (repeatCount-- >= 0) { record(startPosition, startTime); densityUpdate(startTime); startTime += intv; } } return(s); }
public static HitSoundInfo GetLayered(HitObjectSoundType SoundType, SampleSet SampleSet, CustomSampleSet CustomSampleSet, int Volume, SampleSet SampleSetAdditions = SampleSet.None) { if (SoundType == HitObjectSoundType.None || (SkinManager.Current != null && SkinManager.Current.LayeredHitSounds && BeatmapManager.Current != null && BeatmapManager.Current.PlayMode != PlayModes.OsuMania)) { SoundType |= HitObjectSoundType.Normal; } return(new HitSoundInfo(SoundType, SampleSet, CustomSampleSet, Volume, SampleSetAdditions)); }
internal override void ChangeState(State undoState) { SliderOsu s = (SliderOsu)changedObjects[0]; ListHelper.Swap(s.sliderCurvePoints, sliderBackup.sliderCurvePoints); s.ClearPositionOffset(); sliderBackup.ClearPositionOffset(); Vector2 position = s.BasePosition; s.sliderStartCircle.ModifyPosition(sliderBackup.Position); s.Position = s.BasePosition = sliderBackup.Position; sliderBackup.Position = sliderBackup.BasePosition = position; double spatialLength = s.SpatialLength; s.SpatialLength = sliderBackup.SpatialLength; sliderBackup.SpatialLength = spatialLength; int startTime = s.StartTime; int endTime = s.EndTime; s.ModifySliderTime(sliderBackup.StartTime, false); sliderBackup.StartTime = startTime; sliderBackup.EndTime = endTime; bool newCombo = s.NewCombo; s.NewCombo = sliderBackup.NewCombo; sliderBackup.NewCombo = newCombo; HitObjectSoundType soundType = s.SoundType; s.SoundType = sliderBackup.SoundType; sliderBackup.SoundType = soundType; SampleSet ss = s.SampleSet; SampleSet ssa = s.SampleSetAdditions; s.SampleSet = sliderBackup.SampleSet; s.SampleSetAdditions = sliderBackup.SampleSetAdditions; sliderBackup.SampleSet = ss; sliderBackup.SampleSetAdditions = ssa; ListHelper.Swap(s.SoundTypeList, sliderBackup.SoundTypeList); ListHelper.Swap(s.SampleSetList, sliderBackup.SampleSetList); ListHelper.Swap(s.SampleSetAdditionList, sliderBackup.SampleSetAdditionList); s.UpdateCalculations(); ActiveManager.Editor.Compose.UpdateSamples(); ActiveManager.Editor.Compose.UpdateSoundAdditions(); }
public string GetSliderData(Vector2 startPosition, int time, HitObjectType hitType, HitObjectSoundType hitsound, SliderCurveType sliderType, int repeat, float sliderVelocity, int numCurves, float timeSpan) { // Length will determine how long a slider will go on for int len = (int)(sliderVelocity * 100 * timeSpan); var hs = new HitSlider(startPosition, time, hitType, hitsound, sliderType, repeat, sliderVelocity, numCurves, len); return(hs.SerializeForOsu()); }
public Slider(Position position, int startTime, bool isNewCombo = false, HitObjectType type = HitObjectType.Slider, HitObjectSoundType soundType = HitObjectSoundType.Normal) : base(startTime, position, isNewCombo, type, soundType) { SliderType = SliderType.Linear; SegmentCount = 1; ControlPoints = new[] { StartPosition }; PointHitsounds = new List <PointHitsound>(); }
internal override Slider CreateSlider(Vector2 startPosition, int startTime, bool newCombo, HitObjectSoundType soundType, CurveTypes curveType, int repeatCount, double sliderLength, List <Vector2> sliderPoints, List <HitObjectSoundType> soundTypes, int comboOffset, SampleSet sampleSet, SampleSet addSet, List <SampleSet> sampleSets, List <SampleSet> sampleSetAdditions, CustomSampleSet customSampleSet, int volume, string sampleFile) { ControlPoint cp = hitObjectManager.Beatmap.ControlPointAt(startTime + 5); bool kiai = cp != null ? cp.KiaiMode : false; return(new SliderTaiko(hitObjectManager, startPosition, startTime, newCombo, soundType, curveType, repeatCount, sliderLength, sliderPoints, soundTypes, kiai)); }
public HitCircleFruits(HitObjectManager hom, Vector2 startPosition, int startTime, bool newCombo, HitObjectSoundType soundType, string fruit) : base(hom) { Position = new Vector2(OsuMathHelper.Clamp(startPosition.X, 0, GameField.DEFAULT_WIDTH), 340); BasePosition = Position; StartTime = startTime; EndTime = startTime; SoundType = soundType; NewCombo = newCombo; if (hom.spriteManager != null) { SpriteHitCircle1 = new pSprite(TextureManager.Load(@"fruit-" + fruit), Fields.Gamefield, Origins.Centre, Clocks.Audio, Position, SpriteManager.drawOrderBwd(StartTime), false, Color.White); SpriteCollection.Add(SpriteHitCircle1); DimCollection.Add(SpriteHitCircle1); SpriteHitCircle1.TagNumeric = 1; SpriteHitCircle2 = new pSprite(TextureManager.Load(@"fruit-" + fruit + "-overlay"), Fields.Gamefield, Origins.Centre, Clocks.Audio, Position, SpriteManager.drawOrderBwd(StartTime - 1), false, Color.White); SpriteCollection.Add(SpriteHitCircle2); DimCollection.Add(SpriteHitCircle2); SpriteHyperDash = new pSprite(TextureManager.Load(@"fruit-" + fruit), Fields.Gamefield, Origins.Centre, Clocks.Audio, Position, SpriteManager.drawOrderBwd(StartTime + 1), false, Color.TransparentBlack); SpriteHyperDash.Additive = true; SpriteCollection.Add(SpriteHyperDash); DimCollection.Add(SpriteHyperDash); Transformation fall1 = new Transformation(new Vector2(Position.X, -100), new Vector2(Position.X, 340), StartTime - hitObjectManager.PreEmpt, StartTime); fall1.EndVector.Y += (fall1.EndVector.Y - fall1.StartVector.Y) * 0.2f; fall1.Time2 += (int)(fall1.Duration * 0.2f); float rotation = RNG.NextSingle(-0.2f, 0.2f); SpriteCollection.ForEach(s => { s.Transformations.Add(fall1); s.Rotation = rotation; }); if (ModManager.CheckActive(hitObjectManager.ActiveMods, Mods.Hidden)) { Transformation t = new Transformation(TransformationType.Fade, 1, 0, startTime - (int)(hitObjectManager.PreEmpt * 0.6), startTime - (int)(hitObjectManager.PreEmpt * 0.44)); SpriteCollection.ForEach(s => s.Transformations.Add(t)); } } }
protected HitObject(int startTime, Position position, bool isNewcombo, HitObjectType type, HitObjectSoundType soundType) { StartTime = startTime; StartPosition = position; NewCombo = isNewcombo || type.HasFlag(HitObjectType.NewCombo) ? 1 + ((int)(type & HitObjectType.CustomCombo) >> 4) : 0; Type = type ^ (type & (HitObjectType.CustomCombo | HitObjectType.NewCombo)); //take out new combo bits (64, 32, 16 and 4) SoundType = soundType; }
public HitObject(HitObjectManager hitObjectManager, Vector2 position, int startTime, HitObjectSoundType soundType, bool newCombo, int comboOffset) { m_HitObjectManager = hitObjectManager; this.position = position; StartTime = startTime; EndTime = StartTime; SoundType = soundType; NewCombo = newCombo; ComboOffset = comboOffset; }
public HitCircleTaiko(int x, int y, int startTime, bool newCombo, HitObjectSoundType soundType) : base(x, y, startTime, newCombo, soundType) { if ((SoundType & HitObjectSoundType.Finish) == 0) { foreach (pSprite p in SpriteCollection) { p.CurrentScale *= 0.7f; } } }
internal override Spinner CreateSpinner(int startTime, int endTime, HitObjectSoundType soundType, SampleSet sampleSet, SampleSet addSet, CustomSampleSet customSampleSet, int volume, string sampleFile) { SpinnerOsu p = new SpinnerOsu(hitObjectManager, startTime, endTime, soundType); p.SampleSet = sampleSet; p.SampleSetAdditions = addSet; p.CustomSampleSet = customSampleSet; p.SampleVolume = volume; p.ProcessSampleFile(sampleFile); return(p); }
internal override HitCircle CreateHitCircle(Vector2 startPosition, int startTime, bool newCombo, HitObjectSoundType soundType, int comboOffset, SampleSet sampleSet, SampleSet addSet, CustomSampleSet customSampleSet, int volume, string sampleFile) { HitCircleOsu c = new HitCircleOsu(hitObjectManager, startPosition, startTime, newCombo, soundType, comboOffset); c.SampleSet = sampleSet; c.SampleSetAdditions = addSet; c.CustomSampleSet = customSampleSet; c.SampleVolume = volume; c.ProcessSampleFile(sampleFile); return(c); }
public Square(Vector2 startPos, int time, HitObjectSoundType hitSound, Vector2 prevPoint, float mpb, Difficulty difficulty) { numObjects = 4; totalLength = difficulty.baseCircleTimestamp * numObjects + 1; subsetLength = difficulty.baseCircleTimestamp; hitCircles.Add(new HitCircle(startPos, (int)(time + (subsetLength * mpb)), (HitObjectType)HitType, (HitObjectSoundType)HitSound, prevPoint, 10f, false)); hitCircles.Add(new HitCircle(new Vector2(startPos.X + noteDistance, startPos.Y), (int)(time + (subsetLength * 2 * mpb)), (HitObjectType)HitType, (HitObjectSoundType)HitSound, prevPoint, 10f, true)); hitCircles.Add(new HitCircle(new Vector2(startPos.X + noteDistance, startPos.Y + noteDistance), (int)(time + (subsetLength * 3 * mpb)), (HitObjectType)HitType, (HitObjectSoundType)HitSound, prevPoint, 10f, true)); hitCircles.Add(new HitCircle(new Vector2(startPos.X - noteDistance, startPos.Y + noteDistance), (int)(time + (subsetLength * 4 * mpb)), (HitObjectType)HitType, (HitObjectSoundType)HitSound, prevPoint, 10f, true)); }
// Token: 0x06002B97 RID: 11159 // RVA: 0x0011B7E8 File Offset: 0x001199E8 public Class316(Class297 class297_1, Vector2 vector2_2, int int_6, bool bool_8, HitObjectSoundType hitObjectSoundType_0, string string_1) : base(class297_1) { this.Position = new Vector2(Class778.smethod_2(vector2_2.X, 0f, (float)Class115.int_18), 340f); this.vector2_0 = this.Position; this.StartTime = int_6; this.EndTime = int_6; this.SoundType = hitObjectSoundType_0; this.NewCombo = bool_8; if (class297_1.class911_0 != null) { Class316.Class714 class = new Class316.Class714();
internal override HitCircle CreateSpecial(Vector2 startPosition, int startTime, int endTime, bool newCombo, HitObjectSoundType soundType, int comboOffset, SampleSet sampleSet, SampleSet addSet, CustomSampleSet customSampleSet, int volume, string sampleFile) { HitCircleHold h = new HitCircleHold(hitObjectManager, startPosition, startTime, newCombo, (soundType & HitObjectSoundType.Whistle) > 0, (soundType & HitObjectSoundType.Finish) > 0, (soundType & HitObjectSoundType.Clap) > 0, 0); h.SampleSet = sampleSet; h.SampleSetAdditions = addSet; h.CustomSampleSet = customSampleSet; h.EndTime = endTime; h.SampleVolume = volume; h.ProcessSampleFile(sampleFile); return(h); }
internal SpinnerOsu(HitObjectManager hom, int startTime, int endTime, HitObjectSoundType soundType) : base(hom, startTime, endTime, soundType) { if (hom.spriteManager != null) { InitializeSprites(); } UpdateTransformations(); if (hom.spriteManager != null) { InitializeSpritesNoFadeIn(); } }
/// <summary> /// /// </summary> /// <param name="position">Hit object position</param> /// <param name="time">Time (Millisecond)</param> /// <param name="hitType">Hit Object Type</param> /// <param name="hitSound">Hit Object Sound Type</param> /// <param name="prevPoint">Previous Point (Reference)</param> /// <param name="maxDistance">Max distance between HitObjects</param> /// <param name="patternSkip">(Default = false) Determine whether to skip Point Calculation if Cirlce is a part of a pattern.</param> public HitCircle(Vector2 position, int time, HitObjectType hitType, HitObjectSoundType hitSound, Vector2 prevPoint, float maxDistance, bool patternSkip = false) { Position = position; this.Time = time; this.HitType = (int)hitType; this.HitSound = (int)hitSound; this.PrevPos = prevPoint; this.MaxDistance = maxDistance; if (!patternSkip) // Skips caclulating the new point if circle is part of a pattern . { CalculateHitPoint(); } }
public SpinnerTaiko(int startTime, int endTime, HitObjectSoundType soundType) : base(startTime, endTime, soundType, false) { rotationRequirement = (int)Math.Max(1, (rotationRequirement * 1.5f)); if (ModManager.CheckActive(Player.currentScore.enabledMods, Mods.DoubleTime)) { rotationRequirement = Math.Max(1, (int)(rotationRequirement * 0.75f)); } if (ModManager.CheckActive(Player.currentScore.enabledMods, Mods.HalfTime)) { rotationRequirement = Math.Max(1, (int)(rotationRequirement * 1.5f)); } spriteBonus.Transformations = spriteCircle.Transformations; spriteBonus.Text = rotationRequirement.ToString(); }
// Token: 0x060022AB RID: 8875 // RVA: 0x000D04E4 File Offset: 0x000CE6E4 protected Class325(Class297 class297_1, int int_6, int int_7, HitObjectSoundType hitObjectSoundType_0) : base(class297_1) { this.Position = new Vector2((float)(Class115.int_18 / 2), (float)(Class115.int_17 / 2)); this.vector2_0 = this.Position; this.StartTime = int_6; this.EndTime = int_7; this.Type = HitObjectType.Spinner; if (this.class297_0.class296_0.int_6 <= 8) { this.Type |= HitObjectType.NewCombo; } this.SoundType = hitObjectSoundType_0; this.Colour = Color.get_Gray(); }
internal override HitCircle CreateSpecial(Vector2 startPosition, int startTime, int endTime, bool newCombo, HitObjectSoundType soundType, int comboOffset, SampleSet sampleSet, SampleSet addSet, CustomSampleSet customSampleSet, int volume, string sampleFile) { //notice:this type of note is ONLY generated by bms converter or future editor version HitCircleManiaHold h = new HitCircleManiaHold(hitObjectManager, hitObjectManager.ManiaStage.ColumnAt(startPosition), startTime, endTime, soundType); h.SampleSet = sampleSet; h.SampleSetAdditions = addSet; h.CustomSampleSet = customSampleSet; // h.LoadSample(); h.SampleVolume = volume; h.ProcessSampleFile(sampleFile); record(startPosition, endTime); densityUpdate(endTime); return(h); }
internal override Spinner CreateSpinner(int startTime, int endTime, HitObjectSoundType soundType, SampleSet sampleSet, SampleSet addSet, CustomSampleSet customSampleSet, int volume, string sampleFile) { SpinnerMania s; s = new SpinnerMania(hitObjectManager, startTime, endTime, soundType, ManiaConvertType.ForceNotStack, prevRow); s.SampleSet = sampleSet; s.SampleSetAdditions = addSet; s.CustomSampleSet = customSampleSet; s.SampleVolume = volume; s.GenerateHitObjects(); s.HitObjects.ForEach(n => n.ProcessSampleFile(sampleFile)); record(new Vector2(256, 192), endTime); densityUpdate(endTime); return(s); }
protected Spinner(HitObjectManager hom, int startTime, int endTime, HitObjectSoundType soundType) : base(hom) { Position = new Vector2(GameField.DEFAULT_WIDTH / 2, GameField.DEFAULT_HEIGHT / 2); BasePosition = Position; StartTime = startTime; EndTime = endTime; Type = HitObjectType.Spinner; if (hitObjectManager.Beatmap.BeatmapVersion <= 8) { Type |= HitObjectType.NewCombo; } SoundType = soundType; Colour = Color.Gray; }
// Token: 0x0600229E RID: 8862 // RVA: 0x000CF2F8 File Offset: 0x000CD4F8 internal Class322(Class297 class297_1, Vector2 vector2_4, int int_14, HitObjectSoundType hitObjectSoundType_0, int int_15, double double_3, List<Vector2> list_12, List<HitObjectSoundType> list_13, Enum48 enum48_1, bool[] bool_15) : base(class297_1, vector2_4, int_14, false, hitObjectSoundType_0, CurveTypes.Bezier, int_15, double_3, list_12, list_13, 0) { this.class495_0 = (this.class297_0.class494_0 as Class495); this.list_11 = new List<Class312>(); this.EndTime = base.method_8(); this.enum48_0 = enum48_1; this.int_12 = base.Length / int_15; this.class297_0.class421_0.method_43(vector2_4, false); this.bool_14 = bool_15; for (int i = 0; i < bool_15.Length; i++) { if (bool_15[i]) { this.int_13++; } } }
// Token: 0x060022AD RID: 8877 // RVA: 0x000D05AC File Offset: 0x000CE7AC internal Class326(Class297 class297_1, int int_7, int int_8, HitObjectSoundType hitObjectSoundType_0, Enum48 enum48_1, bool[] bool_7) : base(class297_1, int_7, int_8, hitObjectSoundType_0) { this.bool_6 = bool_7; for (int i = 0; i < bool_7.Length; i++) { if (bool_7[i]) { this.int_6++; } } this.enum48_0 = enum48_1; if (this.int_6 == this.class297_0.class421_0.list_0.Count) { this.enum48_0 &= (Enum48)(-3); } this.list_2 = new List<Class312>(); }
internal SpinnerMania(HitObjectManager hom, int startTime, int endTime, HitObjectSoundType soundType, ManiaConvertType convertType, bool[] lastRow) : base(hom, startTime, endTime, soundType) { this.lastRow = lastRow; for (int i = 0; i < lastRow.Length; i++) { if (lastRow[i]) { lastCount++; } } this.convertType = convertType; if (lastCount == hitObjectManager.ManiaStage.Columns.Count) { this.convertType &= ~ManiaConvertType.ForceNotStack; } HitObjects = new List <HitCircleMania>(); }
// Token: 0x060022E9 RID: 8937 // RVA: 0x000D27E0 File Offset: 0x000D09E0 public Class315(Class297 class297_1, Vector2 vector2_1, int int_8, HitObjectSoundType hitObjectSoundType_0, Enum48 enum48_1, bool[] bool_8) : base(class297_1) { this.list_2 = new List<Class312>(); this.enum48_0 = enum48_1; this.bool_6 = bool_8; this.Position = vector2_1; this.vector2_0 = vector2_1; this.StartTime = int_8; this.SoundType = hitObjectSoundType_0; for (int i = 0; i < bool_8.Length; i++) { if (bool_8[i]) { this.int_6++; this.int_7 = i; } } }
// Token: 0x0600212F RID: 8495 // RVA: 0x000C0588 File Offset: 0x000BE788 internal Class478(string string_0) { string text = string_0; SampleSet sampleSet; if (Class558.smethod_0<SampleSet>(text, ref sampleSet) && sampleSet != SampleSet.None) { this.sampleSet_0 = sampleSet; this.bool_0 = true; text = text.Substring(this.sampleSet_0.ToString().Length, text.Length - this.sampleSet_0.ToString().Length); if (Class558.smethod_0<SampleSet>(text, ref sampleSet) && sampleSet != SampleSet.None) { this.sampleSet_1 = sampleSet; this.bool_1 = true; text = text.Substring(this.sampleSet_1.ToString().Length, text.Length - this.sampleSet_1.ToString().Length); } } HitObjectSoundType hitObjectSoundType; if (Class558.smethod_0<HitObjectSoundType>(text, ref hitObjectSoundType) && hitObjectSoundType != HitObjectSoundType.None && hitObjectSoundType != HitObjectSoundType.Normal) { this.hitObjectSoundType_0 = hitObjectSoundType; text = text.Substring(this.hitObjectSoundType_0.ToString().Length, text.Length - this.hitObjectSoundType_0.ToString().Length); } int num; if (int.TryParse(text, out num)) { this.enum38_0 = (Enum38)num; this.bool_2 = true; } if (this.hitObjectSoundType_0 != HitObjectSoundType.None && this.bool_0 && !this.bool_1) { this.sampleSet_1 = this.sampleSet_0; this.sampleSet_0 = SampleSet.All; this.bool_0 = false; this.bool_1 = true; } if (!this.ToString().Equals(this.vmethod_0().ToString() + string_0)) { throw new Exception("Invalid hitsound trigger description after " + this.ToString()); } }
// Token: 0x06002C14 RID: 11284 // RVA: 0x0011D950 File Offset: 0x0011BB50 internal Class323(Class297 class297_1, Vector2 vector2_4, int int_12, bool bool_14, HitObjectSoundType hitObjectSoundType_0, CurveTypes curveTypes_2, int int_13, double double_3, List<Vector2> list_12, List<HitObjectSoundType> list_13, string string_2) : base(class297_1, vector2_4, int_12, bool_14, hitObjectSoundType_0, curveTypes_2, int_13, double_3, list_12, list_13, 0) { this.string_1 = string_2; this.class911_0 = null; }
// Token: 0x06002C23 RID: 11299 // RVA: 0x0011DD0C File Offset: 0x0011BF0C internal Class324(Class297 class297_1, Vector2 vector2_4, int int_13, bool bool_16, HitObjectSoundType hitObjectSoundType_0, CurveTypes curveTypes_2, int int_14, double double_5, List<Vector2> list_12, List<HitObjectSoundType> list_13, bool bool_17) : base(class297_1, vector2_4, int_13, bool_16, hitObjectSoundType_0, curveTypes_2, int_14, double_5, list_12, list_13, 0) { base.vmethod_0(new Color(252, 184, 6)); this.bool_2 = bool_17; }
// Token: 0x06002BB1 RID: 11185 // RVA: 0x0011BCC8 File Offset: 0x00119EC8 public Class317(Class297 class297_1, Vector2 vector2_2, int int_7, bool bool_8, HitObjectSoundType hitObjectSoundType_0, string string_1, int int_8) : base(class297_1, vector2_2, int_7, bool_8, hitObjectSoundType_0, string_1) { Class317.Class717 class = new Class317.Class717();
// Token: 0x060021EF RID: 8687 // RVA: 0x000C886C File Offset: 0x000C6A6C internal Class306(Class297 class297_1, Vector2 vector2_1, int int_7, bool bool_6, HitObjectSoundType hitObjectSoundType_0, int int_8) : this(class297_1, vector2_1, int_7, bool_6, hitObjectSoundType_0.IsType(HitObjectSoundType.Whistle), hitObjectSoundType_0.IsType(HitObjectSoundType.Finish), hitObjectSoundType_0.IsType(HitObjectSoundType.Clap), int_8) { }
// Token: 0x06002306 RID: 8966 // RVA: 0x0001BD02 File Offset: 0x00019F02 public Class314(Class297 class297_1, int int_12, int int_13, int int_14, HitObjectSoundType hitObjectSoundType_2) : base(class297_1, int_12, int_13, int_14, hitObjectSoundType_2) { }
// Token: 0x06002BC6 RID: 11206 // RVA: 0x000216D5 File Offset: 0x0001F8D5 internal Class309(Class297 class297_1, Vector2 vector2_1, int int_7, bool bool_6, HitObjectSoundType hitObjectSoundType_0, int int_8) : base(class297_1, vector2_1, int_7, bool_6, hitObjectSoundType_0, int_8) { }
public static bool IsType(this HitObjectSoundType Type, HitObjectSoundType type) { return (Type & type) > 0; }
// Token: 0x0600223A RID: 8762 internal abstract Class305 vmethod_3(Vector2 vector2_0, int int_0, int int_1, bool bool_0, HitObjectSoundType hitObjectSoundType_0, int int_2, SampleSet sampleSet_0, SampleSet sampleSet_1, Enum38 enum38_0, int int_3, string string_0);
// Token: 0x06002259 RID: 8793 // RVA: 0x000CAD04 File Offset: 0x000C8F04 internal Class321(Class297 class297_1, Vector2 vector2_4, int int_12, bool bool_14, HitObjectSoundType hitObjectSoundType_0, CurveTypes curveTypes_2, int int_13, double double_3, List<Vector2> list_11, List<HitObjectSoundType> list_12, int int_14) : base(class297_1) { this.curveTypes_0 = curveTypes_2; this.curveTypes_1 = curveTypes_2; this.int_0 = int_14; this.class911_0 = this.class297_0.class911_0; this.StartTime = int_12; this.EndTime = int_12; this.Position = vector2_4; this.vector2_0 = vector2_4; this.EndPosition = vector2_4; this.SoundType = hitObjectSoundType_0; if (list_11 == null) { this.list_3 = new List<Vector2>(); this.list_3.Add(this.Position); } else { this.list_3 = list_11; if (this.list_3.Count > 0) { if (this.list_3[0] != this.Position) { this.list_3.Insert(0, this.Position); } } else { this.list_3.Add(this.Position); } } this.SegmentCount = Math.Max(1, int_13); this.bool_10 = (list_12 == null || list_12.Count == 0); if (!this.bool_10) { this.list_8 = list_12; this.list_9 = new List<SampleSet>(int_13 + 1); this.list_10 = new List<SampleSet>(int_13 + 1); } this.SpatialLength = double_3; this.bool_4 = true; this.list_2 = new List<Class311>(); this.Type = HitObjectType.Slider; if (bool_14) { this.Type |= HitObjectType.NewCombo; } if (this.class911_0 != null) { this.vmethod_23(); this.class538_1 = new Class538(Class885.smethod_27("sliderfollowcircle", Enum112.flag_6, true), Enum115.const_0, Origins.Centre, Enum114.const_1, this.Position, 0.99f, false, Color.get_TransparentWhite(), this); this.class538_1.method_61(); Class731[] array = Class885.smethod_27("sliderb", Enum112.flag_6, false); bool flag = array[0].enum112_0 == Enum112.flag_1; this.class538_0 = new Class538(array, Enum115.const_0, Origins.Centre, Enum114.const_1, this.Position, 0.99f, false, flag ? Class885.smethod_23("SliderBall", true) : Color.get_White(), this); this.class538_0.bool_10 = true; if (flag) { this.class531_0 = new Class531(Class885.Load("sliderb-spec", Enum112.flag_6), Enum115.const_0, Origins.Centre, Enum114.const_1, this.Position, 1f, false, Color.get_White(), null) { bool_7 = true }; this.class531_1 = new Class531(Class885.Load("sliderb-nd", Enum112.flag_6), Enum115.const_0, Origins.Centre, Enum114.const_1, this.Position, 0.98f, false, new Color(5, 5, 5), null); } this.class531_2 = new Class531(null, Enum115.const_4, Origins.TopLeft, Enum114.const_1, this.Position, Class911.smethod_4((float)(this.EndTime + 10)), false, Color.get_White(), null); this.class531_2.bool_6 = true; } }
// Token: 0x06002BDD RID: 11229 // RVA: 0x0011C5E8 File Offset: 0x0011A7E8 internal override Class305 vmethod_0(Vector2 vector2_0, int int_2, bool bool_0, HitObjectSoundType hitObjectSoundType_0, int int_3, SampleSet sampleSet_0, SampleSet sampleSet_1, Enum38 enum38_0, int int_4, string string_2) { this.method_0(ref vector2_0, int_2); Class316 class = new Class316(this.class297_0, vector2_0, int_2, bool_0, hitObjectSoundType_0, this.method_1());
// Token: 0x06002BE6 RID: 11238 // RVA: 0x0011C8CC File Offset: 0x0011AACC internal override Class305 vmethod_0(Vector2 vector2_0, int int_0, bool bool_0, HitObjectSoundType hitObjectSoundType_0, int int_1, SampleSet sampleSet_0, SampleSet sampleSet_1, Enum38 enum38_0, int int_2, string string_0) { Class306 class = new Class306(this.class297_0, vector2_0, int_0, bool_0, hitObjectSoundType_0, int_1);
// Token: 0x06002BBA RID: 11194 // RVA: 0x0011BEB0 File Offset: 0x0011A0B0 public Class318(Class297 class297_1, Vector2 vector2_2, int int_6, bool bool_8, HitObjectSoundType hitObjectSoundType_0, string string_1) : base(class297_1, vector2_2, int_6, bool_8, hitObjectSoundType_0, "drop") { Class318.Class718 class = new Class318.Class718();
// Token: 0x06002C3D RID: 11325 // RVA: 0x0011EA14 File Offset: 0x0011CC14 internal Class327(Class297 class297_1, int int_6, int int_7, HitObjectSoundType hitObjectSoundType_0) : base(class297_1, int_6, int_7, hitObjectSoundType_0) { Class496 class = this.class297_0.class494_0 as Class496;
// Token: 0x06002204 RID: 8708 // RVA: 0x0001B543 File Offset: 0x00019743 internal Class307(Class297 class297_1, Vector2 vector2_2, int int_7, bool bool_6, HitObjectSoundType hitObjectSoundType_0, int int_8) : base(class297_1, vector2_2, int_7, bool_6, hitObjectSoundType_0, int_8) { this.class531_2.method_8(true); }
// Token: 0x06002238 RID: 8760 internal abstract Class320 vmethod_1(Vector2 vector2_0, int int_0, bool bool_0, HitObjectSoundType hitObjectSoundType_0, CurveTypes curveTypes_0, int int_1, double double_0, List<Vector2> list_0, List<HitObjectSoundType> list_1, int int_2, SampleSet sampleSet_0, SampleSet sampleSet_1, List<SampleSet> list_2, List<SampleSet> list_3, Enum38 enum38_0, int int_3, string string_0);
// Token: 0x06002C4C RID: 11340 // RVA: 0x0011EAD8 File Offset: 0x0011CCD8 internal Class328(Class297 class297_1, int int_14, int int_15, HitObjectSoundType hitObjectSoundType_0) : base(class297_1, int_14, int_15, hitObjectSoundType_0) { if (class297_1.class911_0 != null) { this.vmethod_24(); } this.vmethod_26(); if (class297_1.class911_0 != null) { this.vmethod_23(); } this.bool_9 = true; this.list_2 = new List<float>(20); }
// Token: 0x06002239 RID: 8761 internal abstract Class325 vmethod_2(int int_0, int int_1, HitObjectSoundType hitObjectSoundType_0, SampleSet sampleSet_0, SampleSet sampleSet_1, Enum38 enum38_0, int int_2, string string_0);