public void HandleNote(FNFSong.FNFNote n) { bool shouldHold = n.Length > 0; if (shouldHold) { holdTimes[(int)n.Type % 4] = ((float)n.Length + (float)watch.Elapsed.TotalMilliseconds) + 10; } switch (n.Type) { case FNFSong.NoteType.Left: case FNFSong.NoteType.RLeft: if (shouldHold) { simulator.Keyboard.KeyDown(VirtualKeyCode.LEFT); Thread.Sleep(Convert.ToInt32(n.Length)); simulator.Keyboard.KeyUp(VirtualKeyCode.LEFT); } else { kBot.KeyPress(0x25, 0x1e); } break; case FNFSong.NoteType.Down: case FNFSong.NoteType.RDown: if (shouldHold) { simulator.Keyboard.KeyDown(VirtualKeyCode.DOWN); } else { kBot.KeyPress(0x28, 0x1f); } break; case FNFSong.NoteType.Up: case FNFSong.NoteType.RUp: if (shouldHold) { simulator.Keyboard.KeyDown(VirtualKeyCode.UP); } else { kBot.KeyPress(0x26, 0x11); } break; case FNFSong.NoteType.Right: case FNFSong.NoteType.RRight: if (shouldHold) { simulator.Keyboard.KeyDown(VirtualKeyCode.RIGHT); } else { kBot.KeyPress(0x27, 0x20); } break; } notesPlayed++; }
public void HandleNote(FNFSong.FNFNote n) { while (watch.Elapsed.TotalMilliseconds < (double)n.Time - kBot.offset) { Thread.Sleep(1); if (!Playing) { Thread.CurrentThread.Abort(); } } bool shouldHold = n.Length > 0; switch (n.Type) { case FNFSong.NoteType.Left: case FNFSong.NoteType.RLeft: if (shouldHold) { simulator.Keyboard.KeyDown(VirtualKeyCode.LEFT); Thread.Sleep(Convert.ToInt32(n.Length)); simulator.Keyboard.KeyUp(VirtualKeyCode.LEFT); } else { kBot.KeyPress(0x25, 0x1e); } break; case FNFSong.NoteType.Down: case FNFSong.NoteType.RDown: if (shouldHold) { simulator.Keyboard.KeyDown(VirtualKeyCode.DOWN); Thread.Sleep(Convert.ToInt32(n.Length)); simulator.Keyboard.KeyUp(VirtualKeyCode.DOWN); } else { kBot.KeyPress(0x28, 0x1f); } break; case FNFSong.NoteType.Up: case FNFSong.NoteType.RUp: if (shouldHold) { simulator.Keyboard.KeyDown(VirtualKeyCode.UP); Thread.Sleep(Convert.ToInt32(n.Length)); simulator.Keyboard.KeyUp(VirtualKeyCode.UP); } else { kBot.KeyPress(0x26, 0x11); } break; case FNFSong.NoteType.Right: case FNFSong.NoteType.RRight: if (shouldHold) { simulator.Keyboard.KeyDown(VirtualKeyCode.RIGHT); Thread.Sleep(Convert.ToInt32(n.Length)); simulator.Keyboard.KeyUp(VirtualKeyCode.RIGHT); } else { kBot.KeyPress(0x27, 0x20); } break; } notesPlayed++; }
public HeldPart(FNFSong.FNFNote note) { InitializeComponent(); CheckForIllegalCrossThreadCalls = false; int ii = 0; for (float i = 0; i <= (double)note.Length; i += RenderBot.stepCrochet / 2) { bool end = false; foreach (Panel pa in Controls) { if (pa.Name.Contains("END")) { end = true; } } if (end) { break; } Height += 20 * ii; Panel p = new Panel(); p.Name = "pnlTrail_" + i; switch (note.Type) { case FNFSong.NoteType.Down: case FNFSong.NoteType.RDown: if (i + RenderBot.stepCrochet / 2 > (double)note.Length) { p.BackgroundImage = global::FNFBot20.Properties.Resources.blueEnd; p.Name += "END"; } else { p.BackgroundImage = global::FNFBot20.Properties.Resources.blueTrail; } break; case FNFSong.NoteType.Right: case FNFSong.NoteType.RRight: if (i + RenderBot.stepCrochet / 2 > (double)note.Length) { p.BackgroundImage = global::FNFBot20.Properties.Resources.redEnd; p.Name += "END"; } else { p.BackgroundImage = global::FNFBot20.Properties.Resources.redTrail; } break; case FNFSong.NoteType.Left: case FNFSong.NoteType.RLeft: if (i + RenderBot.stepCrochet / 2 > (double)note.Length) { p.BackgroundImage = global::FNFBot20.Properties.Resources.purpleEnd; p.Name += "END"; } else { p.BackgroundImage = global::FNFBot20.Properties.Resources.purpleTrail; } break; case FNFSong.NoteType.Up: case FNFSong.NoteType.RUp: if (i + RenderBot.stepCrochet / 2 > (double)note.Length) { p.BackgroundImage = global::FNFBot20.Properties.Resources.greenEnd; p.Name += "END"; } else { p.BackgroundImage = global::FNFBot20.Properties.Resources.greenTrail; } break; } p.BackgroundImageLayout = ImageLayout.Stretch; p.Size = new Size(14, 20); p.Location = new Point(0, (20 * ii) - p.Height); Controls.Add(p); ii++; } }