void PrepareForUpdate(ulong updateTick) { if (this == InputControl.Null) { return; } if (updateTick < pendingTick) { throw new InvalidOperationException("Cannot be updated with an earlier tick."); } if (pendingCommit && updateTick != pendingTick) { throw new InvalidOperationException("Cannot be updated for a new tick until pending tick is committed."); } if (updateTick > pendingTick) { lastState = thisState; nextState.Reset(); pendingTick = updateTick; pendingCommit = true; } }
internal void PreUpdate(ulong updateTick) { RawValue = null; PreValue = null; lastState = thisState; tempState.Reset(); }
public void ClearInputState() { lastState.Reset(); thisState.Reset(); nextState.Reset(); wasRepeated = false; clearInputState = true; }
internal void PreUpdate(ulong updateTick) { lastState = thisState; tempState.Reset(); }