diff --git a/Source/SenseGloveCore/Private/SGCore/SGDevice.cpp b/Source/SenseGloveCore/Private/SGCore/SGDevice.cpp index 1c91236a..6ce5e8b6 100644 --- a/Source/SenseGloveCore/Private/SGCore/SGDevice.cpp +++ b/Source/SenseGloveCore/Private/SGCore/SGDevice.cpp @@ -35,6 +35,7 @@ #include "SGCore/SGDevice.h" +#include "SGDeviceImplCast.h" #include "Engine/Engine.h" #include "SGCore/SGBetaDevice.h" @@ -346,51 +347,36 @@ bool USGDevice::IsASenseGlove() const USGBetaDevice* USGDevice::AsBetaDevice(UObject* Outer) const { - FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; - FSGIC_TSharedPtr_FSGBetaDeviceImpl OutSharedPtr; - SGCoreImpl_FSGDeviceImpl_ToBetaDeviceImplRef(&InstanceContainer, &OutSharedPtr); USGBetaDevice* BetaDevice = NewObject(Outer); - BetaDevice->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get()); + BetaDevice->SetSGDeviceImpl(FSGDeviceImplCast::ToBetaDeviceImpl(ToSGDeviceImpl())); return BetaDevice; } USGHapticGlove* USGDevice::AsHapticGlove(UObject* Outer) const { - FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; - FSGIC_TSharedPtr_FSGHapticGloveImpl OutSharedPtr; - SGCoreImpl_FSGDeviceImpl_ToHapticGloveImplRef(&InstanceContainer, &OutSharedPtr); USGHapticGlove* HapticGlove = NewObject(Outer); - HapticGlove->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get()); + HapticGlove->SetSGDeviceImpl(FSGDeviceImplCast::ToHapticGloveImpl(ToSGDeviceImpl())); return HapticGlove; } USGNova2Glove* USGDevice::AsNova2Glove(UObject* Outer) const { - FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; - FSGIC_TSharedPtr_FSGNova2GloveImpl OutSharedPtr; - SGCoreImpl_FSGDeviceImpl_ToNova2GloveImplRef(&InstanceContainer, &OutSharedPtr); USGNova2Glove* Nova2Glove = NewObject(Outer); - Nova2Glove->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get()); + Nova2Glove->SetSGDeviceImpl(FSGDeviceImplCast::ToNova2GloveImpl(ToSGDeviceImpl())); return Nova2Glove; } USGNovaGlove* USGDevice::AsNovaGlove(UObject* Outer) const { - FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; - FSGIC_TSharedPtr_FSGNovaGloveImpl OutSharedPtr; - SGCoreImpl_FSGDeviceImpl_ToNovaGloveImplRef(&InstanceContainer, &OutSharedPtr); USGNovaGlove* NovaGlove = NewObject(Outer); - NovaGlove->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get()); + NovaGlove->SetSGDeviceImpl(FSGDeviceImplCast::ToNovaGloveImpl(ToSGDeviceImpl())); return NovaGlove; } USGSenseGlove* USGDevice::AsSenseGlove(UObject* Outer) const { - FSGIC_TSharedPtr_FSGDeviceImpl InstanceContainer{ToSGDeviceImpl()}; - FSGIC_TSharedPtr_FSGSenseGloveImpl OutSharedPtr; - SGCoreImpl_FSGDeviceImpl_ToSenseGloveImplRef(&InstanceContainer, &OutSharedPtr); USGSenseGlove* SenseGlove = NewObject(Outer); - SenseGlove->SetSGDeviceImpl(*OutSharedPtr.Ptr.Get()); + SenseGlove->SetSGDeviceImpl(FSGDeviceImplCast::ToSenseGloveImpl(ToSGDeviceImpl())); return SenseGlove; }