I have a class inherited from ACharacter where I want to override ReceivePointDamage() function as follows:
virtual void ReceivePointDamage(float Damage,
const class UDamageType * DamageType,
FVector HitLocation,
FVector HitNormal,
class UPrimitiveComponent * HitComponent,
FName BoneName,
FVector ShotFromDirection,
class AController * InstigatedBy,
AActor * DamageCauser
) override;
Based on the documentation, this is the right order of parameters and naming and everything, BUT compiler complains with the following message:
method with override specifier 'override' did not override any base class methods
The question is “WHY”?
Why can I override TakeDamage function
virtual float TakeDamage(float Damage,
struct FDamageEvent const& DamageEvent,
class AController* EventInstigator,
class AActor* DamageCauser) override;
but not ReceivePointDamage()?
Thanks.