diff --git a/Content/Legumix/Ennemy/MeleeEnemy/BB_MeleeEnemy.uasset b/Content/Legumix/Ennemy/MeleeEnemy/BB_MeleeEnemy.uasset index aa3edc2..08f57c9 100644 --- a/Content/Legumix/Ennemy/MeleeEnemy/BB_MeleeEnemy.uasset +++ b/Content/Legumix/Ennemy/MeleeEnemy/BB_MeleeEnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:770633aa823471ca2d270eda0f3cbd762bd953d7ad89be54282f5a7f0750830d -size 3033 +oid sha256:aea1496523de2a9eb01d3ba25a355216e796b8fcf113cbba6617c076731783fb +size 3156 diff --git a/Content/Legumix/Ennemy/MeleeEnemy/BP_MeleeEnemy.uasset b/Content/Legumix/Ennemy/MeleeEnemy/BP_MeleeEnemy.uasset index 566de43..68243db 100644 --- a/Content/Legumix/Ennemy/MeleeEnemy/BP_MeleeEnemy.uasset +++ b/Content/Legumix/Ennemy/MeleeEnemy/BP_MeleeEnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c62df05348edd1d63f63c997b0bfd571b7c3f5ba737e2621dbc3d95fc0ed07f -size 34964 +oid sha256:7af074235a0a90c5a20349e573f003c32c85ff1fd586d2698b2c7ca71afe7f12 +size 79519 diff --git a/Content/Legumix/Ennemy/MeleeEnemy/BTTask_FindPlayer.uasset b/Content/Legumix/Ennemy/MeleeEnemy/BTTask_FindPlayer.uasset index 4a4c9e3..6706e7e 100644 --- a/Content/Legumix/Ennemy/MeleeEnemy/BTTask_FindPlayer.uasset +++ b/Content/Legumix/Ennemy/MeleeEnemy/BTTask_FindPlayer.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:300a00e313fd865b20e4e24a9b94716c4b9f3d8d7d9fb3d67fe0316d4da71d07 -size 39868 +oid sha256:422eb52e1a281b9e45516e2d4251a0982590a974359d715712e13e5fa6ec0dd4 +size 33884 diff --git a/Content/Legumix/Ennemy/MeleeEnemy/BT_MeleeEnemy.uasset b/Content/Legumix/Ennemy/MeleeEnemy/BT_MeleeEnemy.uasset index 95a65f5..926b856 100644 --- a/Content/Legumix/Ennemy/MeleeEnemy/BT_MeleeEnemy.uasset +++ b/Content/Legumix/Ennemy/MeleeEnemy/BT_MeleeEnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5185c1f14b498328275b53a9f694b42d6d3dd1a5e619a2acb0f4fd67de2c8fe -size 10702 +oid sha256:f7aa37a3dfbea708c4751ee85b9ce5a044a2ac04ae10ca5723c65cb0432ff6ea +size 10694 diff --git a/Source/LegumeMix/Private/Enemy/LMEnemy.cpp b/Source/LegumeMix/Private/Enemy/LMEnemy.cpp index f947680..47b24ef 100644 --- a/Source/LegumeMix/Private/Enemy/LMEnemy.cpp +++ b/Source/LegumeMix/Private/Enemy/LMEnemy.cpp @@ -5,6 +5,7 @@ ALMEnemy::ALMEnemy() { PrimaryActorTick.bCanEverTick = true; + EnemyState = EEnemyState::EES_Chasing; } void ALMEnemy::BeginPlay() @@ -12,6 +13,11 @@ void ALMEnemy::BeginPlay() Super::BeginPlay(); } +double ALMEnemy::GetDistanceToTarget(const AActor* TargetedActor) +{ + return (TargetedActor->GetActorLocation() - GetActorLocation()).Length(); +} + void ALMEnemy::Tick(float DeltaTime) { Super::Tick(DeltaTime); diff --git a/Source/LegumeMix/Private/Enemy/MeleeEnemy/LMMeleeEnemy.cpp b/Source/LegumeMix/Private/Enemy/MeleeEnemy/LMMeleeEnemy.cpp index 90f4b0c..a047dd4 100644 --- a/Source/LegumeMix/Private/Enemy/MeleeEnemy/LMMeleeEnemy.cpp +++ b/Source/LegumeMix/Private/Enemy/MeleeEnemy/LMMeleeEnemy.cpp @@ -5,6 +5,7 @@ ALMMeleeEnemy::ALMMeleeEnemy() { PrimaryActorTick.bCanEverTick = true; + AttackingRadius = 100.f; } void ALMMeleeEnemy::BeginPlay() @@ -22,4 +23,3 @@ void ALMMeleeEnemy::SetupPlayerInputComponent(UInputComponent* PlayerInputCompon { Super::SetupPlayerInputComponent(PlayerInputComponent); } - diff --git a/Source/LegumeMix/Public/Enemy/LMEnemy.h b/Source/LegumeMix/Public/Enemy/LMEnemy.h index c95ec3e..3a22c3b 100644 --- a/Source/LegumeMix/Public/Enemy/LMEnemy.h +++ b/Source/LegumeMix/Public/Enemy/LMEnemy.h @@ -6,6 +6,13 @@ #include "GameFramework/Character.h" #include "LMEnemy.generated.h" +UENUM(BlueprintType) +enum class EEnemyState : uint8 +{ + EES_Chasing UMETA(DisplayName = "Chasing"), + EES_Attacking UMETA(DisplayName = "Attacking") +}; + UCLASS() class LEGUMEMIX_API ALMEnemy : public ACharacter { @@ -18,4 +25,18 @@ public: protected: virtual void BeginPlay() override; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (AllowPrivateAccess = "true"), Category = "Legumix") + EEnemyState EnemyState; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (AllowPrivateAccess = "true"), Category = "Legumix") + double AttackingRadius; + + /** + * Returns the distance between the enemy and a target. + * @param TargetedActor + * @returns the distance + */ + UFUNCTION(BlueprintCallable, Category="Legumix", meta=(ReturnDisplayName="Distance", DefaultToSelf="TargetedActor")) + double GetDistanceToTarget(const AActor* TargetedActor); }; diff --git a/Source/LegumeMix/Public/Enemy/MeleeEnemy/LMMeleeEnemy.h b/Source/LegumeMix/Public/Enemy/MeleeEnemy/LMMeleeEnemy.h index ab73814..58a36c5 100644 --- a/Source/LegumeMix/Public/Enemy/MeleeEnemy/LMMeleeEnemy.h +++ b/Source/LegumeMix/Public/Enemy/MeleeEnemy/LMMeleeEnemy.h @@ -18,5 +18,5 @@ public: protected: virtual void BeginPlay() override; - + };