From 422b1439e549a84d626796a6806e9e11338f52f6 Mon Sep 17 00:00:00 2001 From: m4xxx1m Date: Sat, 10 Jun 2023 01:17:06 +0300 Subject: [PATCH] Information text in battle, buttons in session list, back button in manage squad menu --- Content/BattleField/BP_BattleUI.uasset | Bin 117634 -> 120433 bytes Content/MainMenu/BP_SessionListEntry.uasset | Bin 26075 -> 28020 bytes Content/MainMenu/BP_SessionListMenu.uasset | Bin 42233 -> 39422 bytes Content/MainMenu/MainMenuLevel.umap | Bin 32994 -> 32994 bytes .../BP_ManageSquadWidget.uasset | Bin 0 -> 23376 bytes .../BattleMode/BattlePlayerController.cpp | 21 ++++-- .../BattleMode/BattlePlayerController.h | 10 +++ .../BattleMode/BattlePlayerState.cpp | 20 ++++-- .../BattleMode/BattlePlayerState.h | 7 ++ .../TurnBasedTutorial/BattleMode/BattleUI.cpp | 63 ++++++++++++++++++ .../TurnBasedTutorial/BattleMode/BattleUI.h | 58 ++++++++++++++++ .../MainMenu/MainMenuWidget.cpp | 11 +-- .../MainMenu/MainMenuWidget.h | 2 +- .../MainMenu/SessionListEntryWidget.cpp | 25 ++++++- .../MainMenu/SessionListEntryWidget.h | 13 ++++ .../MainMenu/SessionListWidget.cpp | 10 +-- .../MainMenu/SessionListWidget.h | 8 +-- .../ManageSquadPlayerController.cpp | 14 ++++ .../ManageSquad/ManageSquadPlayerController.h | 2 + .../ManageSquad/ManageSquadWidget.cpp | 17 +++++ .../ManageSquad/ManageSquadWidget.h | 25 +++++++ 21 files changed, 279 insertions(+), 27 deletions(-) create mode 100644 Content/ManageSquadMenu/BP_ManageSquadWidget.uasset create mode 100644 Source/TurnBasedTutorial/BattleMode/BattleUI.cpp create mode 100644 Source/TurnBasedTutorial/BattleMode/BattleUI.h create mode 100644 Source/TurnBasedTutorial/ManageSquad/ManageSquadWidget.cpp create mode 100644 Source/TurnBasedTutorial/ManageSquad/ManageSquadWidget.h diff --git a/Content/BattleField/BP_BattleUI.uasset b/Content/BattleField/BP_BattleUI.uasset index 8c09052a8b139fd44655b9ccc14d771a520aff5c..818a0f2a0aa0460b7602ad9c29f274258dafbd89 100644 GIT binary patch literal 120433 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%0DRGlK)pk9+z8yq>McPxCR#s4nm>|1! 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 DZx`Ca delta 6924 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

