Esempio n. 1
0
 private void AStartg__getNextObject18_3(ref Ac__DisplayClass18_0 P_0)
 {
     P_0.index++;
     if (P_0.index < P_0.beatmap.HitObjects.Count)
     {
         P_0.currentHitObject = P_0.beatmap.HitObjects[P_0.index];
     }
 }
Esempio n. 2
0
 private void AStartg__alternateKeys18_0(ref Ac__DisplayClass18_0 P_0)
 {
     if (currentKeyPressed == P_0.key1)
     {
         currentKeyPressed = P_0.key2;
     }
     else
     {
         currentKeyPressed = P_0.key1;
     }
 }
Esempio n. 3
0
 private void AStartg__pressKey18_4(ref Ac__DisplayClass18_0 P_0, ref Ac__DisplayClass18_1 P_1)
 {
     if ((float)(P_1.currentTime - P_0.lastTimeHit) <= (float)alternateTime * P_0.beatmapSpeed)
     {
         AStartg__alternateKeys18_0(ref P_0);
     }
     else
     {
         currentKeyPressed = P_0.key1;
     }
     inputSimulator.Keyboard.KeyDown(currentKeyPressed);
     P_0.alreadyHit     = true;
     P_0.lastTimeHit    = P_1.currentTime;
     P_0.randomHoldTime = P_0.rand.Next((int)(((float)holdTime - 5f) * P_0.beatmapSpeed), (int)(((float)holdTime + 5f) * P_0.beatmapSpeed));
 }
Esempio n. 4
0
 private void AStartg__releaseKey18_5(ref Ac__DisplayClass18_0 P_0)
 {
     inputSimulator.Keyboard.KeyUp(currentKeyPressed);
     P_0.alreadyHit = false;
     if (P_0.rand.Next(1, 101) <= percentToHitOutsideOffset)
     {
         if (P_0.rand.Next(0, 2) == 0)
         {
             P_0.randomOffset = P_0.rand.Next(-offset * 2, -offset);
         }
         else
         {
             P_0.randomOffset = P_0.rand.Next(offset, offset * 2);
         }
     }
     else
     {
         P_0.randomOffset = P_0.rand.Next(-offset, offset);
     }
 }
