public override void applyInput(Gamepad gamepad) { if (push) { gamepad.holdStick(state); } else { gamepad.releaseStick(state.stick); } }
public abstract void applyInput(Gamepad gamepad);
public override void applyInput(Gamepad gamepad) { if (push) { gamepad.holdButton(button); } else { gamepad.releaseButton(button); } }
public override void applyInput(Gamepad gamepad) { if (push) { gamepad.holdDirectional(directional); } else { gamepad.releaseDirectional(); } }
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(); } }