clean up editor code from the virtual hand actor in order to fix wrist tracking issues
This commit is contained in:
@@ -63,14 +63,6 @@ struct ASGVirtualHandActor::FImpl
|
||||
/************************
|
||||
* Methods
|
||||
************************/
|
||||
|
||||
bool IsEditor() const;
|
||||
|
||||
FORCEINLINE USGVirtualHandComponent* GetVirtualHand() const
|
||||
{
|
||||
ensureAlwaysMsgf(IsValid(Owner->VirtualHand), TEXT("Invalid VirtualHand object!"));
|
||||
return Owner->VirtualHand;
|
||||
}
|
||||
};
|
||||
|
||||
ASGVirtualHandActor::ASGVirtualHandActor(const FObjectInitializer& ObjectInitializer)
|
||||
@@ -111,39 +103,6 @@ void ASGVirtualHandActor::BeginPlay()
|
||||
});
|
||||
}
|
||||
|
||||
void ASGVirtualHandActor::Tick(const float DeltaSeconds)
|
||||
{
|
||||
#if WITH_EDITOR
|
||||
if (Pimpl->IsEditor())
|
||||
{
|
||||
EditorTick(DeltaSeconds);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
Super::Tick(DeltaSeconds);
|
||||
|
||||
WristTracker->OnWristLocationChanged().AddWeakLambda(this, [&](const FVector& Location)-> void
|
||||
{
|
||||
VirtualHand->SetRelativeLocation(Location);
|
||||
});
|
||||
|
||||
WristTracker->OnWristRotationChanged().AddWeakLambda(this, [&](const FRotator& Rotation)-> void
|
||||
{
|
||||
VirtualHand->SetRelativeRotation(Rotation);
|
||||
});
|
||||
}
|
||||
|
||||
bool ASGVirtualHandActor::ShouldTickIfViewportsOnly() const
|
||||
{
|
||||
if (VirtualHand->bTickInEditor && Pimpl->IsEditor())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void ASGVirtualHandActor::PreInitializeComponents()
|
||||
{
|
||||
Super::PreInitializeComponents();
|
||||
@@ -151,17 +110,6 @@ void ASGVirtualHandActor::PreInitializeComponents()
|
||||
WristTracker->SetRight(VirtualHand->IsRight());
|
||||
}
|
||||
|
||||
void ASGVirtualHandActor::OnConstruction(const FTransform& Transform)
|
||||
{
|
||||
Super::OnConstruction(Transform);
|
||||
|
||||
WristTracker->SetRight(VirtualHand->IsRight());
|
||||
}
|
||||
|
||||
void ASGVirtualHandActor::EditorTick(float DeltaSeconds)
|
||||
{
|
||||
}
|
||||
|
||||
bool ASGVirtualHandActor::IsLeft() const
|
||||
{
|
||||
return WristTracker->IsLeft() && VirtualHand->IsLeft();
|
||||
@@ -180,7 +128,7 @@ void ASGVirtualHandActor::SetRight(const bool bRight)
|
||||
|
||||
bool ASGVirtualHandActor::IsGloveConnected() const
|
||||
{
|
||||
return GetVirtualHand()->IsGloveConnected();
|
||||
return VirtualHand->IsGloveConnected();
|
||||
}
|
||||
|
||||
ASGVirtualHandActor::FImpl::FImpl(ASGVirtualHandActor* InOwner)
|
||||
@@ -190,17 +138,6 @@ ASGVirtualHandActor::FImpl::FImpl(ASGVirtualHandActor* InOwner)
|
||||
|
||||
ASGVirtualHandActor::FImpl::~FImpl() = default;
|
||||
|
||||
bool ASGVirtualHandActor::FImpl::IsEditor() const
|
||||
{
|
||||
const UWorld* World{Owner->GetWorld()};
|
||||
if (World && World->WorldType == EWorldType::Editor)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void ASGVirtualHandActor::FImplDeleter::operator()(const FImpl* P) const
|
||||
{
|
||||
delete P;
|
||||
|
||||
@@ -96,18 +96,8 @@ protected:
|
||||
|
||||
public:
|
||||
virtual void BeginPlay() override;
|
||||
|
||||
virtual void Tick(float DeltaSeconds) override;
|
||||
|
||||
virtual bool ShouldTickIfViewportsOnly() const override;
|
||||
|
||||
virtual void PreInitializeComponents() override;
|
||||
|
||||
virtual void OnConstruction(const FTransform& Transform) override;
|
||||
|
||||
protected:
|
||||
virtual void EditorTick(float DeltaSeconds);
|
||||
|
||||
public:
|
||||
bool IsLeft() const;
|
||||
bool IsRight() const;
|
||||
|
||||
Reference in New Issue
Block a user