Esempio n. 5
0
    public void Start(OsuBeatmap beatmap)
    {
        Ac__DisplayClass18_0 ac__DisplayClass18_ = default(Ac__DisplayClass18_0);

        ac__DisplayClass18_.A4__this = this;
        ac__DisplayClass18_.beatmap  = beatmap;
        this.beatmap                     = ac__DisplayClass18_.beatmap;
        enabled                          = true;
        ac__DisplayClass18_.key1         = (VirtualKeyCode)osu.BindingManager.GetKeyCode(Bindings.OsuLeft);
        ac__DisplayClass18_.key2         = (VirtualKeyCode)osu.BindingManager.GetKeyCode(Bindings.OsuRight);
        currentKeyPressed                = ac__DisplayClass18_.key2;
        ac__DisplayClass18_.beatmapSpeed = (osu.Player.HitObjectManager.CurrentMods.HasFlag(Mods.DoubleTime) ? 1.5f : (osu.Player.HitObjectManager.CurrentMods.HasFlag(Mods.HalfTime) ? 0.75f : 1f));
        int num  = osu.HitWindow50(ac__DisplayClass18_.beatmap.OverallDifficulty);
        int num2 = osu.HitWindow50(ac__DisplayClass18_.beatmap.OverallDifficulty);
        int num3 = osu.HitWindow100(ac__DisplayClass18_.beatmap.OverallDifficulty);
        int num4 = osu.HitWindow300(ac__DisplayClass18_.beatmap.OverallDifficulty);

        ac__DisplayClass18_.hitObjectRadius = osu.HitObjectRadius(ac__DisplayClass18_.beatmap.CircleSize);
        ac__DisplayClass18_.alreadyHit      = false;
        bool flag = false;

        ac__DisplayClass18_.rand             = new Random();
        ac__DisplayClass18_.randomOffset     = ac__DisplayClass18_.rand.Next(-offset, offset);
        ac__DisplayClass18_.randomHoldTime   = ac__DisplayClass18_.rand.Next((int)(((float)holdTime - 5f) * ac__DisplayClass18_.beatmapSpeed), (int)(((float)holdTime + 5f) * ac__DisplayClass18_.beatmapSpeed));
        ac__DisplayClass18_.lastTimeHit      = 0;
        ac__DisplayClass18_.index            = osu.Player.HitObjectManager.CurrentHitObjectIndex;
        ac__DisplayClass18_.currentHitObject = ac__DisplayClass18_.beatmap.HitObjects[ac__DisplayClass18_.index];
        AStartg__releaseBothKeys18_2(ref ac__DisplayClass18_);
        Ac__DisplayClass18_1 ac__DisplayClass18_2 = default(Ac__DisplayClass18_1);

        while (osu.CanPlay && ac__DisplayClass18_.index < ac__DisplayClass18_.beatmap.HitObjects.Count && enabled)
        {
            TimingHelper.Delay(1u);
            if (osu.IsPaused)
            {
                Thread.Sleep(5);
                continue;
            }
            ac__DisplayClass18_2.currentTime = osu.CurrentTime;
            if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.StartTime - num)
            {
                ac__DisplayClass18_.hitObjectPosition = ((ac__DisplayClass18_.currentHitObject is OsuSlider) ? (ac__DisplayClass18_.currentHitObject as OsuSlider).PositionAtTime(osu.CurrentTime) : ac__DisplayClass18_.currentHitObject.Position);
                if (!ac__DisplayClass18_.alreadyHit)
                {
                    if (AStartg__isMouseOnNote18_1(ref ac__DisplayClass18_))
                    {
                        if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.StartTime + ac__DisplayClass18_.randomOffset)
                        {
                            flag = false;
                            AStartg__pressKey18_4(ref ac__DisplayClass18_, ref ac__DisplayClass18_2);
                        }
                    }
                    else if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.StartTime + num2)
                    {
                        flag = true;
                        AStartg__pressKey18_4(ref ac__DisplayClass18_, ref ac__DisplayClass18_2);
                    }
                }
            }
            if (!flag & ac__DisplayClass18_.alreadyHit)
            {
                if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.EndTime + ac__DisplayClass18_.randomOffset + ac__DisplayClass18_.randomHoldTime)
                {
                    AStartg__releaseKey18_5(ref ac__DisplayClass18_);
                    AStartg__getNextObject18_3(ref ac__DisplayClass18_);
                }
            }
            else if (ac__DisplayClass18_2.currentTime >= ac__DisplayClass18_.currentHitObject.EndTime + num2 + ac__DisplayClass18_.randomHoldTime)
            {
                AStartg__releaseKey18_5(ref ac__DisplayClass18_);
                AStartg__getNextObject18_3(ref ac__DisplayClass18_);
            }
            while (osu.CanPlay && ac__DisplayClass18_.index >= ac__DisplayClass18_.beatmap.HitObjects.Count && enabled)
            {
                Thread.Sleep(5);
            }
        }
    }
Esempio n. 6
0
 private void AStartg__releaseBothKeys18_2(ref Ac__DisplayClass18_0 P_0)
 {
     inputSimulator.Keyboard.KeyUp(P_0.key1);
     inputSimulator.Keyboard.KeyUp(P_0.key2);
 }
Esempio n. 7
0
 private bool AStartg__isMouseOnNote18_1(ref Ac__DisplayClass18_0 P_0)
 {
     return(distance(P_0.hitObjectPosition, osu.WindowManager.ScreenToPlayfield(osu.Player.Ruleset.MousePosition)) - (double)P_0.hitObjectRadius <= 0.0);
 }