qsJv|DR=zuSfo2WQ|unyR2{2#Bh z+MNGo&;H-^xt<6`+Nv`8RVJ0%b)J;1&?O6XZW$D<@wvD4R(V-(m3ZexO4%)I{Cf(< z+UjlL9#0j8=_;`wfqMWWRd z{6ylI*#+~7635osmij6Ev73H2K@mR4o?1o$JCS6au>tHd#+xd-%p zr$iv=#0r&osMqUf`uQ-G{zd0obUsMua)+2cbLCN8#xtWuH`aSEPFIOjs*cf>%{sSQ z(rcNxM;8v!In&5!zo_Cte<)Iki9by7yd{C zxpkhDc@laVuAgsCg46|I6bW*z#LIVe*xS)2E|-Pzxr}+gUzaCkC0{Lna#!$_UvAPh zDIC18{wj2d24YECV#mt*FkP7#NvU63KqX6qqxfaIMN)QF)>F&>^5qS6=asGfY{I3n z=j;}k)@a~S5t<<-(%=%OsR~QiEEr}*stttwL<4e##UlbFJ0Y+`XaOM>>Tu5-{+RBO zT-t2#E+)A)3=~tcdU}<*VO*P4oot3C=<-xu2JzaXPI`B04Tor<*IFzF5h)H@LPy|s zusHNw)un~oe)ueKHPD5Go<_+##oiGkZWEsqot3&QN9V|_&gdSfHlmOc^JK{{iwbce z@!&a0JzBu@TXoKk$+BZjixFeP5k>%l-wAYKjseYM>B3U{IJ!Wl9pe)hOuYI30m0I? A=Kufz literal 42233 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 diff --git a/Content/MainMenu/MainMenuLevel.umap b/Content/MainMenu/MainMenuLevel.umap index 1e37f7483216d1f10b552bc6ddb9fe71037e11d1..c6ab3b19f26f4874caeebc35db7add8f5680b03b 100644 GIT binary patch delta 129 zcmV-{0Dk}Cfdb-z0pnEj8!wM delta 129 zcmV-{0Dk}Cfdb-z0pnEV5>8& diff --git a/Content/ManageSquadMenu/BP_ManageSquadWidget.uasset b/Content/ManageSquadMenu/BP_ManageSquadWidget.uasset new file mode 100644 index 0000000000000000000000000000000000000000..2fbcd2c6e375a7a87eecfaa0510e9f04151102e1 GIT binary patch literal 23376 zcmeHP3wTu3wcdjW62PhjMFc%TD9R&m5&~MtWb%T%Bneh2hLf2y$&r~k!<;h-gFq?1 zYg=1ITU$_Twe8o^N?WM)^WL_!_Mz7*t=HRrrPa3Ai&xNFi1%Fi3+#OU*>k`8Uq3xKv6x^pp6lHHy|xd0rG9MTwtZW7>vIYAV%e{E zO>DdMqDMAAv-5#v?^G5LY>D&sGh2MSYG0W2={s$0`gyYm_G;g*7hm>ndt>}>N*}0s ztiI?Hf|V^~>~y-eS`mXTquKTJyUoK`AzgiC^|kdiRh1R>b!8Ra1r=2l^)=qAn$iWe zbrlOsOG^nwq)Bx7Ku0+y9jV z1Hq5p`>FX~{?ndwnr_?t`PMftuWtc9=%50l*#&GAoAR;qJnyHcxpTYfD(0>*LWXV| z^DBzVsyG5;8y`PC7XlUIY1_=!r*Y#@)tXlcnEIt=I1c%t!{P=#Y!tWX5xv*wSQpm= zEk-0>>}~IMfvz+Iy@tc?SaRLor6*LRC@YGF*E8EdqZ&}8Z#qKLrjnM zv6uI6^g$mgyVi;sU2Q$r8h(ep*);!y?{nqVMS4wYznhlc*mRBy+!4|p1LatSzTrAF zjw03>k43zs%|K_|v0|nkVlO{6<;4jujINdjR=N7H=B7umx`0Uq*v@O3{%1U4*Mves zD>nPltjV9@poqWEiurU$XMgJ}S$`(5Vlh3@934Hv|XC5NUVLi1W-L_X4>*8k2uv>M<>^C}1|62CsG;`f#j$nnu zM#S;PdwN1fyBUcX0k*DaR`aHAAg@ukMdLJuqagzvj6l0iO~hI%-U&gWSy6c1mj9r)nGz_OE|I})~IgjX6d8%p`8Gj8snLY;}I!6ux2 z#|!Y|9?J@`qVa))_#&RI3Jj{+ivf)9rZBJXj5sR4tqdp$-bFH6s zmZu_vV*rXZVCLc zBV;-3xzAlx05h!BBmKJFu1AazJ7e_aQz^K(VH|f??d0>vakyjjTCoKC>*j4g7Kj4S zVZ|IX(#s~Dec{sxvfPZAGqC>C9Low>v6@JrEvoxXvdfCC-VdJvEMZIR$@Bm1K7`U* zD`GpbIJw<`b?GGlF_Na$D#pApu(mzS~c?)~gU1YJ0~5%5|5ILy8&613Q3-De#Y zWsoI8QM>N+v8QY9+X9Yt5uIEs(BYsOduO%&4s9)C(<2_=0oYp|Dm@7CrltE|pO!6W z(IOIoQ)J)#+Ohu>9OB`mMPKo&9ZO*=b^TOBO~`fNZx=lblj1M|TK$k`HG&HVk>43H zBjPvMmmm1U*U-t;2~AV0N6iq0l`s!2?J*-@3V(R;@QUek^FUm*=t?sb;=UjM$z$Jz zHyY~=Kihcl?WwT7V93%PHYu^=DY$Pvo|2**{qpngppFd&#UIjMK$z-HXMCs=ZQEd2 zVZ$K{pMItHI@lzatO3#Dfvx}14_5r4w*9R>Xaun=pJ3RsHWL(f(&gF2gR z5%W0W3x7C|1DBVfiMqMEn0@2b7oY~qjl_Tz3)rl7e(P?;&1T(p2HS|uCR{jbAC%v$ zC#<-`yMQ$%-xE$lC&6(&a3v~ zmfd&4(p#)RJY>-Dg7+)jprbQx(>bq1Qu9AQ=V1n3V4Q5Wt%uK827#b36*kt)?0y}5 z0OO7Fi=CstrU31heHDwjtvB4n2Rys`XM56nXPn(9Go z_J8{zoVhI+v<=5*caQqUc8(TzqNH~f2quK@XaQO~b+k0BVRpkUlc%Sin=QW{GB=Ra zRs>Sn6bB7XU_%+S)PiK?60DT3&qU*^fhV@hGfy%I_Xp1r?F+q+;gyXJ@uU z*cE1PpTou3hu&`lR+`3ukcw^m*(<&z{A$Yz*MzM&wQu*i zpLhZl5h05mf9$paFctlDhX~ZmC*N=j*vJ78?Cdq)&$dF%yyv*0@a{WNDLmM$?YCF| z9_s6`f{rVyedG)Kzrev!!*2#n@=0#6-&pkNJ0Ur-O4`BVy|J07lk6w972f?JUXs@) ziB-b3zl|z%8tWalw|c1wPsW2cWYJ*eiv#!k9+Ci(Ec5sx=Mj`~`V8v&zxm58oB+l? zpPUwN1rr1uSF|eL_*@v>^I-4_8amV1;rYv-+z5;4q=7-F8D)D8j{P2H8l6^@z197h zJ)qY`-qni{Xgk@A&8A-bKsi*|Wg9WsViON-;yunv8j4!6G9T+I35`QjrT1BF*F160 zg_-cQAlLuY{pW*&DBT$|47T>tPrP*+fskg23;Pp|*42zd4dk=oG)nwjIR8go7P63Fo3baI`#d(4QgYk{!He2$Ugl;(6d~&I9M8dEjgv2Ipm} z^OiIm_%4#tE%ZEBfHLG-BjLEn3HOjV%BIqF=%xdoK^h7Nj*2uCj*??29K;o*p>W{S zNa;9h1(>};`tizpg`>)Bk#OjFUK)<#t=i}%!cq5%4mxjlnj;_JtCz`p%(71;5u4-b z_*gYjFm&69!AOu}8^2>LGQxZ?(89y)NXk<#&zl8D%*N-Kiw_1kjr6bdHeLqK zpTA3d;75?BNe1y>*U-ZWqrG@qwSBuUGAJt|aL1N+UGP<8XZ7r`h-;b&45v5bXXEoa0pD`*!oU^@Q@fk_9b;!-EpPI;iDO#PJ~Si`~`vpz=4^0c6q;L5C_?F8P6gQuUo@sg`!sKelVIX#6s z#p*uSzM2Gk%}9Wjac$o0C7g3|U6e0=qb}a|&a2w%x?8PSn07PJph=w6;s!w(wggQjh;i6SXzUPJg3?#1O zWTsfR<|};2gd=nL>O(pi0pdVuMRmo(^2&ugj}|d$v#Bi-N-+3oy&kd+9yRJsFJI_u zq|kjD`7-{#PkxST5&so1{EkaLPmy;G>{@0qgDs=qS{7#gEXdX|n?vI?^Xwsb59=eS zO(iDCQdiJZl<)wJ6K;?>!{&~XWlyyZVKJmy5Gb7GNe(h!7iuxLwBMnd~i?p1= zO|?Vz+|x5^baJgdQPQcS8aPycSj9Tt-chQNhx!^JMXr3Mt5hqDmnAYS%|jtrX*TMT zwTtX5N?L)Hts{&xB-W**Bh(_u<`878gr+#1oWzO_Xd7JW6m2(5)k4(RL(ZS#tn!*! zIj2-MiQk9x8~g* zl;Ux!a;W+!n`k6WT}u|@k#X0PZ244!YiWX1fBjil`{>JXKj$z1zjgib+G)|2$c%RNW!Twd6Tb@}Xi^3|~WSR>cy8 zuPC0XBuXQxT6YrP4J22P`kWy5-h6OW8>o7@BZP`IDVuW3m*VH40qMxJkFu(iRESDp zuFq5~&7M0+)?sK#iY3;itb=`!TBVqLDD^j=>@XX&HY?Pd1&Us2@(5`|*$8wH;o}L6 z2U1Zv9jc%Z)KrVhB8%`Fqse1tU~T)$a&x`lJ^6sI_fs$y5xJCdr{d2)D9AW)|ZwGH_%(5^C2=F#m`puPp zQC|8}UJ#_-C`gn&Ov|gB>Jh6+WMwDXwSWQnJdKW=yR9yd&^{T7}wi#d{lI#N~q|JI7 zg*VWcZ4uWbbXZB+!zgLdUi_3-w^EELq|rx^ zY#hFXSs0?uC3#U%bI-x{bEzz=BG<|GoT`rP)N8NhQ6o-rV#NY8xm0A&m5(tI{)V<= z71=X&FgLIAYP5?LE!7*xsgCaWG*42>j8AIqq?C^cJ#2nnJX28(V^s9}9(EnYwG#SY zMDHuCX7lK-R6Zf6jNi{7Ynj3GD&+G5`CQ4LS8*x|w@T(Ml(^OMxm5B22k;QQR4L3B z6-;p{CHqw{!3kv*eb_JR4VdClmgG^EA6uL?S4Nq&eo3a0p#Nq#}5 zlZV3R9tk%-@^XugRe`X<_i8DdLv`29?5%MQPz zgpJ)1*t){@l6VE2?>Ob$?!%U1mRH3II|QUq)6b4L>swj3EQ(snK|m+ zJh8hbw$Olyy>z72;vzPi4EqQEeT^$6hQi)TvvFTBd4z55^h~x3x!e2@Ibs$q~1b8 zR6&BvASvXG_kYy8KIsvQUL+7DllH4f`6N8!^2)bBVWp z>gDr_3@Q?Eg}kbYCvE!;lCoW9s(0d4u%=PJNQ(6Z@;O~P5B1$5sn?(tiAo8liHt}p zP-l`*3dzh-@6f4W{~<-RlWscuOk0c42TdAX1M;&yjXtc^2I!+W%5k(FL!%Fl==;E; z0$)t;)vRDpi<%Kzb1bbVZiWI{P=10+pCvhoBBmIq(4nf9v#nO{j?Nvm>f6h<6inUs zrN9$UDutn9XO|~XJRMhaLVgbHuHuMPd zV33HEv*tN7L^=M#P>{bcgvc)LWEMLi@fOQc%2wZ{P;iN4qvX0kK4*ICRWe6aBpGV< zQN}-cocMZC-MBe7bhUkR?)%=lap#0pN}Es_I&mb-E}nS0b?a^B^ULqraCO0REB|sw zHdr^u7C%Xg89q*^hIEx4@-|5tSi|`m>N%_ArKf&2V_)0OiVf4o6io1CgZ(|miTB8n z)=O=xrauWsx}TcipWKlecN}@?7Y$?Tc8)pYt~Y-^Hm0-*<*I;#vDl9T(bb18p6|Q; zl83J@y6R&;$_6`0M^X(b+jH2<2{{t#dA+A@+$GzWFWdg`yeA)g$ogtF*x#cgp`NAN z4?J7)`2LprtkZ6Psl?uq4c6sS8CMR5$Sny?efeIXZZz?6bv$Mi6m<3(8vkBgqY<4& z?}pRh&5CIbMu7w3m>f?`5>`g>zcf5@@fxDn9)y*87*u+=7zk0T?yGLw`IGOo?5=!a z$MVUmewPham!dCve2kTwA~fEh0~Ew?gCEsUP(UxKhct)AA6k@7qalfHlg^RQ=x7>; z!2Y$&vqaKT61zx?+ngB^6FyT?RKk4+SCvjkayJu90I*C1ZDAmVgtZm=Fx}uoVPwn) zlu|MSeMQy`C@^aVif8443`lh`ZYW{mfltY`UxXk%qbYB&CzQ4L_zCG zXg!wGM|Ndsy>vtYpHSd|4(Fgx&xM%m`;lhcocwfH+gp*1i0Aj!-B;2)d)$sFEn-ms1~n z4MB$#1vJX0y1-oKX{IyVmUACaCI^CyI=PAw3Kijj1Ln-RvSvkVQ)`1%0-sZnL(zFd z22Lo_qU3wT8=mI3Y&sFd^lR~GfZn%<2IvzBjSdnZ%_THzfKEWtC`X^C(ODeCJi_N- zwjKlp-A~^;*d$m&sFld#rF~ut8>hEWorAI<&E9OBKGFyJT`A zq-htpZTh{p=l8^x3*Iv$9(e=i=7_kTM|{S|p=t4140f8jBgrtS(ye*T?WaE*B zR-EE=XK8wXQ^vAW%m`ckU=xg4Va}w_q@$H${=NivTdhe1xCougMqvaUq72dVE$Y_i z572=t^ZhXcagl-roh&pD)zaD`O`>}-H((`;Vs|lXl5UOl46i|l6>05s@YYGh1rMoM z#)WrPweONzM?|Gumw65u{y@meB=JQd_3fzfhN+YTX|?30cS3}}9wC1}|5XwA`~ z(d&So5PdVZktjbyN;B1Qf1*E0c2`R&Uk__qOY&SOtrNoroSc+%B+UCBRnm1bm!=Ij zq7>G3;@!&=q?UJ69R*676Vrn#bwWDe!%CeSMV^O}Iuf~GUe)e_ctoIEHQd3btLdF6 z#;O-C@YYmUl~$Bj)hsBlt}OTYD(dR0E9+`&>MJU0%J_g8yPWjqoJeZ*PX&aKglAl$ zX$92Mc1s3kR=}1eYLFk6`58M3@F0Z*oPTKrT0mFl)=C0EN(;p$xk0WDu3?wUj1BUt zHa`&Rd2)TTyj6lS+T#6`5y+K^GX>6-nHh_`8JH449Uo7q20wXFoZZ+b z!HThx{UZ{daoPRo^vCyoZsre7nX^=0;SMq_O*&7FgeXlWkuYUe+Dl(r7hfx*q^gv1 zUY{hFaXGxC`<_3)y`$mghgxrZ`HjWTyDc!M(SZM%l2m#fJcEqbeJX{U_gPaOWN(vo zEs#L( - GetWorld(), WidgetClass); - CreatedWidget->AddToViewport(); + CreateBattleWidget(); } void ABattlePlayerController::SetupInputComponent() { @@ -64,8 +62,9 @@ void ABattlePlayerController::EndTurn_Implementation() { // GetMyGameState()->CycleTurns(); // } // GetMyPlayerState()->CycleTurns(); - if (GetMyGameState()->IsInTurn(PlayerIndex)) + if (GetMyGameState()->IsInTurn(PlayerIndex)) { GetMyGameState()->CycleTurns(); + } } // void AMyPlayerController::EndTurn_Implementation() { @@ -147,6 +146,20 @@ uint8 ABattlePlayerController::GetPlayerIndex() const { return PlayerIndex; } +void ABattlePlayerController::CreateBattleWidget_Implementation() { + BattleWidget = CreateWidget( + GetWorld(), WidgetClass); + BattleWidget->AddToViewport(); + // GetPlayerState()->SetBattleWidget(BattleWidget); + +} + +void ABattlePlayerController::SetWidgetTurn_Implementation(bool bIsMyTurn) { + if (BattleWidget) { + BattleWidget->SetWhoseTurnText(bIsMyTurn); + } +} + void ABattlePlayerController::StartPlayingMusic_Implementation( USoundBase *BackgroundSound) const { UGameplayStatics::PlaySound2D(GetWorld(), BackgroundSound); diff --git a/Source/TurnBasedTutorial/BattleMode/BattlePlayerController.h b/Source/TurnBasedTutorial/BattleMode/BattlePlayerController.h index e0ac385..02ed29c 100644 --- a/Source/TurnBasedTutorial/BattleMode/BattlePlayerController.h +++ b/Source/TurnBasedTutorial/BattleMode/BattlePlayerController.h @@ -2,6 +2,7 @@ #pragma once #include "CoreMinimal.h" +#include "BattleUI.h" #include "GameFramework/PlayerController.h" #include "BattlePlayerController.generated.h" @@ -53,7 +54,16 @@ public: UFUNCTION(Client, Reliable) void StartPlayingMusic(USoundBase *BackgroundSound) const; + UFUNCTION(Client, Reliable) + void SetWidgetTurn(bool bIsMyTurn); + private: + UFUNCTION(Client, Reliable) + void CreateBattleWidget(); + + UPROPERTY() + UBattleUI *BattleWidget; + UPROPERTY(EditAnywhere) TSubclassOf WidgetClass; diff --git a/Source/TurnBasedTutorial/BattleMode/BattlePlayerState.cpp b/Source/TurnBasedTutorial/BattleMode/BattlePlayerState.cpp index 93fcfaa..d5e459f 100644 --- a/Source/TurnBasedTutorial/BattleMode/BattlePlayerState.cpp +++ b/Source/TurnBasedTutorial/BattleMode/BattlePlayerState.cpp @@ -39,6 +39,11 @@ void ABattlePlayerState::SetPlayerIndex(uint8 NewPlayerIndex) { PlayerIndex = NewPlayerIndex; } +// void ABattlePlayerState:: +// SetBattleWidget_Implementation(UBattleUI *BattleWidget) { +// BattleUI = BattleWidget; +// } + void ABattlePlayerState::GameOver_Implementation(int PlayerLoseIndex) { UGameOverWidget *CreatedWidget = CreateWidget( GetWorld(), GameOverWidgetClass); @@ -116,12 +121,14 @@ bool ABattlePlayerState::IsMyTurn() const { void ABattlePlayerState::SetMyTurn(bool bMyTurn) { bIsMyTurn = bMyTurn; - if (bIsMyTurn) { - GEngine->AddOnScreenDebugMessage(-1, 3.0f, FColor::Green, - FString::Printf( - TEXT("CURRENT TURN: %d"), - PlayerIndex)); - } + Cast(GetWorld()->GetFirstPlayerController())-> + SetWidgetTurn(bIsMyTurn); + // if (bIsMyTurn) { + // GEngine->AddOnScreenDebugMessage(-1, 3.0f, FColor::Green, + // FString::Printf( + // TEXT("CURRENT TURN: %d"), + // PlayerIndex)); + // } } void ABattlePlayerState::StartTurn_Implementation() { @@ -139,6 +146,7 @@ void ABattlePlayerState::EndTurn_Implementation() { SelectedTrooper = nullptr; } UE_LOG(LogTemp, Warning, TEXT("Not your turn, %d"), PlayerIndex); + // AMyGameMode *gameMode = GetMyGameMode(); // gameMode->CycleTurns(); // Cast(GetWorld()->GetGameState())->CycleTurns(); diff --git a/Source/TurnBasedTutorial/BattleMode/BattlePlayerState.h b/Source/TurnBasedTutorial/BattleMode/BattlePlayerState.h index a68163b..b325b16 100644 --- a/Source/TurnBasedTutorial/BattleMode/BattlePlayerState.h +++ b/Source/TurnBasedTutorial/BattleMode/BattlePlayerState.h @@ -4,6 +4,7 @@ #include "Trooper/Trooper.h" #include "CoreMinimal.h" +#include "BattlePlayerController.h" #include "GameFramework/PlayerState.h" #include "BattlePlayerState.generated.h" @@ -58,8 +59,14 @@ public: UFUNCTION(Client, Reliable) void GameOver(int PlayerLoseIndex); + + // UFUNCTION(Client, Reliable) + // void SetBattleWidget(UBattleUI *BattleWidget); protected: + // UPROPERTY() + // UBattleUI *BattleUI; + UPROPERTY(EditAnywhere, BlueprintReadWrite) TSubclassOf GameOverWidgetClass; diff --git a/Source/TurnBasedTutorial/BattleMode/BattleUI.cpp b/Source/TurnBasedTutorial/BattleMode/BattleUI.cpp new file mode 100644 index 0000000..ef28c7b --- /dev/null +++ b/Source/TurnBasedTutorial/BattleMode/BattleUI.cpp @@ -0,0 +1,63 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#include "Components/Button.h" +#include "Components/TextBlock.h" +#include "BattleUI.h" +#include "BattlePlayerController.h" +#include "BattlePlayerState.h" + + +void UBattleUI::NativeConstruct() { + Super::NativeConstruct(); + EndTurnButton->OnClicked.AddDynamic(this, &ThisClass::OnEndTurnClicked); + ButtonAction_0->OnClicked.AddDynamic(this, &ThisClass::OnActionSwitched_0); + ButtonAction_1->OnClicked.AddDynamic(this, &ThisClass::OnActionSwitched_1); + ButtonAction_2->OnClicked.AddDynamic(this, &ThisClass::OnActionSwitched_2); +} + +void UBattleUI::SetWidgetText_Implementation(const FString &Text) { + InformationText->SetText(FText::FromString(Text)); +} + +void UBattleUI::SetWhoseTurnText_Implementation(bool IsThisPlayerTurn) { + if (IsThisPlayerTurn) { + SetWidgetText(TEXT("Your turn!")); + } else { + SetWidgetText(TEXT("Opponent's turn")); + } +} + +void UBattleUI::OnEndTurnClicked() { + Cast(GetWorld()->GetFirstPlayerController())-> + EndTurn(); +} + +void UBattleUI::OnActionSwitched_0() { + ButtonAction_0->SetIsEnabled(false); + ButtonAction_1->SetIsEnabled(true); + ButtonAction_2->SetIsEnabled(true); + ActionType = 0; + OnActionSwitched(); +} + +void UBattleUI::OnActionSwitched_1() { + ButtonAction_0->SetIsEnabled(true); + ButtonAction_1->SetIsEnabled(false); + ButtonAction_2->SetIsEnabled(true); + ActionType = 1; + OnActionSwitched(); +} + +void UBattleUI::OnActionSwitched_2() { + ButtonAction_0->SetIsEnabled(true); + ButtonAction_1->SetIsEnabled(true); + ButtonAction_2->SetIsEnabled(false); + ActionType = 2; + OnActionSwitched(); +} + +void UBattleUI::OnActionSwitched() const { + Cast(GetWorld()->GetFirstPlayerController())-> + GetPlayerState()->SetCurrentAction(ActionType); +} + diff --git a/Source/TurnBasedTutorial/BattleMode/BattleUI.h b/Source/TurnBasedTutorial/BattleMode/BattleUI.h new file mode 100644 index 0000000..4015b91 --- /dev/null +++ b/Source/TurnBasedTutorial/BattleMode/BattleUI.h @@ -0,0 +1,58 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "BattleUI.generated.h" + +/** + * + */ +UCLASS() +class TURNBASEDTUTORIAL_API UBattleUI : public UUserWidget { + GENERATED_BODY() + +public: + virtual void NativeConstruct() override; + + UFUNCTION(Client, Reliable) + void SetWhoseTurnText(bool IsThisPlayerTurn); + + UFUNCTION(Client, Reliable) + void SetWidgetText(const FString &Text); + +protected: + int ActionType = 0; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidget)) + class UButton *EndTurnButton; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidget)) + class UButton *ButtonAction_0; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidget)) + class UButton *ButtonAction_1; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidget)) + class UButton *ButtonAction_2; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidget)) + class UTextBlock *InformationText; + + UFUNCTION() + void OnEndTurnClicked(); + + UFUNCTION() + void OnActionSwitched_0(); + + UFUNCTION() + void OnActionSwitched_1(); + + UFUNCTION() + void OnActionSwitched_2(); + + UFUNCTION() + void OnActionSwitched() const; + +}; diff --git a/Source/TurnBasedTutorial/MainMenu/MainMenuWidget.cpp b/Source/TurnBasedTutorial/MainMenu/MainMenuWidget.cpp index 0baf22f..22fb0dc 100644 --- a/Source/TurnBasedTutorial/MainMenu/MainMenuWidget.cpp +++ b/Source/TurnBasedTutorial/MainMenu/MainMenuWidget.cpp @@ -12,18 +12,19 @@ void UMainMenuWidget::NativeConstruct() { this, &ThisClass::UMainMenuWidget::OnHostOnlineGameButtonClicked); GetMyGameSubsystem()->OnCreateSessionCompleteEvent.AddDynamic( - this, &ThisClass::StartSessionWhenCreatingSessonComplete); + this, &ThisClass::StartSessionWhenCreatingSessionComplete); } void UMainMenuWidget::OnHostOnlineGameButtonClicked() { // Ensure we have left any session GetMyGameSubsystem()->DestroySession(); - - GetMyGameSubsystem()->CreateSession( - "Lobby " + FString::FromInt(FMath::RandRange(1, 1e6)), 2, true); + + const FString SessionName = "Lobby " + FString::FromInt( + FMath::RandRange(1, 1e6)); + GetMyGameSubsystem()->CreateSession(SessionName, 2, true); } -void UMainMenuWidget::StartSessionWhenCreatingSessonComplete(bool bSuccess) { +void UMainMenuWidget::StartSessionWhenCreatingSessionComplete(bool bSuccess) { if (!bSuccess) { return; } diff --git a/Source/TurnBasedTutorial/MainMenu/MainMenuWidget.h b/Source/TurnBasedTutorial/MainMenu/MainMenuWidget.h index 992d040..e3b81d6 100644 --- a/Source/TurnBasedTutorial/MainMenu/MainMenuWidget.h +++ b/Source/TurnBasedTutorial/MainMenu/MainMenuWidget.h @@ -26,7 +26,7 @@ protected: void OnHostOnlineGameButtonClicked(); UFUNCTION() - void StartSessionWhenCreatingSessonComplete(bool bSuccess); + void StartSessionWhenCreatingSessionComplete(bool bSuccess); private: USessionsGameInstanceSubsystem *GetMyGameSubsystem() const; diff --git a/Source/TurnBasedTutorial/MainMenu/SessionListEntryWidget.cpp b/Source/TurnBasedTutorial/MainMenu/SessionListEntryWidget.cpp index 849328b..b136433 100644 --- a/Source/TurnBasedTutorial/MainMenu/SessionListEntryWidget.cpp +++ b/Source/TurnBasedTutorial/MainMenu/SessionListEntryWidget.cpp @@ -4,10 +4,18 @@ #include "SessionListEntryWidget.h" #include "OnlineSessionSettings.h" #include "Components/TextBlock.h" +#include "Components/Button.h" +#include "Kismet/GameplayStatics.h" + +void USessionListEntryWidget::NativeConstruct() { + Super::NativeConstruct(); + JoinSessionButton->OnClicked.AddDynamic( + this, &ThisClass::OnJoinButton); +} void USessionListEntryWidget::Update(int SessionIndex, - const FOnlineSessionSearchResult & - Session) { + const FOnlineSessionSearchResult & + Session) { SessionId = SessionIndex; IndexText->SetText(FText::AsNumber(SessionIndex + 1)); @@ -22,3 +30,16 @@ void USessionListEntryWidget::Update(int SessionIndex, PlayersCountText->SetText(FText::AsNumber(CurPlayerCount)); PingText->SetText(FText::AsNumber(Session.PingInMs)); } + +void USessionListEntryWidget::OnJoinButton() { + GetMyGameSubsystem()->JoinSession(SessionId); +} + +USessionsGameInstanceSubsystem * +USessionListEntryWidget::GetMyGameSubsystem() const { + const UGameInstance *GameInstance = UGameplayStatics::GetGameInstance( + GetWorld()); + USessionsGameInstanceSubsystem *GameInstanceSubsystem = GameInstance-> + GetSubsystem(); + return GameInstanceSubsystem; +} diff --git a/Source/TurnBasedTutorial/MainMenu/SessionListEntryWidget.h b/Source/TurnBasedTutorial/MainMenu/SessionListEntryWidget.h index 8c74028..0b3686f 100644 --- a/Source/TurnBasedTutorial/MainMenu/SessionListEntryWidget.h +++ b/Source/TurnBasedTutorial/MainMenu/SessionListEntryWidget.h @@ -3,6 +3,7 @@ #pragma once #include "CoreMinimal.h" +#include "../SessionsGameInstanceSubsystem.h" #include "Blueprint/UserWidget.h" #include "SessionListEntryWidget.generated.h" @@ -14,6 +15,8 @@ class TURNBASEDTUTORIAL_API USessionListEntryWidget : public UUserWidget { GENERATED_BODY() public: + virtual void NativeConstruct() override; + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidget)) class UTextBlock *IndexText; @@ -26,8 +29,18 @@ public: UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidget)) class UTextBlock *PingText; + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidget)) + class UButton *JoinSessionButton; + void Update(int SessionIndex, const FOnlineSessionSearchResult &Session); + +protected: int SessionId; FString SessionName; + + USessionsGameInstanceSubsystem *GetMyGameSubsystem() const; + + UFUNCTION() + void OnJoinButton(); }; diff --git a/Source/TurnBasedTutorial/MainMenu/SessionListWidget.cpp b/Source/TurnBasedTutorial/MainMenu/SessionListWidget.cpp index af32814..e4bd9e9 100644 --- a/Source/TurnBasedTutorial/MainMenu/SessionListWidget.cpp +++ b/Source/TurnBasedTutorial/MainMenu/SessionListWidget.cpp @@ -13,8 +13,8 @@ void USessionListWidget::NativeConstruct() { RefreshListButton->OnClicked.AddDynamic( this, &ThisClass::OnRefreshListButtonClicked); - ConnectToSelectedSessionButton->OnClicked.AddDynamic( - this, &ThisClass::ConnectToFirstSession); + // ConnectToSelectedSessionButton->OnClicked.AddDynamic( + // this, &ThisClass::ConnectToFirstSession); const auto MyGameInstanceSubsystem = GetMyGameSubsystem(); MyGameInstanceSubsystem->OnFindSessionsCompleteEvent.AddUObject( @@ -54,9 +54,9 @@ void USessionListWidget::OnRefreshListButtonClicked() { GetMyGameSubsystem()->FindSessions(10, true); } -void USessionListWidget::ConnectToFirstSession() { - GetMyGameSubsystem()->JoinSession(0); -} +// void USessionListWidget::ConnectToFirstSession() { + // GetMyGameSubsystem()->JoinSession(0); +// } void USessionListWidget::OnJoinSessionSuccess( diff --git a/Source/TurnBasedTutorial/MainMenu/SessionListWidget.h b/Source/TurnBasedTutorial/MainMenu/SessionListWidget.h index e0b43ef..f9cdf4e 100644 --- a/Source/TurnBasedTutorial/MainMenu/SessionListWidget.h +++ b/Source/TurnBasedTutorial/MainMenu/SessionListWidget.h @@ -17,8 +17,8 @@ class TURNBASEDTUTORIAL_API USessionListWidget : public UUserWidget { protected: virtual void NativeConstruct() override; - UPROPERTY(meta = (BindWidget)) - class UButton *ConnectToSelectedSessionButton; + // UPROPERTY(meta = (BindWidget)) + // class UButton *ConnectToSelectedSessionButton; UPROPERTY(meta = (BindWidget)) class UButton *GoBackToMainMenuButton; @@ -43,6 +43,6 @@ private: UFUNCTION() void OnRefreshListButtonClicked(); - UFUNCTION() - void ConnectToFirstSession(); + // UFUNCTION() + // void ConnectToFirstSession(); }; diff --git a/Source/TurnBasedTutorial/ManageSquad/ManageSquadPlayerController.cpp b/Source/TurnBasedTutorial/ManageSquad/ManageSquadPlayerController.cpp index 72d4c77..1fada52 100644 --- a/Source/TurnBasedTutorial/ManageSquad/ManageSquadPlayerController.cpp +++ b/Source/TurnBasedTutorial/ManageSquad/ManageSquadPlayerController.cpp @@ -3,6 +3,7 @@ #include "ManageSquadPlayerController.h" #include "ManageSquadGameState.h" +#include "ManageSquadWidget.h" AManageSquadPlayerController::AManageSquadPlayerController() { SetShowMouseCursor(true); @@ -14,6 +15,19 @@ void AManageSquadPlayerController::SetupInputComponent() { &AManageSquadPlayerController::OnLeftMouseClick); } +void AManageSquadPlayerController::BeginPlay() { + Super::BeginPlay(); + const TSoftClassPtr WidgetClass = TSoftClassPtr< + UUserWidget>(FSoftObjectPath( + "WidgetBlueprint'/Game/ManageSquadMenu/BP_ManageSquadWidget.BP_ManageSquadWidget_C'" + )); + UUserWidget *CreatedWidget = CreateWidget( + GetWorld(), WidgetClass.LoadSynchronous()); + if (CreatedWidget) { + CreatedWidget->AddToViewport(); + } +} + void AManageSquadPlayerController::OnLeftMouseClick() { UE_LOG(LogTemp, Warning, TEXT("Mouse clicked")); FHitResult HitResult; diff --git a/Source/TurnBasedTutorial/ManageSquad/ManageSquadPlayerController.h b/Source/TurnBasedTutorial/ManageSquad/ManageSquadPlayerController.h index 12749f0..0c5e104 100644 --- a/Source/TurnBasedTutorial/ManageSquad/ManageSquadPlayerController.h +++ b/Source/TurnBasedTutorial/ManageSquad/ManageSquadPlayerController.h @@ -20,6 +20,8 @@ public: virtual void SetupInputComponent() override; + virtual void BeginPlay() override; + private: UPROPERTY() AManageSquadTrooper *SelectedTrooper; diff --git a/Source/TurnBasedTutorial/ManageSquad/ManageSquadWidget.cpp b/Source/TurnBasedTutorial/ManageSquad/ManageSquadWidget.cpp new file mode 100644 index 0000000..f68b47d --- /dev/null +++ b/Source/TurnBasedTutorial/ManageSquad/ManageSquadWidget.cpp @@ -0,0 +1,17 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#include "ManageSquadWidget.h" +#include "Components/Button.h" +#include "Kismet/GameplayStatics.h" + + +void UManageSquadWidget::NativeConstruct() { + Super::NativeConstruct(); + BackButton->OnClicked.AddDynamic( + this, &ThisClass::UManageSquadWidget::OnBackButtonClicked); +} + +void UManageSquadWidget::OnBackButtonClicked() { + UGameplayStatics::OpenLevel(GetWorld(), "MainMenuLevel"); + RemoveFromParent(); +} diff --git a/Source/TurnBasedTutorial/ManageSquad/ManageSquadWidget.h b/Source/TurnBasedTutorial/ManageSquad/ManageSquadWidget.h new file mode 100644 index 0000000..6fb284c --- /dev/null +++ b/Source/TurnBasedTutorial/ManageSquad/ManageSquadWidget.h @@ -0,0 +1,25 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "ManageSquadWidget.generated.h" + +/** + * + */ +UCLASS() +class TURNBASEDTUTORIAL_API UManageSquadWidget : public UUserWidget { + GENERATED_BODY() + +public: + virtual void NativeConstruct() override; + +protected: + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidget)) + class UButton *BackButton; + + UFUNCTION() + void OnBackButtonClicked(); +};