105 - Elim Bot
This commit is contained in:
parent
c837a3f86d
commit
f7c84eee2f
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -13,8 +13,10 @@
|
||||||
#include "Components/WidgetComponent.h"
|
#include "Components/WidgetComponent.h"
|
||||||
#include "GameFramework/CharacterMovementComponent.h"
|
#include "GameFramework/CharacterMovementComponent.h"
|
||||||
#include "GameFramework/SpringArmComponent.h"
|
#include "GameFramework/SpringArmComponent.h"
|
||||||
|
#include "Kismet/GameplayStatics.h"
|
||||||
#include "Kismet/KismetMathLibrary.h"
|
#include "Kismet/KismetMathLibrary.h"
|
||||||
#include "Net/UnrealNetwork.h"
|
#include "Net/UnrealNetwork.h"
|
||||||
|
#include "Particles/ParticleSystemComponent.h"
|
||||||
|
|
||||||
|
|
||||||
ABlasterCharacter::ABlasterCharacter()
|
ABlasterCharacter::ABlasterCharacter()
|
||||||
|
@ -80,6 +82,16 @@ void ABlasterCharacter::OnRep_ReplicatedMovement()
|
||||||
TimeSinceLastMovementReplication = 0.f;
|
TimeSinceLastMovementReplication = 0.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ABlasterCharacter::Destroyed()
|
||||||
|
{
|
||||||
|
Super::Destroyed();
|
||||||
|
|
||||||
|
if (EliminationBotComponent)
|
||||||
|
{
|
||||||
|
EliminationBotComponent->DestroyComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ABlasterCharacter::PostInitializeComponents()
|
void ABlasterCharacter::PostInitializeComponents()
|
||||||
{
|
{
|
||||||
Super::PostInitializeComponents();
|
Super::PostInitializeComponents();
|
||||||
|
@ -148,6 +160,18 @@ void ABlasterCharacter::MulticastEliminated_Implementation()
|
||||||
// Disable collision
|
// Disable collision
|
||||||
GetCapsuleComponent()->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
GetCapsuleComponent()->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
GetMesh()->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
GetMesh()->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
|
||||||
|
// Elimination bot
|
||||||
|
if (EliminationBotEffect)
|
||||||
|
{
|
||||||
|
const FVector EliminationBotSpawnPoint(GetActorLocation().X, GetActorLocation().Y, GetActorLocation().Z + 200.f);
|
||||||
|
EliminationBotComponent = UGameplayStatics::SpawnEmitterAtLocation(GetWorld(), EliminationBotEffect, EliminationBotSpawnPoint, GetActorRotation());
|
||||||
|
|
||||||
|
}
|
||||||
|
if (EliminationBotSound)
|
||||||
|
{
|
||||||
|
UGameplayStatics::SpawnSoundAtLocation(this, EliminationBotSound, GetActorLocation());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ABlasterCharacter::EliminationTimerFinished()
|
void ABlasterCharacter::EliminationTimerFinished()
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "Blaster/Types/TurningInPlace.h"
|
#include "Blaster/Types/TurningInPlace.h"
|
||||||
#include "Components/TimelineComponent.h"
|
#include "Components/TimelineComponent.h"
|
||||||
#include "GameFramework/Character.h"
|
#include "GameFramework/Character.h"
|
||||||
|
#include "Sound/SoundCue.h"
|
||||||
#include "BlasterCharacter.generated.h"
|
#include "BlasterCharacter.generated.h"
|
||||||
|
|
||||||
UCLASS()
|
UCLASS()
|
||||||
|
@ -21,6 +22,7 @@ public:
|
||||||
virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
|
virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
|
||||||
virtual void PostInitializeComponents() override;
|
virtual void PostInitializeComponents() override;
|
||||||
virtual void OnRep_ReplicatedMovement() override;
|
virtual void OnRep_ReplicatedMovement() override;
|
||||||
|
virtual void Destroyed() override;
|
||||||
void PlayFireMontage(bool bAiming);
|
void PlayFireMontage(bool bAiming);
|
||||||
void PlayEliminatedMontage();
|
void PlayEliminatedMontage();
|
||||||
|
|
||||||
|
@ -120,7 +122,7 @@ private:
|
||||||
bool bEliminated = false;
|
bool bEliminated = false;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly)
|
||||||
float EliminationDelay = 3.f;
|
float EliminationDelay = 2.f;
|
||||||
FTimerHandle EliminationTimer;
|
FTimerHandle EliminationTimer;
|
||||||
|
|
||||||
void EliminationTimerFinished();
|
void EliminationTimerFinished();
|
||||||
|
@ -144,7 +146,16 @@ private:
|
||||||
// Material instance set on the Blueprint, used with the dynamic material instance
|
// Material instance set on the Blueprint, used with the dynamic material instance
|
||||||
UPROPERTY(EditAnywhere, Category = Elimination)
|
UPROPERTY(EditAnywhere, Category = Elimination)
|
||||||
UMaterialInstance* DissolveMaterialInstance;
|
UMaterialInstance* DissolveMaterialInstance;
|
||||||
|
|
||||||
|
// Elimination bot
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
UParticleSystem* EliminationBotEffect;
|
||||||
|
|
||||||
|
UPROPERTY(VisibleAnywhere)
|
||||||
|
UParticleSystemComponent* EliminationBotComponent;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere)
|
||||||
|
USoundCue* EliminationBotSound;
|
||||||
public:
|
public:
|
||||||
void SetOverlappingWeapon(AWeapon* Weapon);
|
void SetOverlappingWeapon(AWeapon* Weapon);
|
||||||
bool IsWeaponEquipped();
|
bool IsWeaponEquipped();
|
||||||
|
|
Loading…
Reference in New Issue