diff --git a/Content/Maps/IceLandMap.umap b/Content/Maps/IceLandMap.umap index c7c9f1b6..af4fba51 100644 Binary files a/Content/Maps/IceLandMap.umap and b/Content/Maps/IceLandMap.umap differ diff --git a/Source/D1/AI/GruntlingEnemy.cpp b/Source/D1/AI/GruntlingEnemy.cpp index 5974d3d4..81f72fc1 100644 --- a/Source/D1/AI/GruntlingEnemy.cpp +++ b/Source/D1/AI/GruntlingEnemy.cpp @@ -94,7 +94,6 @@ void AGruntlingEnemy::OnCombatToggled(bool IsCombatEnabled) void AGruntlingEnemy::PerformDeath() { - //TODO : 죽었을 때 무기에 Collision이 남아있는 버그 있음 Super::PerformDeath(); SimulateWeaponPhysics(); GetCharacterMovement()->SetMovementMode(MOVE_None); diff --git a/Source/D1/CombatPlayerCharacter.cpp b/Source/D1/CombatPlayerCharacter.cpp index 2514b844..e59bca3c 100644 --- a/Source/D1/CombatPlayerCharacter.cpp +++ b/Source/D1/CombatPlayerCharacter.cpp @@ -130,7 +130,7 @@ void ACombatPlayerCharacter::BeginPlay() } } - EquipmentComponent->InitializeEquipment(); + EquipmentComponent->InitializeEquipment(PotionUI); //Setting Timeline - if you set on Constructor, Can not get Curve FOnTimelineFloat TimelineFloatCallback; @@ -368,7 +368,6 @@ float ACombatPlayerCharacter::PerformAttack(FGameplayTag AttackType, int32 Attac bool ACombatPlayerCharacter::PerformCustomAction(FGameplayTag ActionTag, FGameplayTag StateTag, UAnimMontage* InMontage, float fMontagePlayRate, bool bAutoReset) { - UAnimMontage* actionMontage = InMontage; if (IsValid(actionMontage)) { diff --git a/Source/D1/CombatPlayerCharacter.h b/Source/D1/CombatPlayerCharacter.h index 83c243a0..5cfdfe70 100644 --- a/Source/D1/CombatPlayerCharacter.h +++ b/Source/D1/CombatPlayerCharacter.h @@ -242,7 +242,8 @@ public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Montage|Death", meta = (AllowPrivateAccess = "true")) TArray> DeathAnimations; - TObjectPtr PotionUI; + UPROPERTY(VisibleAnywhere, BlueprintReadWrite) + TObjectPtr PotionUI; private: //Timeline UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Timeline", meta = (AllowPrivateAccess = "true")) diff --git a/Source/D1/Components/EquipmentComponent.cpp b/Source/D1/Components/EquipmentComponent.cpp index e97eea6e..adce97a0 100644 --- a/Source/D1/Components/EquipmentComponent.cpp +++ b/Source/D1/Components/EquipmentComponent.cpp @@ -34,8 +34,10 @@ void UEquipmentComponent::TickComponent(float DeltaTime, ELevelTick TickType, FA // ... } -void UEquipmentComponent::InitializeEquipment() +void UEquipmentComponent::InitializeEquipment(UUserWidget* potionUI) { + EquippedPotionUI = potionUI; + for (auto item : EquippedItems) UnequipItem(item); @@ -91,6 +93,12 @@ bool UEquipmentComponent::EquipItem(TSubclassOf InEquipment) { SpawnItem->OnEquipped(); EquippedItems.AddUnique(SpawnItem); + + if(ABaseConsumable* consumableItem = Cast(SpawnItem)) + { + if(UUI_PotionAmountText* PotionAmountText = Cast(EquippedPotionUI)) + PotionAmountText->InitializePotionData(consumableItem); //TODO : [UMG] 관련 부분 구조 변경 필요 + } } return true; } diff --git a/Source/D1/Components/EquipmentComponent.h b/Source/D1/Components/EquipmentComponent.h index 657282d4..5bf4d7ff 100644 --- a/Source/D1/Components/EquipmentComponent.h +++ b/Source/D1/Components/EquipmentComponent.h @@ -27,7 +27,7 @@ public: virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override; public: - void InitializeEquipment(); + void InitializeEquipment(UUserWidget* potionUI); bool PerformActionFromItem(FGameplayTag ItemTag); bool EquipItem(TSubclassOf InEquipment); void UnequipItem(ABaseEquippable* EquipmentToUnequip); @@ -41,4 +41,7 @@ public: UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category="Default") TArray> EquippedItems; + + UPROPERTY(VisibleAnywhere, BlueprintReadWrite) + TObjectPtr EquippedPotionUI; };