public void addStickState(StickState state, int duration, bool isBlocking = false)
        {
            sequence.Add(new StickFrame(state, true, sequenceDuration++));

            if (isBlocking)
            {
                addWait(duration);
            }
        }
 public StickFrame(StickState state, bool push, int timestamp)
 {
     this.state = state;
     this.push = push;
     this.timestamp = timestamp;
 }
 public void holdStick(StickState state)
 {
     switch (state.stick)
     {
         case Stick.Left:
             vjoy.SetAxis(state.getHorizontalAxis(), vjoyID, HID_USAGES.HID_USAGE_X);
             vjoy.SetAxis(state.getVerticalAxis(), vjoyID, HID_USAGES.HID_USAGE_Y);
             break;
         case Stick.Right:
             vjoy.SetAxis(state.getHorizontalAxis(), vjoyID, HID_USAGES.HID_USAGE_Z);
             vjoy.SetAxis(state.getVerticalAxis(), vjoyID, HID_USAGES.HID_USAGE_RZ);
             break;
     }
 }