public void MouseMove(object sender, MouseEventArgs e) {
if (this.config.Visible) {
this.resetMouseMove();
} else {
if (this.mouseX != e.X && this.mouseY != e.Y && this.mouseX != -1 && this.mouseY != -1) {
Cursor.Show();
this.mouseMoveTimer.Stop();
this.mouseMoveTimer.Start();
this.mouseMoveTimer.Enabled = true;
}
if (this.mouseX == -1) this.mouseX = e.X;
if (this.mouseY == -1) this.mouseY = e.Y;
int sensitivity = 0;
switch (this.config.getPersistantString("mouseSensitivity")) {
case "high":
sensitivity = 0;
break;
case "medium":
sensitivity = 10;
break;
case "low":
sensitivity = 50;
break;
case "none":
this.mouseX = e.X;
this.mouseY = e.Y;
break;
}
if (e.X > (this.mouseX + sensitivity) || e.X < (this.mouseX - sensitivity) ||
e.Y > (this.mouseY + sensitivity) || e.Y < (this.mouseY - sensitivity)) {
this.OnExit();
}
this.mouseX = e.X;
this.mouseY = e.Y;
}
}