From ef3096423e3e5c8ce4a1e0f2488c7c456f819a2f Mon Sep 17 00:00:00 2001 From: RattleSN4K3 Date: Thu, 23 Jul 2015 23:34:10 +0200 Subject: [PATCH] Removing workarounds for driving methods --- Source/Classes/AAAUTCharacter.h | 11 ++------- Source/Private/AAAUTCharacter.cpp | 40 +------------------------------ 2 files changed, 3 insertions(+), 48 deletions(-) diff --git a/Source/Classes/AAAUTCharacter.h b/Source/Classes/AAAUTCharacter.h index 2da356b..8a1ddef 100644 --- a/Source/Classes/AAAUTCharacter.h +++ b/Source/Classes/AAAUTCharacter.h @@ -21,15 +21,8 @@ class AAAAUTCharacter : public AUTCharacter UPROPERTY(EditAnywhere) float VehicleCheckRadius; - // TODO: Implement once methods are virtual - //void StartDriving(APawn* Vehicle) override; - //void StopDriving(APawn* Vehicle) override; - - // TODO: Remove once StartDriving and StopDriving are virtual - void StartDriving_WORKAROUND(APawn* Vehicle); - void StopDriving_WORKAROUND(APawn* Vehicle); - APawn* OldDrivenVehicle; - bool bDrivenVehicleStored; + virtual void StartDriving(APawn* Vehicle) override; + virtual void StopDriving(APawn* Vehicle) override; // Note: Insert after ServerUseCarriedObject() // ... diff --git a/Source/Private/AAAUTCharacter.cpp b/Source/Private/AAAUTCharacter.cpp index 6312c8b..3c77b4e 100644 --- a/Source/Private/AAAUTCharacter.cpp +++ b/Source/Private/AAAUTCharacter.cpp @@ -61,8 +61,7 @@ bool AUTCharacter::CanUseInternal_Implementation() const return bCanUse; } -// TODO: Implement once methods are virtual -/*void AUTCharacter::StartDriving(APawn* Vehicle) +void AUTCharacter::StartDriving(APawn* Vehicle) { Super::StartDriving(Vehicle); @@ -81,43 +80,6 @@ void AUTCharacter::StopDriving(APawn* Vehicle) V->StopFiring(); V->DetachDriver(this); } -}*/ - -// Note: Workaround for StartDriving being non-virtual -void AUTCharacter::StartDriving_WORKAROUND(APawn* Vehicle) -{ - if (AVehicle* V = Cast(Vehicle)) - { - V->AttachDriver(this); - } -} - -// Note: Workaround for StopDriving being non-virtual -void AUTCharacter::StopDriving_WORKAROUND(APawn* Vehicle) -{ - if (AVehicle* V = Cast(Vehicle)) - { - V->StopFiring(); - V->DetachDriver(this); - } -} - -void AUTCharacter::Tick(float DeltaSeconds) -{ - Super::Tick(DeltaSeconds); - - if (!bDrivenVehicleStored && DrivenVehicle != NULL && OldDrivenVehicle == NULL) - { - OldDrivenVehicle = DrivenVehicle; - bDrivenVehicleStored = true; - StartDriving_WORKAROUND(DrivenVehicle); - } - else if (bDrivenVehicleStored && DrivenVehicle == NULL && OldDrivenVehicle != NULL) - { - StopDriving_WORKAROUND(OldDrivenVehicle); - bDrivenVehicleStored = false; - OldDrivenVehicle = NULL; - } } #undef AUTCharacter \ No newline at end of file