From e58d3eb0dbdae814e0a1d19b34a7baf4cf73da23 Mon Sep 17 00:00:00 2001 From: Emilie Schott Date: Wed, 12 Mar 2025 17:45:00 +0100 Subject: [PATCH] Add projectile --- .../MeleeEnemy/AI/Task/BTTask_Attack.uasset | 3 -- .../AI/Task/BTTask_MeleeAttack.uasset | 3 ++ .../RangeEnemy/AI/BT_RangeEnnemy.uasset | 4 +-- .../Ennemy/RangeEnemy/AI/EQC_Player.uasset | 4 +-- .../RangeEnemy/AI/EQS_RangeEnnemy.uasset | 2 +- .../AI/Task/BTTask_RangeAttack.uasset | 3 ++ .../Projectile/BP_Projectile.uasset | 3 ++ .../Projectile/M_PlaceHolderProjectile.uasset | 3 ++ .../M_PlaceHolderProjectile_Inst.uasset | 3 ++ Content/Legumix/Levels/LVL_GYM_00.umap | 2 +- .../DistantEnemy/Projectile/BPProjectile.cpp | 33 +++++++++++++++++++ .../DistantEnemy/Projectile/BPProjectile.h | 33 +++++++++++++++++++ 12 files changed, 87 insertions(+), 9 deletions(-) delete mode 100644 Content/Legumix/Ennemy/MeleeEnemy/AI/Task/BTTask_Attack.uasset create mode 100644 Content/Legumix/Ennemy/MeleeEnemy/AI/Task/BTTask_MeleeAttack.uasset create mode 100644 Content/Legumix/Ennemy/RangeEnemy/AI/Task/BTTask_RangeAttack.uasset create mode 100644 Content/Legumix/Ennemy/RangeEnemy/Projectile/BP_Projectile.uasset create mode 100644 Content/Legumix/Ennemy/RangeEnemy/Projectile/M_PlaceHolderProjectile.uasset create mode 100644 Content/Legumix/Ennemy/RangeEnemy/Projectile/M_PlaceHolderProjectile_Inst.uasset create mode 100644 Source/LegumeMix/Private/Enemy/DistantEnemy/Projectile/BPProjectile.cpp create mode 100644 Source/LegumeMix/Public/Enemy/DistantEnemy/Projectile/BPProjectile.h diff --git a/Content/Legumix/Ennemy/MeleeEnemy/AI/Task/BTTask_Attack.uasset b/Content/Legumix/Ennemy/MeleeEnemy/AI/Task/BTTask_Attack.uasset deleted file mode 100644 index 4e413b9..0000000 --- a/Content/Legumix/Ennemy/MeleeEnemy/AI/Task/BTTask_Attack.uasset +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dcae55c4ccfdea60bf29f8bc1bac6bffaf2d85583ea75539a95aae75caa4b5fa -size 38687 diff --git a/Content/Legumix/Ennemy/MeleeEnemy/AI/Task/BTTask_MeleeAttack.uasset b/Content/Legumix/Ennemy/MeleeEnemy/AI/Task/BTTask_MeleeAttack.uasset new file mode 100644 index 0000000..e74fb10 --- /dev/null +++ b/Content/Legumix/Ennemy/MeleeEnemy/AI/Task/BTTask_MeleeAttack.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3179ac6f7580a3e7c62d8304316efeaa1f61ec3c78349862b9c04c74a5a4d4e1 +size 38505 diff --git a/Content/Legumix/Ennemy/RangeEnemy/AI/BT_RangeEnnemy.uasset b/Content/Legumix/Ennemy/RangeEnemy/AI/BT_RangeEnnemy.uasset index cb182f6..8b30010 100644 --- a/Content/Legumix/Ennemy/RangeEnemy/AI/BT_RangeEnnemy.uasset +++ b/Content/Legumix/Ennemy/RangeEnemy/AI/BT_RangeEnnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:258516ea568dfb3f4a566d17f931ab040e468ecf86ec4d896c82efb4a451ec4e -size 10637 +oid sha256:69d08e5578791bc65b73d8ce68af096d078170177419fa466a459ac40a932f78 +size 13117 diff --git a/Content/Legumix/Ennemy/RangeEnemy/AI/EQC_Player.uasset b/Content/Legumix/Ennemy/RangeEnemy/AI/EQC_Player.uasset index 2c10a5e..bee3e05 100644 --- a/Content/Legumix/Ennemy/RangeEnemy/AI/EQC_Player.uasset +++ b/Content/Legumix/Ennemy/RangeEnemy/AI/EQC_Player.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:45b6992151866cba2cb938feac02ec59c240d957147446c3d2dbe9f6b37e7f12 -size 18184 +oid sha256:5fc205f45998d3780314dfef90fd303689496684673cf4abec0dbcbd8552e7f6 +size 18213 diff --git a/Content/Legumix/Ennemy/RangeEnemy/AI/EQS_RangeEnnemy.uasset b/Content/Legumix/Ennemy/RangeEnemy/AI/EQS_RangeEnnemy.uasset index e517c96..865fd00 100644 --- a/Content/Legumix/Ennemy/RangeEnemy/AI/EQS_RangeEnnemy.uasset +++ b/Content/Legumix/Ennemy/RangeEnemy/AI/EQS_RangeEnnemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8784ab350cbbaaf34741e6ac3d8952bb4e93481773b71e7223900db9c317fd28 +oid sha256:3157ebe08fc1aa3036b2f0372bcaa66836609c06cb575fa945eb8e97bd74846c size 37808 diff --git a/Content/Legumix/Ennemy/RangeEnemy/AI/Task/BTTask_RangeAttack.uasset b/Content/Legumix/Ennemy/RangeEnemy/AI/Task/BTTask_RangeAttack.uasset new file mode 100644 index 0000000..2eb0628 --- /dev/null +++ b/Content/Legumix/Ennemy/RangeEnemy/AI/Task/BTTask_RangeAttack.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fbc2555581f740c7b73ec47738a1bd5944b8823b10c148849f3b4e7faecb23b +size 38793 diff --git a/Content/Legumix/Ennemy/RangeEnemy/Projectile/BP_Projectile.uasset b/Content/Legumix/Ennemy/RangeEnemy/Projectile/BP_Projectile.uasset new file mode 100644 index 0000000..509f964 --- /dev/null +++ b/Content/Legumix/Ennemy/RangeEnemy/Projectile/BP_Projectile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2357065411e14ed7ae5e44663c3d5883ccba3c0203fd996bdd22a22cb1518153 +size 32023 diff --git a/Content/Legumix/Ennemy/RangeEnemy/Projectile/M_PlaceHolderProjectile.uasset b/Content/Legumix/Ennemy/RangeEnemy/Projectile/M_PlaceHolderProjectile.uasset new file mode 100644 index 0000000..4987e49 --- /dev/null +++ b/Content/Legumix/Ennemy/RangeEnemy/Projectile/M_PlaceHolderProjectile.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e411e2e30cd3f91402238f700fcf66442d03f745fd755728df22ee149b0a9440 +size 12895 diff --git a/Content/Legumix/Ennemy/RangeEnemy/Projectile/M_PlaceHolderProjectile_Inst.uasset b/Content/Legumix/Ennemy/RangeEnemy/Projectile/M_PlaceHolderProjectile_Inst.uasset new file mode 100644 index 0000000..22515a3 --- /dev/null +++ b/Content/Legumix/Ennemy/RangeEnemy/Projectile/M_PlaceHolderProjectile_Inst.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a8b97acfe8d9bdf7d8733f5e3c1cefd181c576e94536aebb7c6fc004b0335b7 +size 7947 diff --git a/Content/Legumix/Levels/LVL_GYM_00.umap b/Content/Legumix/Levels/LVL_GYM_00.umap index 0bffa26..aebae42 100644 --- a/Content/Legumix/Levels/LVL_GYM_00.umap +++ b/Content/Legumix/Levels/LVL_GYM_00.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2fd428b56b82797d3db0e4219288a192ac4c2afcf0663e64b4602dab6a8a0afb +oid sha256:0f367e9a989a37f5af630c2c2a3a79d5a8518ace5a9c4340b09f09222f062ff8 size 987760 diff --git a/Source/LegumeMix/Private/Enemy/DistantEnemy/Projectile/BPProjectile.cpp b/Source/LegumeMix/Private/Enemy/DistantEnemy/Projectile/BPProjectile.cpp new file mode 100644 index 0000000..13bbbb4 --- /dev/null +++ b/Source/LegumeMix/Private/Enemy/DistantEnemy/Projectile/BPProjectile.cpp @@ -0,0 +1,33 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "Enemy/DistantEnemy/Projectile/BPProjectile.h" +#include "Components/SphereComponent.h" + +// Sets default values +ABPProjectile::ABPProjectile() +{ + PrimaryActorTick.bCanEverTick = true; + ProjectileCollision = CreateDefaultSubobject(TEXT("ProjectileCollision")); + SetRootComponent(ProjectileCollision); + // Collisions : + ProjectileCollision->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics); + ProjectileCollision->SetNotifyRigidBodyCollision(true); + ProjectileCollision->BodyInstance.SetCollisionProfileName(TEXT("BlockAllDynamic")); + + ProjectileMesh = CreateDefaultSubobject(TEXT("ProjectileMesh")); + ProjectileMesh->SetupAttachment(ProjectileCollision); +} + +void ABPProjectile::BeginPlay() +{ + Super::BeginPlay(); + +} + +void ABPProjectile::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + +} + diff --git a/Source/LegumeMix/Public/Enemy/DistantEnemy/Projectile/BPProjectile.h b/Source/LegumeMix/Public/Enemy/DistantEnemy/Projectile/BPProjectile.h new file mode 100644 index 0000000..ca1193b --- /dev/null +++ b/Source/LegumeMix/Public/Enemy/DistantEnemy/Projectile/BPProjectile.h @@ -0,0 +1,33 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "BPProjectile.generated.h" + +class UStaticMeshComponent; +class USphereComponent; + +UCLASS() +class LEGUMEMIX_API ABPProjectile : public AActor +{ + GENERATED_BODY() + +public: + ABPProjectile(); + +protected: + virtual void BeginPlay() override; + +public: + virtual void Tick(float DeltaTime) override; + +private: + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Legumix, meta = (AllowPrivateAccess = true)) + TObjectPtr ProjectileCollision; + + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Legumix, meta = (AllowPrivateAccess = true)) + TObjectPtr ProjectileMesh; + +};