You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.2 KiB
44 lines
1.2 KiB
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "MAICharacterBase.h"
|
|
#include "MAIEnemyShooter.generated.h"
|
|
|
|
class AMWeapon;
|
|
|
|
UCLASS()
|
|
class MECHDEFENCE_API AMAIEnemyShooter : public AMAICharacterBase
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
AMAIEnemyShooter();
|
|
|
|
protected:
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadonly, Category = "Shooter")
|
|
TSubclassOf<AMWeapon> StarterWeaponClass;
|
|
|
|
UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = "Shooter")
|
|
bool bCanIdle;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadonly, Category = "Shooter")
|
|
float PatrolRadius;
|
|
|
|
UPROPERTY(VisibleAnywhere, BlueprintReadonly, Category = "Shooter", meta = (Tooltip = "The place where this actor was when the level began. Used to generate a random point within a radius when in patrol mode"))
|
|
FVector StartingLocation;
|
|
|
|
UPROPERTY(BlueprintReadonly, Category = "Shooter")
|
|
FName WeaponSocketName;
|
|
|
|
UPROPERTY(VisibleAnywhere, BlueprintReadonly, Category = "Shooter")
|
|
AMWeapon* CurrentWeapon;
|
|
|
|
UFUNCTION(BlueprintCallable, Category = "Shooter")
|
|
FVector PickNextPartrolDestination();
|
|
|
|
virtual void BeginPlay() override;
|
|
|
|
virtual UShapeComponent* GetSafeZoneOverlappingShape() override;
|
|
};
|
|
|