// Project Lab - NHTV Igad #pragma once #include "Creatures/RangedEnemy.h" #include "GeneralEnemy.generated.h" /** * */ UCLASS() class UNREALPROJECT_API AGeneralEnemy : public ARangedEnemy { GENERATED_BODY() public: AGeneralEnemy(); virtual void BeginPlay() override; virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; virtual void Tick(float deltaTime) override; virtual void NativeOnKilled(class ANetworkCharacter* killer, class UAbilityInfo* ability) override; virtual int NativeDealDamage(class ANetworkCharacter* dealer, int32 damage, float armorPercentageIgnore, class UAbilityInfo* ability)override; void IdleFormation(float deltaTime); void ChargeFormation(); void DefaultFormation(); void SingleTargetFormation(int enemyNum ); TArray formationPoints; TArray patrolLocations; UPROPERTY() TArray formationEnemies; UPROPERTY(EditAnywhere, Category = "General settings") float distance; UPROPERTY(EditAnywhere, Category = "General settings") float oFormationRadius; private: int count; };