@ -21,7 +21,7 @@ namespace ClickableTransparentOverlay
/// </summary>
public class HookController
{
private readonly Stack < HookControllerMessage > messages ;
private readonly Queue < HookControllerMessage > messages ;
private IKeyboardMouseEvents myHook ;
private bool enable ;
private int windowX ;
@ -38,7 +38,7 @@ namespace ClickableTransparentOverlay
/// </param>
public HookController ( int x , int y )
{
this . messages = new Stack < HookControllerMessage > ( ) ;
this . messages = new Queue < HookControllerMessage > ( ) ;
this . windowX = x ;
this . windowY = y ;
this . enable = true ;
@ -127,10 +127,12 @@ namespace ClickableTransparentOverlay
public void PopMessages ( )
{
int counter = 0 ;
int maxCounter = 1 0 ;
int maxCounter = 2 0 ;
while ( counter < maxCounter & & this . messages . Count > 0 )
{
var message = this . messages . Pop ( ) ;
var message = this . messages . Dequeue ( ) ;
try
{
switch ( message . Type )
{
case HookControllerMessageType . MouseUpDown :
@ -154,6 +156,14 @@ namespace ClickableTransparentOverlay
default :
break ;
}
}
catch ( Exception e )
{
Console . WriteLine ( "Warning: Caught an exception while handling keyboard/mouse inputs." +
"Report to the GitHub repository if this effects your work & it's reproduceable." ) ;
Console . WriteLine ( e . Message ) ;
Console . WriteLine ( e . StackTrace ) ;
}
counter + + ;
}
@ -180,7 +190,7 @@ namespace ClickableTransparentOverlay
MiscArg = miscArg ,
} ;
this . messages . Push ( message ) ;
this . messages . Enqueue ( message ) ;
}
private void ProcessMouseUpDown ( MouseEventExtArgs e , bool isDownEvent , bool shouldSendToImGui )