From 1bc4df3e52f744150371abf507db08a0d2594edd Mon Sep 17 00:00:00 2001 From: "PCYPC\\pcy35" Date: Thu, 23 Nov 2023 21:01:48 +0900 Subject: [PATCH] =?UTF-8?q?[=EB=B0=95=EC=B9=98=EC=98=81]=20=ED=8F=AC?= =?UTF-8?q?=EC=85=98=20=EA=B0=9C=EC=88=98=EC=A0=9C=ED=95=9C=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Config/DefaultEngine.ini | 2 ++ .../CourseFiles/UI/T_UI_Potion_Health.uasset | Bin 13894 -> 16828 bytes Content/CombatSystem/UI/WBP_MainHUD.uasset | Bin 33675 -> 37588 bytes Source/D1/Actor/BaseConsumable.cpp | 8 +++++++ Source/D1/Actor/BaseConsumable.h | 5 +++++ Source/D1/CombatPlayerCharacter.cpp | 20 +++++++++++++++++- Source/D1/CombatPlayerCharacter.h | 1 + Source/D1/UI/CombatHUD.cpp | 6 ++++++ Source/D1/UI/CombatHUD.h | 2 ++ 9 files changed, 43 insertions(+), 1 deletion(-) diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index b1c2dcf5..f4db7e47 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -153,4 +153,6 @@ ManualIPAddress= +PropertyRedirects=(OldName="/Script/D1.CombatPlayerCharacter.Weapon",NewName="/Script/D1.CombatPlayerCharacter.StartingEquipment") +PropertyRedirects=(OldName="/Script/D1.CombatPlayerCharacter.StartingEquipment",NewName="/Script/D1.CombatPlayerCharacter.EquippedItems") +PropertyRedirects=(OldName="/Script/D1.CombatPlayerCharacter.EquippedItems",NewName="/Script/D1.CombatPlayerCharacter.StartingEquipments") ++PropertyRedirects=(OldName="/Script/D1.BaseConsumable.NumberOfUses",NewName="/Script/D1.BaseConsumable.CurrentNumberOfUses") ++PropertyRedirects=(OldName="/Script/D1.BaseConsumable.NumberOfUses",NewName="/Script/D1.BaseConsumable.CurrentNumberOfUses") diff --git a/Content/CombatSystem/CourseFiles/UI/T_UI_Potion_Health.uasset b/Content/CombatSystem/CourseFiles/UI/T_UI_Potion_Health.uasset index a61df8d2a27bcdb1fac0d0625f163182a7fc9b60..684262ec185199976fb68292869ca47ebf371fac 100644 GIT binary patch delta 5887 zcmb_gdpuOz+h1csk!$W^+`=)6!UnS^s(a=+K5-K4{L^AHTnZ4h=$Ba(rIKOlLc%RQ_ujhHz`mVM1diL|Iwf0lJx9kv3r1Fr) zrD+5~w&DTc;{sqLO+*Xln`S1-rKOnWP7*K&0A%9O0wtfcY)vnpr2z1t3W*PZuOUh9TcY_cgUV?!TUFXsEjv8xtD`n}8c| z0UR)Wbb_jd6X##Y(gDbyOu%&gbtqzf|@m|c)xU>G>i;$r3 zePC?r=#@f?C2MfhL~iHR0%!-vol#-oAv@=rm-Rm_7se{du8vMy$QD~{o$P#^EJ3yg z_dsDg_a-h#2W`d3V4i^)^!-fOGJ(x8_E#MCF*g1O+!Tu2@Xt7CVd6;?X!y^-1>6LR zGyV^_aTI6tKX4>g8#IsLtZuOt&jaUiy8k-hJV5V1;(lb$5B_c9_5X1|{Y7vL)DrA! zmMddcW`_#k;{=VCB2`35f@&(gglfj8ErES94kn%5xlw5Wav6nS#>F6LV1X$%)=zl> zg5%egz`he_l$YG7g3{Ji3y^In#FSMD(8vP7j4f*ssX6>s5*(Eut**e@QQAjb=&iWi zk!!a|VdU~)E=WC-0zP8JVE7i#pbm^YNJm|YDl$l<}$^5*c}2^Z$;F(%nPrBWh`8SttO z?#DBH@zwnWj;|mie5T(ldFc7|Q6p_5%8s-5wpf@N6QB3v3oKn#>J_ReJ=0>l*v z1LOB)nV;j~qBUKH3x<$DcA4Ar&mOE_A}dEEnZPgyCdM? zub~Ji+yXuF`%qKS(w+wQUL*CG%BSSttrHzbK(i_#{Ymucz;~U~Ns}GjXNXD1s-^h% z?;d&LeEjkGD^Gii!XX6gPlUs8eWzU9y96d0dDFRX1lH_u&y}qT%z@oDWH82mBmQu@(zJCHaA$6bn{A8pB%H8d*c@So z_BB>zwsZ1MgRg<`^{( zUZlG)5>ydzqYnXQ?)|x#=Yot2T)`J2#OzI1LZ>Q3ijJ!I_9l(U*+{!<3ddFZm(f-f zT}6OPKnNoS$J~?A!dRcZ$M?XS!0ey5T3yg*K-Fco_IEvuH+_2hqh{LXXV+s=1=aDb zw#h?t?$!v1qYi| z9TjRHGd2so3*7@W1^xr13Q5iR86zLU7W z(@=zS((x?M!4itw+XA(-p^cLFb#bp;U)$!sTN;pBD4%mX#X-rdp4y$~rLXzhLF0#g zv4Xq}PR#Yc9J0PE++HwOA9HI$FOW(Xl!gqLL6zsdi};ItcHbM)RKQQ4Oe(AJp_e1z zNG}35+pc?eLFMz5ZCgXzJ;z81dPjSiq{#JKo3)=kR-k~<7-DFZ4Bjs!x?yL&=X?47 zIDu^qyozKoJ6<2Gz$Dyv8t<=1n+!9#YM%nZPvy$yO^}1-t!0(xU_aTe=6>Su^oR>; zC9yS z^k<@B24S)7S>AQx!HZ}k!nTgy%{8U<)%${JrKWOZ@jf5=or(b=1WYoxCo0i1=rkHk-_8iup};vY!mJ-S z`Z#mNZ$Q9OzrpP3UC$Ljw6N93$ki`LA2Nu6X=0lG8C%iQ^Gv(}O{OC{Lfhj|ZNWVz zF9JL%Jzw6hcS(In>di`I)CELUL(qCx*Ms^L?X_Q{;mphQD<%=8B5F+cLO2~R!u4Bm z<$|ra_ytd|EJL>*Wz{?c_=F&!e^>dZGTAE9=sN$3i772O$rm4i#+;BfeTs2B#)TO} zMnDE% zu74`G@8)|*28#F!|Uw>mvQfeX4U=XiH8g0)Z5naofb3r<;bem5-#W zlhAFnEkp3@In7&@(!cph=(pt=0HJD{o4h&#(jtao9BZcEVNp3*IH8p=ElTULV5k_b zXL4UB(N~eG%OogZ7C+})O*^=g)(Nl#MOf$tuUK%cI`$ID14Y9_%-JvH=zu+6^CEkAUgr==bk7mA%sz zB@6o?V2B3Sc@9t7WFf#r(r2o-;!#No&s$G-X7P})wcyb2`>Tkw@@90aMU4fV)sF9Y zb9poA!9c|g=xRWlagR>29PjnVGcsVr9rZ)QS+p?VYzS=a%$vKORh=h=2JIbAbswC{ z5P~u-%*a3fC?s>U-&A)1&;^|M{HOkiMZITMq`+?4H?%ua{;VL0Twpk2wPeI3J7a6~ z5M!`(+RJ1}epG0tPd}(uh@K(%30*IC-f@*xI3pnS$rLk^ihzxJ1LD22#f&7aior74 ztVo8SC>Ea?y0jVmYxK)4MF2D|;yjRzVijTuv)u$ZL8D{g@*!Ty*b<`qVhKE63n`-T z8>9DxD72BjY*e;@H^yt{es`z9c8PB{jB%zkqfWH)<%mZ$G}7p@N9|E_G%VHZ1E*`i z=7gp@x%ij+&35ZR)07YT+x_I|@6~Gz#2certV^1=Ug%Ia|3T{Kk0*BL2YvCHn@oOP z{Uwy*zOZu;|Gp313^WqY@Ot+m*f{C)u8^;tVTUwrEW2~@2Q$khVUYl3IF2-`jD{0| ze%y~R_8E<30>hUpNC^7#)^xJ7bAz>S{(G-m8xM+v*oZC1)mfTiXD{msxulN(``z#u zWHm6DGEzk=D@tk5fi%FV)jxf1wBGpfqtIhT`pqY*YLAS)oX9WfX2|98$M)SxyGczs z%Y?dNrPBF(1ZS6Bj1!;1D&G7lqB9zABt|quP97eG(hFQKMGfVDytJ!*rIlCuB%bQc zea*+@>NU?!%Zts=e0XoF9h^q5Pgno>C{f2#A&N_q;~7sxw>@3W^-*o$kkUz++ z-l4*u`_PTrFq^X7ThV1a*?aJ(3hUDKj|-OPWSxB9!27`7?XAt7fIM>g$v37mS;iLA zl*V}vRgc<8_!F zF?1sPl99)af?u}ujO=aTy>IWm*NFT_%1j*e3`*3GI_pdro$i`?j(|iEV=Vrmi+*wX zxD?z(n)*b7RnPAa{vf)RiCzv4`@v$kp)i;8G-3bb)=AsPTv>*#S7N$sr_n2+P41e4 z{Jp8JKxubr1Tb;EpRF7Fp8@75n+v1Y;(ID+jO5Vx_-dh6)w2R}#Zuywl z4qp<3l7rh^LcQyoJvZ-2D?Oj|=cxM@f7Ag{B2ONg(Nb2V%C0cM2^YGr*oKqG(m@VE z;UU|1ZVCzs*cOKVGoYy;hfN9_Ew-5HQ%l5duUI5GRG1)6!l|xAp%^L6Gq8lsSwHG% zUW-LUYM;bz+$yTAq@)Q4$ok<&vvl93H00PFWY~N=n-kewiF!qHkHw#pAna@bE4#o3 zu^0}hvQ^Glx$F#sEW2Klnkpr=jF+t~rQVW~#%WUJrPYa8J`E!*WAQz4W>#ZYv+x`K z9na~<8SVdJ*8lL9oLLElW-@QN#W^bHB`|xaP_-2_rA0W)VRO#H#aT%d`Q?1l8h=6f zv5l#PAyA8A{(+I^JX_F(SR<4vh?=XjTO`v4mMx2p29a(5;;TAHiVod=!9M0kAx(D;7FOokqoie)NnZz5xIx1o}ryRxD|?=6B0g041#m zYJfPY3BbuJwDeQSp2b9fOkcV6SJSn&o4TZ$nI(V5$941ka$iI1t&3I7)zuYVHZmKh zfj%)H(BJG+FDVxEno>yz82Zq~^omkS$fYI!OA)J?k^r7t(1?QWB)FglD5m;LOW>ZM z6;kOkpt0NMIX>9qX&M|D?(QG(48h}-8=uG{#VVPKa+B2PxK*oh zYiZn0?#7%7n3P8p{t}$w0Lq_qrW&kgpk!hz$DHekfcs9lgS&Hn;1hqNVAbwmh+Csv zbp+fhI z0&}86$VZB@lmamwl|oW!=@qiceT%W4gHk-RkldKAY1knJ>83 z2POlkkl;d)(vxW-nnEjMdL9}@l$#oJ(8yQu5L3@2+v~uJfFxK(@!Vt?%*xi)0I)X< zD^@a}U0|iJM5%1&_}+4nkob=9Jnx6yq`QRGx6klbD~Vv`d?gw5hDi$a<-Up0a}!@2 zbC-o2w%Sbl(ZoI4kDj!#>xo8#ZcDosbuDWrDqEr|A1!*~v?Z$wHfl|oTtgW;Wj2d> zuSWb%0S%e9rIgtbO+cwZ$&Wi8b&x(fsA3=qcB6q~Qh4yDeYDAz#XVxgo_znC_IDEC t)w4TmZzp>j$MVWNv)5~X^BsuTkL%JDS!l#K4aIxgpuxOu4`UCV$QL+F4 diff --git a/Content/CombatSystem/UI/WBP_MainHUD.uasset b/Content/CombatSystem/UI/WBP_MainHUD.uasset index c331b5c68e9b9bbb9773b4155142b7eedbe9cd50..7a358493bdafaf05908dcdeb1c50ab3751ccb200 100644 GIT binary patch literal 37588 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 delta 8860 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 E0IR~q3;+NC diff --git a/Source/D1/Actor/BaseConsumable.cpp b/Source/D1/Actor/BaseConsumable.cpp index 08621069..34fc46e4 100644 --- a/Source/D1/Actor/BaseConsumable.cpp +++ b/Source/D1/Actor/BaseConsumable.cpp @@ -7,15 +7,23 @@ ABaseConsumable::ABaseConsumable() { + //초기화 구문 + MaxNumberOfUses = 3; + CurrentNumberOfUses = 0; + //Settings OwnedGameplayTags OwnedGameplayTags.AddTag(FCombatGameplayTags::Get().Item_Consumable_Potion); } void ABaseConsumable::UseItem() { + if(MaxNumberOfUses < CurrentNumberOfUses) + return; + ICombatInterface* ActionObjects = Cast(GetOwner()); if(!ActionObjects) return; ActionObjects->PerformCustomAction(FCombatGameplayTags::Get().Character_Action_Attack_UseItem, FCombatGameplayTags::Get().Character_State_GeneralActionState, UseItemMontage); + CurrentNumberOfUses++; } diff --git a/Source/D1/Actor/BaseConsumable.h b/Source/D1/Actor/BaseConsumable.h index 8dc11936..44867e11 100644 --- a/Source/D1/Actor/BaseConsumable.h +++ b/Source/D1/Actor/BaseConsumable.h @@ -21,4 +21,9 @@ public: private: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Montage", meta = (AllowPrivateAccess = "true")) TObjectPtr UseItemMontage; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Montage", meta = (AllowPrivateAccess = "true")) + int32 CurrentNumberOfUses; + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Montage", meta = (AllowPrivateAccess = "true")) + int32 MaxNumberOfUses; }; diff --git a/Source/D1/CombatPlayerCharacter.cpp b/Source/D1/CombatPlayerCharacter.cpp index 30413115..558bd305 100644 --- a/Source/D1/CombatPlayerCharacter.cpp +++ b/Source/D1/CombatPlayerCharacter.cpp @@ -605,7 +605,8 @@ void ACombatPlayerCharacter::StopBlocking(const FInputActionValue& Value) void ACombatPlayerCharacter::UseItem(const FInputActionValue& Value) { - UseItemByTag(FCombatGameplayTags::Get().Item_Consumable); + if(CanUseItem()) + UseItemByTag(FCombatGameplayTags::Get().Item_Consumable); } void ACombatPlayerCharacter::CharacterStateBegin(FGameplayTag CharState) @@ -1042,6 +1043,23 @@ bool ACombatPlayerCharacter::CanPerformBlock() return ReturnValue; } +bool ACombatPlayerCharacter::CanUseItem() +{ + bool ReturnValue = true; + + FGameplayTagContainer inputContainer; + inputContainer.AddTag(FCombatGameplayTags::Get().Character_State_Attacking); + inputContainer.AddTag(FCombatGameplayTags::Get().Character_State_Dodging); + inputContainer.AddTag(FCombatGameplayTags::Get().Character_State_Dead); + inputContainer.AddTag(FCombatGameplayTags::Get().Character_State_Disable); + inputContainer.AddTag(FCombatGameplayTags::Get().Character_State_GeneralActionState); + + ReturnValue &= !StateManagerComponent->IsCurrentStateEqualToAny(inputContainer); + ReturnValue &= (StatsComponent->GetCurrentStatValue(EStats::Stamina) >= 10.f); + + return ReturnValue; +} + FGameplayTag ACombatPlayerCharacter::GetDesiredAttackType() { if (GetCharacterMovement()->IsFalling()) diff --git a/Source/D1/CombatPlayerCharacter.h b/Source/D1/CombatPlayerCharacter.h index cc0b134d..27f21d35 100644 --- a/Source/D1/CombatPlayerCharacter.h +++ b/Source/D1/CombatPlayerCharacter.h @@ -200,6 +200,7 @@ protected: //Check Func bool CanReceiveHitReaction(); bool CanPerformSprint(); bool CanPerformBlock(); + bool CanUseItem(); FGameplayTag GetDesiredAttackType(); bool WasHitBlocked(); diff --git a/Source/D1/UI/CombatHUD.cpp b/Source/D1/UI/CombatHUD.cpp index 185ca6eb..16133d64 100644 --- a/Source/D1/UI/CombatHUD.cpp +++ b/Source/D1/UI/CombatHUD.cpp @@ -20,3 +20,9 @@ void ACombatHUD::BeginPlay() } } } + +void ACombatHUD::UpdateHealthPotionAmount() +{ + if(!IsValid(MainUI)) + return; +} diff --git a/Source/D1/UI/CombatHUD.h b/Source/D1/UI/CombatHUD.h index 15a1d7f7..20a338c0 100644 --- a/Source/D1/UI/CombatHUD.h +++ b/Source/D1/UI/CombatHUD.h @@ -16,6 +16,8 @@ class D1_API ACombatHUD : public AHUD protected: virtual void BeginPlay() override; +public: + void UpdateHealthPotionAmount(); private: UPROPERTY(EditDefaultsOnly, Category = UI) TSubclassOf MainUI;