UHydraSingleController* HydraBlueprintDelegate::HydraGetHistoricalFrames(int32 controllerId, int32 historyIndex)
{
	sixenseControllerDataUE* dataUE = HydraDelegate::HydraGetHistoricalData(controllerId, historyIndex);

	UHydraSingleController* controller;
	controller = ConstructObject<UHydraSingleController>(UHydraSingleController::StaticClass());
	controller->setFromSixenseDataUE(dataUE);
	return controller;
}
UHydraSingleController* UHydraPluginComponent::GetHistoricalFrameForControllerId(int32 controllerId, int32 historyIndex)
{
    sixenseControllerDataUE* dataUE = dataDelegate->HydraGetHistoricalData(controllerId, historyIndex);

    UHydraSingleController* controller = NewObject<UHydraSingleController>(UHydraSingleController::StaticClass());
    controller->setFromSixenseDataUE(dataUE);
    return controller;
    return nullptr;
}
void HydraBlueprintDelegate::HydraTick(float DeltaTime)
{
	HydraDelegate::HydraTick(DeltaTime);

	//Sync our array
	for (int i = 0; i < MAX_CONTROLLERS_SUPPORTED; i++)
	{
		UHydraSingleController* controller = _latestFrame[i];
		controller->setFromSixenseDataUE(HydraDelegate::HydraGetLatestData(i));
		controller->controllerId = i;
	}
}