#pragma once #include "Controller.h" #include namespace Ship { class ControlDeck { public: void Init(uint8_t* controllerBits); void ScanPhysicalDevices(); void WriteToPad(OSContPad* pad) const; void LoadControllerSettings(); void SaveControllerSettings(); void SetPhysicalDevice(int slot, int deviceSlot); std::shared_ptr GetPhysicalDevice(int deviceSlot); std::shared_ptr GetPhysicalDeviceFromVirtualSlot(int slot); size_t GetNumPhysicalDevices(); int GetVirtualDevice(int slot); size_t GetNumVirtualDevices(); private: std::vector virtualDevices; std::vector> physicalDevices = {}; }; }