Compare commits
3 Commits
e07abfbcfc
...
9436d16875
Author | SHA1 | Date |
---|---|---|
baz | 9436d16875 | |
baz | 3642b9418b | |
baz | 3e14d6f6e3 |
|
@ -78,6 +78,14 @@ void APickup::OnOuterBeginOverlap(UPrimitiveComponent* OverlappedComponent, AAct
|
||||||
{
|
{
|
||||||
PickupLocation = GetActorLocation();
|
PickupLocation = GetActorLocation();
|
||||||
PlayTimeLine();
|
PlayTimeLine();
|
||||||
|
|
||||||
|
double dist = FVector::Distance(GetActorLocation(), PlayerCharacter->GetActorLocation());
|
||||||
|
|
||||||
|
if (dist < OuterSphereComponent->GetScaledSphereRadius())
|
||||||
|
{
|
||||||
|
double ratio = FMath::Abs((dist / OuterSphereComponent->GetScaledSphereRadius()) - 1.0f);
|
||||||
|
TimelineComponent->SetNewTime(ratio);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,11 +36,9 @@ void AVampireAIController::Tick(float DeltaTime)
|
||||||
{
|
{
|
||||||
Super::Tick(DeltaTime);
|
Super::Tick(DeltaTime);
|
||||||
|
|
||||||
if (AVampireCharacter* Player = Cast<AVampireCharacter>(UGameplayStatics::GetPlayerCharacter(GetWorld(), 0)))
|
if (PlayerCharacter)
|
||||||
{
|
{
|
||||||
Blackboard->SetValueAsObject("Player", Player);
|
Blackboard->SetValueAsVector("PlayerLocation", PlayerCharacter->GetActorLocation());
|
||||||
auto location = Player->GetActorLocation();
|
|
||||||
Blackboard->SetValueAsVector("PlayerLocation", location);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,11 +52,18 @@ void AVampireAIController::OnPossess(APawn* InPawn)
|
||||||
EnemyCharacter->GetHealthComponent()->OnDamaged.AddDynamic(this, &AVampireAIController::OnDamaged);
|
EnemyCharacter->GetHealthComponent()->OnDamaged.AddDynamic(this, &AVampireAIController::OnDamaged);
|
||||||
EnemyCharacter->GetHealthComponent()->OnDeath.AddDynamic(this, &AVampireAIController::OnDeath);
|
EnemyCharacter->GetHealthComponent()->OnDeath.AddDynamic(this, &AVampireAIController::OnDeath);
|
||||||
|
|
||||||
|
PlayerCharacter = UGameplayStatics::GetPlayerCharacter(GetWorld(), 0);
|
||||||
|
|
||||||
if (UBehaviorTree* bt = EnemyCharacter->GetBehaviorTree())
|
if (UBehaviorTree* bt = EnemyCharacter->GetBehaviorTree())
|
||||||
{
|
{
|
||||||
Blackboard->InitializeBlackboard(*bt->BlackboardAsset);
|
Blackboard->InitializeBlackboard(*bt->BlackboardAsset);
|
||||||
BehaviorTree->StartTree(*bt);
|
BehaviorTree->StartTree(*bt);
|
||||||
Blackboard->SetValueAsObject("SelfActor", EnemyCharacter);
|
Blackboard->SetValueAsObject("SelfActor", EnemyCharacter);
|
||||||
|
|
||||||
|
if (PlayerCharacter)
|
||||||
|
{
|
||||||
|
Blackboard->SetValueAsObject("Player", PlayerCharacter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ class VAMPIRES_API AVampireAIController : public AAIController
|
||||||
|
|
||||||
UBehaviorTreeComponent* BehaviorTree;
|
UBehaviorTreeComponent* BehaviorTree;
|
||||||
|
|
||||||
APlayerCharacter* PlayerCharacter;
|
ACharacter* PlayerCharacter;
|
||||||
|
|
||||||
AEnemyCharacter* EnemyCharacter;
|
AEnemyCharacter* EnemyCharacter;
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@ class VAMPIRES_API AGarlicWeapon : public AWeapon
|
||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess = "true"))
|
||||||
USphereComponent* SphereComponent;
|
USphereComponent* SphereComponent;
|
||||||
|
|
||||||
TArray<FOverlappedEnemy> OverlappedEnemies;
|
TArray<FOverlappedEnemy> OverlappedEnemies;
|
||||||
|
|
Loading…
Reference in New Issue