diff --git a/Content/Assets/Chainer/M_ChainerMesh.uasset b/Content/Assets/Chainer/M_ChainerMesh.uasset new file mode 100644 index 0000000..37ce266 Binary files /dev/null and b/Content/Assets/Chainer/M_ChainerMesh.uasset differ diff --git a/Content/Assets/Chainer/SM_Chainer.uasset b/Content/Assets/Chainer/SM_Chainer.uasset new file mode 100644 index 0000000..28b56f0 Binary files /dev/null and b/Content/Assets/Chainer/SM_Chainer.uasset differ diff --git a/Content/Assets/Firecrackers/InstantDeath/M_Glass.uasset b/Content/Assets/Firecrackers/InstantDeath/M_Glass.uasset new file mode 100644 index 0000000..c15bc85 Binary files /dev/null and b/Content/Assets/Firecrackers/InstantDeath/M_Glass.uasset differ diff --git a/Content/Assets/Firecrackers/InstantDeath/M_Main.uasset b/Content/Assets/Firecrackers/InstantDeath/M_Main.uasset new file mode 100644 index 0000000..c42199f Binary files /dev/null and b/Content/Assets/Firecrackers/InstantDeath/M_Main.uasset differ diff --git a/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2.uasset b/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2.uasset new file mode 100644 index 0000000..533a346 Binary files /dev/null and b/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2.uasset differ diff --git a/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2_M_Main_BaseColor.uasset b/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2_M_Main_BaseColor.uasset new file mode 100644 index 0000000..aa5fdf8 Binary files /dev/null and b/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2_M_Main_BaseColor.uasset differ diff --git a/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2_M_Main_Normal.uasset b/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2_M_Main_Normal.uasset new file mode 100644 index 0000000..d4ae6a5 Binary files /dev/null and b/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2_M_Main_Normal.uasset differ diff --git a/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2_M_Main_OcclusionRoughnessMetallic.uasset b/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2_M_Main_OcclusionRoughnessMetallic.uasset new file mode 100644 index 0000000..388d448 Binary files /dev/null and b/Content/Assets/Firecrackers/InstantDeath/SM_InstantDeath2_M_Main_OcclusionRoughnessMetallic.uasset differ diff --git a/Content/Assets/Hand/Anim/Anim_Hand_InstantDeath.uasset b/Content/Assets/Hand/Anim/Anim_Hand_InstantDeath.uasset index 7987fb8..1fb2603 100644 Binary files a/Content/Assets/Hand/Anim/Anim_Hand_InstantDeath.uasset and b/Content/Assets/Hand/Anim/Anim_Hand_InstantDeath.uasset differ diff --git a/Content/Assets/Hand/Anim/Anim_Hand_InstantDeath2.uasset b/Content/Assets/Hand/Anim/Anim_Hand_InstantDeath2.uasset new file mode 100644 index 0000000..518d584 Binary files /dev/null and b/Content/Assets/Hand/Anim/Anim_Hand_InstantDeath2.uasset differ diff --git a/Content/Assets/SM_GuideSphere.uasset b/Content/Assets/SM_GuideSphere.uasset new file mode 100644 index 0000000..5b8c7b3 Binary files /dev/null and b/Content/Assets/SM_GuideSphere.uasset differ diff --git a/Content/Blueprints/BP_Chainer.uasset b/Content/Blueprints/BP_Chainer.uasset index d914851..500e7a9 100644 Binary files a/Content/Blueprints/BP_Chainer.uasset and b/Content/Blueprints/BP_Chainer.uasset differ diff --git a/Content/Blueprints/BP_FireworkBase.uasset b/Content/Blueprints/BP_FireworkBase.uasset index 862287a..aabcde7 100644 Binary files a/Content/Blueprints/BP_FireworkBase.uasset and b/Content/Blueprints/BP_FireworkBase.uasset differ diff --git a/Content/Blueprints/BP_FireworksPawn.uasset b/Content/Blueprints/BP_FireworksPawn.uasset index d8d2ba5..777fe6a 100644 Binary files a/Content/Blueprints/BP_FireworksPawn.uasset and b/Content/Blueprints/BP_FireworksPawn.uasset differ diff --git a/Content/Blueprints/Blocks/BP_Block.uasset b/Content/Blueprints/Blocks/BP_Block.uasset index fcb013c..5a6f5d1 100644 Binary files a/Content/Blueprints/Blocks/BP_Block.uasset and b/Content/Blueprints/Blocks/BP_Block.uasset differ diff --git a/Content/Blueprints/Fireworks/BP_Cluster.uasset b/Content/Blueprints/Fireworks/BP_Cluster.uasset index f1a84bd..848434b 100644 Binary files a/Content/Blueprints/Fireworks/BP_Cluster.uasset and b/Content/Blueprints/Fireworks/BP_Cluster.uasset differ diff --git a/Content/Blueprints/Fireworks/BP_Impact.uasset b/Content/Blueprints/Fireworks/BP_Impact.uasset index c00cbf5..49b9806 100644 Binary files a/Content/Blueprints/Fireworks/BP_Impact.uasset and b/Content/Blueprints/Fireworks/BP_Impact.uasset differ diff --git a/Content/Blueprints/Fireworks/BP_RocketGuided.uasset b/Content/Blueprints/Fireworks/BP_RocketGuided.uasset index d43802c..1bf8445 100644 Binary files a/Content/Blueprints/Fireworks/BP_RocketGuided.uasset and b/Content/Blueprints/Fireworks/BP_RocketGuided.uasset differ diff --git a/Content/Blueprints/Fireworks/BP_Sticky.uasset b/Content/Blueprints/Fireworks/BP_Sticky.uasset index c76d577..e1608d4 100644 Binary files a/Content/Blueprints/Fireworks/BP_Sticky.uasset and b/Content/Blueprints/Fireworks/BP_Sticky.uasset differ diff --git a/Content/Blueprints/UI/BP_HoldToPause.uasset b/Content/Blueprints/UI/BP_HoldToPause.uasset deleted file mode 100644 index efafbf1..0000000 Binary files a/Content/Blueprints/UI/BP_HoldToPause.uasset and /dev/null differ diff --git a/Content/Blueprints/UI/BP_PauseAndShop.uasset b/Content/Blueprints/UI/BP_PauseAndShop.uasset index 2a25258..6dac970 100644 Binary files a/Content/Blueprints/UI/BP_PauseAndShop.uasset and b/Content/Blueprints/UI/BP_PauseAndShop.uasset differ diff --git a/Content/Blueprints/UI/BP_WristMenu.uasset b/Content/Blueprints/UI/BP_WristMenu.uasset index 706ee79..00edd88 100644 Binary files a/Content/Blueprints/UI/BP_WristMenu.uasset and b/Content/Blueprints/UI/BP_WristMenu.uasset differ diff --git a/Content/Levels/L_MainLevel.umap b/Content/Levels/L_MainLevel.umap index e16a459..2fa3d5d 100644 Binary files a/Content/Levels/L_MainLevel.umap and b/Content/Levels/L_MainLevel.umap differ diff --git a/Content/Materials/M_GuideSphere.uasset b/Content/Materials/M_GuideSphere.uasset new file mode 100644 index 0000000..47dc265 Binary files /dev/null and b/Content/Materials/M_GuideSphere.uasset differ diff --git a/Content/UI/UI_ShopTile.uasset b/Content/UI/UI_ShopTile.uasset index 446345b..14cacc3 100644 Binary files a/Content/UI/UI_ShopTile.uasset and b/Content/UI/UI_ShopTile.uasset differ diff --git a/Content/UI/W_AfterMatch.uasset b/Content/UI/W_AfterMatch.uasset index 35442eb..46f68c7 100644 Binary files a/Content/UI/W_AfterMatch.uasset and b/Content/UI/W_AfterMatch.uasset differ diff --git a/Content/UI/W_HoldToPause.uasset b/Content/UI/W_HoldToPause.uasset deleted file mode 100644 index 8f1ce62..0000000 Binary files a/Content/UI/W_HoldToPause.uasset and /dev/null differ diff --git a/Content/UI/W_Shop.uasset b/Content/UI/W_Shop.uasset index f4e994f..fd59b05 100644 Binary files a/Content/UI/W_Shop.uasset and b/Content/UI/W_Shop.uasset differ diff --git a/Source/FireworkDuels/BuildingBlock.cpp b/Source/FireworkDuels/BuildingBlock.cpp index 036d578..064de71 100644 --- a/Source/FireworkDuels/BuildingBlock.cpp +++ b/Source/FireworkDuels/BuildingBlock.cpp @@ -15,6 +15,7 @@ void ABuildingBlock::TakeHit() { HitsRemaining -= 1; if (HitsRemaining <= 0) { + Ripple(); DestroyBlock(); } } @@ -54,10 +55,34 @@ TArray ABuildingBlock::GetSameVariantNeighbours() { } void ABuildingBlock::DestroyBlock_Implementation() { - IsBeingDestroyed = true; - OnBlockDestroyed.ExecuteIfBound(); + if (!IsBeingDestroyed) { + IsBeingDestroyed = true; + OnBlockDestroyed.ExecuteIfBound(); + } } void ABuildingBlock::DestroyWithDelay_Implementation() { IsBeingDestroyed = true; + OnBlockDestroyed.ExecuteIfBound(); +} + +void ABuildingBlock::Ripple() { + + TArray> TraceObjectTypes; + TraceObjectTypes.Add(UEngineTypes::ConvertToObjectType(ECC_Visibility)); + + TArray IgnoreActors; + IgnoreActors.Add(this); + + TArray OutActors; + + UKismetSystemLibrary::SphereOverlapActors(GetWorld(), this->GetActorLocation(), RippleRadius, TraceObjectTypes, ABuildingBlock::StaticClass(), IgnoreActors, OutActors); + + for (AActor* OverlappedActor : OutActors) { + ABuildingBlock* ThisBlock = Cast(OverlappedActor); + if (ThisBlock && !ThisBlock->IsBeingDestroyed) { + float ThisDistance = UKismetMathLibrary::Vector_Distance(this->GetActorLocation(), ThisBlock->GetActorLocation()); + ThisBlock->RippleEffects(ThisDistance); + } + } } \ No newline at end of file diff --git a/Source/FireworkDuels/BuildingBlock.h b/Source/FireworkDuels/BuildingBlock.h index cc1a02a..d72f432 100644 --- a/Source/FireworkDuels/BuildingBlock.h +++ b/Source/FireworkDuels/BuildingBlock.h @@ -5,6 +5,8 @@ #include "CoreMinimal.h" #include "Components/StaticMeshComponent.h" #include "DrawDebugHelpers.h" +#include "Kismet/KismetSystemLibrary.h" +#include "Kismet/KismetMathLibrary.h" #include "BuildingBlock.generated.h" DECLARE_DELEGATE(FBlockDestroyed); @@ -37,6 +39,9 @@ public: UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) int32 Variant = 0; + UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) + float RippleRadius = 200.f; + UPROPERTY(BlueprintReadOnly) bool IsBeingDestroyed = false; @@ -54,6 +59,12 @@ public: UFUNCTION(BlueprintNativeEvent, BlueprintCallable) void DestroyWithDelay(); + UFUNCTION() + void Ripple(); + + UFUNCTION(BlueprintImplementableEvent) + void RippleEffects(float Distance); + // Get neighbouring Blocks with same color variant UFUNCTION(BlueprintCallable) TArray GetSameVariantNeighbours();