Example #1
0
 public override void applyInput(Gamepad gamepad)
 {
     if (push)
     {
         gamepad.holdStick(state);
     }
     else
     {
         gamepad.releaseStick(state.stick);
     }
 }
Example #2
0
 public abstract void applyInput(Gamepad gamepad);
Example #3
0
 public override void applyInput(Gamepad gamepad)
 {
     if (push)
     {
         gamepad.holdButton(button);
     }
     else
     {
         gamepad.releaseButton(button);
     }
 }
Example #4
0
 public override void applyInput(Gamepad gamepad)
 {
     if (push)
     {
         gamepad.holdDirectional(directional);
     }
     else
     {
         gamepad.releaseDirectional();
     }
 }
Example #5
0
        public void run(Gamepad gamepad, bool clearAtStart = true, bool clearAtEnd = true)
        {
            int playbackTime = 0;
            var timeline = sequence.OrderBy(o => o.timestamp);

            if (clearAtStart)
            {
                gamepad.releaseAll();
            }

            foreach (InputFrame frame in timeline)
            {
                int timeToInput = frame.timestamp - playbackTime;
                System.Threading.Thread.Sleep(timeToInput);
                playbackTime += timeToInput;

                frame.applyInput(gamepad);
            }

            int timeToEnd = sequenceDuration - playbackTime;
            if (0 < timeToEnd)
            {
                System.Threading.Thread.Sleep(timeToEnd);
            }

            if (clearAtEnd)
            {
                gamepad.releaseAll();
            }
        }