SkyPortal-plugin/Source/SkyPortal/Public/SkyPortalSubsystem.h
2024-09-19 14:03:16 +02:00

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;
};