public bool LogValue(T value) { if (current_event.GetValue().NotEqualsEX(value)) { current_event.End(); past_events.Advance(current_event); current_event = new GamepadEvent <T>(value); current_event.Start(); return(true); } current_event.Update(); return(false); }