health var updates correctly on client when hit by projectile
This commit is contained in:
@@ -50,10 +50,55 @@ void ADDICharacter::Tick(float DeltaTime)
|
||||
|
||||
void ADDICharacter::OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||||
{
|
||||
|
||||
Server_CharacterHit(HitComponent, OtherActor, OtherComp, NormalImpulse, Hit);
|
||||
}
|
||||
|
||||
void ADDICharacter::TakeDamage(int Damage)
|
||||
{
|
||||
HealthComponent->TakeDamage(Damage);
|
||||
}
|
||||
|
||||
bool ADDICharacter::Server_SpawnProjectile_Validate()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
void ADDICharacter::Server_SpawnProjectile_Implementation()
|
||||
{
|
||||
FVector Location = GetActorLocation();
|
||||
FRotator Rotation = GetActorRotation();
|
||||
FVector Dir = GetActorForwardVector();
|
||||
|
||||
Location += Dir * 200.f;
|
||||
if (!ProjectileClass)
|
||||
{
|
||||
GEngine->AddOnScreenDebugMessage(1, 10.f, FColor::Emerald, "No Projectile Set");
|
||||
return;
|
||||
}
|
||||
GetWorld()->SpawnActor<AActor>(ProjectileClass, Location, Rotation);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
void ADDICharacter::Client_CharacterHit_Implementation()
|
||||
{
|
||||
TakeDamage(10);
|
||||
|
||||
}
|
||||
bool ADDICharacter::Client_CharacterHit_Validate()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
void ADDICharacter::Server_CharacterHit_Implementation(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||||
{
|
||||
if (AProjectileBase* Projectile = Cast<AProjectileBase>(OtherActor))
|
||||
{
|
||||
// if (Cast<ADDICharacter>(Projectile->Owner) == this)
|
||||
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Emerald, "Damage dealt");
|
||||
Client_CharacterHit();
|
||||
}
|
||||
}
|
||||
bool ADDICharacter::Server_CharacterHit_Validate(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user