42 lines
797 B
C++
42 lines
797 B
C++
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Subsystems/EngineSubsystem.h"
|
|
#include "hidapi.h"
|
|
|
|
|
|
#include "SkyPortalSubsystem.generated.h"
|
|
|
|
|
|
UCLASS()
|
|
class SKYPORTAL_API USkyPortalSubsystem : public UEngineSubsystem
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
// Override initialization and deinitialization methods
|
|
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
|
|
virtual void Deinitialize() override;
|
|
|
|
// Connect to Portal, return false if portal is not found
|
|
UFUNCTION(BlueprintCallable, CallInEditor)
|
|
bool ConnectPortal();
|
|
|
|
FString HidError;
|
|
|
|
private:
|
|
//Portal ref used in the subsystem
|
|
hid_device* PortalDevice;
|
|
|
|
unsigned char* PortalRawData;
|
|
|
|
FString RawData();
|
|
void ReadPortal();
|
|
|
|
protected:
|
|
|
|
//Constants
|
|
const int VendorId = 5168;
|
|
const int ProductId = 336;
|
|
};
|
|
|