17 #ifndef CONTROLLERFACTORY_H
18 #define CONTROLLERFACTORY_H
21 #include "InputScheme.h"
22 #include "VirtualController.h"
65 template <
typename Input>
67 for (
auto& inputActionPair : scheme) {
68 if (!validInputs.count(inputActionPair.first)) {
76 #endif // CONTROLLERFACTORY_H
Software represention and state capable of describing almost all physical controllers.
Definition: VirtualController.h:36
Base interface for constructing virtual controllers from a deviceId.
Definition: ControllerFactory.h:34
virtual VirtualController * createNewController(int deviceId) const =0
Returns a new VirtualController for the specified deviceId.
A platform independent event generated by controller device.
Definition: ControllerEvent.h:34
virtual bool intersects(const ControllerFactory &otherFactory) const =0
Returns whether or not this ControllerFactory intersects (i.e. overlaps input schemes) with the speci...
static bool isValidInputScheme(const InputScheme< Input > &scheme, std::set< Input > &validInputs)
Returns whether or not the given InputScheme is valid (i.e. only contains input mappings which are va...
Definition: ControllerFactory.h:66
virtual bool handlesControllerEvent(const ControllerEvent *event) const =0
Returns whether or not this ControllerFactory can process the specified event.