private void ExecuteClick(JoyButtonState state, int i) { switch (state) { case JoyButtonState.Pressed: SimulatorMethods.KeyDown(keyCode[i]); CoroutineMaster.ExecuteAfterNFrames( 1, delegate { SimulatorMethods.KeyUp(keyCode[i]); } ); break; } }
public void Execute(JoyButtonState state, ButtonState btnState = ButtonState.Released) { lastState = btnState; for (int i = 0; i < keyType.Count; i++) { //if (i == 0) ExecuteByType(state, i); //else //{ // int index = i; // CoroutineMaster.ExecuteAfterNFrames(i, delegate { ExecuteByType(state, index); }); //} } }
private void ExecuteByType(JoyButtonState state, int i) { switch (keyType[i]) { case KeyType.Click: ExecuteClick(state, i); break; case KeyType.Hold: ExecuteHold(state, i); break; case KeyType.Release_On_Second_Click: ExecuteReleaseOnSecondClick(state, i); break; } }
private void ExecuteHold(JoyButtonState state, int i) { switch (state) { case JoyButtonState.Pressed: SimulatorMethods.KeyDown(keyCode[i]); break; case JoyButtonState.Hold: SimulatorMethods.KeyDown(keyCode[i]); break; case JoyButtonState.Realesed: SimulatorMethods.KeyUp(keyCode[i]); break; case JoyButtonState.None: break; } }
private void ExecuteReleaseOnSecondClick(JoyButtonState state, int i) { switch (state) { case JoyButtonState.Pressed: isPressed = !isPressed; if (isPressed) { SimulatorMethods.KeyDown(keyCode[i]); } else { SimulatorMethods.KeyUp(keyCode[i]); } break; default: if (isPressed) { SimulatorMethods.KeyDown(keyCode[i]); } break; } }