From 6a08bc4d8436cbb449308a004a847116c00f93f8 Mon Sep 17 00:00:00 2001 From: pcyoung Date: Tue, 6 Feb 2024 18:44:25 +0900 Subject: [PATCH] =?UTF-8?q?[=EB=B0=95=EC=B9=98=EC=98=81]=20Input=20System?= =?UTF-8?q?=20=EB=B0=8F=20=EA=B8=B0=EB=B3=B8=20=EC=9D=B4=EB=8F=99=20?= =?UTF-8?q?=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Blueprints/BP_D2BaseCharacter.uasset | Bin 0 -> 32874 bytes .../Blueprints/BP_D2Gamemode.uasset | Bin 0 -> 19161 bytes Content/Input/Actions/IA_Look.uasset | Bin 0 -> 1477 bytes Content/Input/Actions/IA_Move.uasset | Bin 0 -> 1477 bytes Content/Input/IMC_Player.uasset | Bin 0 -> 6193 bytes Content/Maps/GameStartupMap.umap | Bin 60861 -> 60842 bytes Content/Maps/Lobby.umap | Bin 38573 -> 38554 bytes D2.uproject | 5 +- Source/D2/Character/D2BaseCharacter.cpp | 116 ++++++++++++++++++ Source/D2/Character/D2BaseCharacter.h | 52 ++++++++ Source/D2/D2.Build.cs | 11 +- Source/D2/D2GameModeBase.cpp | 4 + Source/D2/D2GameModeBase.h | 4 +- 13 files changed, 187 insertions(+), 5 deletions(-) create mode 100644 Content/D2Contents/Blueprints/BP_D2BaseCharacter.uasset create mode 100644 Content/D2Contents/Blueprints/BP_D2Gamemode.uasset create mode 100644 Content/Input/Actions/IA_Look.uasset create mode 100644 Content/Input/Actions/IA_Move.uasset create mode 100644 Content/Input/IMC_Player.uasset create mode 100644 Source/D2/Character/D2BaseCharacter.cpp create mode 100644 Source/D2/Character/D2BaseCharacter.h diff --git a/Content/D2Contents/Blueprints/BP_D2BaseCharacter.uasset b/Content/D2Contents/Blueprints/BP_D2BaseCharacter.uasset new file mode 100644 index 0000000000000000000000000000000000000000..ca2c9fba7b8188569fa09ea1b314b048a02d07c2 GIT binary patch literal 32874 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 literal 0 HcmV?d00001 diff --git a/Content/D2Contents/Blueprints/BP_D2Gamemode.uasset b/Content/D2Contents/Blueprints/BP_D2Gamemode.uasset new file mode 100644 index 0000000000000000000000000000000000000000..9f7f68f69fe97cbcfdc093c102eff2104060f0c7 GIT binary patch literal 19161 zcmeHP3wTsTmaZ01L2ytJ6nQl7cOIP(9wL%XCn1oKKoSHIlTP>Tq@mNd>Asy11VjhH z*Ul*Fj-U7%cKLjuyZDK(Mcu(qXVl$K8J!ttWtCl5adC8gpy&)Jd;Yq0?!BFKk_Ph4 zH{a|QbXVO|r%s(Zb?!<``^}U4XcZLvOQjXM*K6Cb6J>%H?56}E! zvv_Lbn#tpP6Ku)KcbCsE^PInS`Pyf1Is9zwY=UjMXn6hR%HU(~zdiWT-~H;70o4S% z?zbDly9z50eY$wTqZ6Ng=EWw0js9)Ty)Radf4JnVQFrdYevf}D!9Mi-e)oXNn?^pf z@y*9}Ecm_v{a$Vye{+*>chSK?x8IR)4<9m)VBV{@|GuQ+g|QDmcK+tJA;E)_2=-ai z?hg-p@BI3lcXM|X?k&lhNU)~B*&i<}AG11k$*j${Up;>CnFQN0U5Lq)XP5e$wQQfK zNRJv?)JSA|BS|e556fazozH{%W<978Zg0^{-(yH3^j~~)ju4|LFZB9KyoIy!igLZa z>G?j7XO^#EdSS6I-2C>7)1Hy^l zb*|fcm+$Fkwv9jIn#s#H)wkX`yY&7?K96nJ?%n`=&;cWThz*yR_tLGd^XX~Il-lCy zQG1u z6@&W{g~CW=5s5M(PF(o0_gnztaerG?T#spSqfM0U{;x2}M>G(g-s+>F7-2msPJDUp zA1(yANN;YYIr1hO8X{U%I2zT0Volb#^1&S{mxdEz!V!zd&Y5!wYRk1of1quVrUh&C zs${%Tt6r@|mS~}b`03+UT?$sLc`r?dgW}DzhSpx}gqD$d#H0R5Z9=PzM%u)d|9Eim z5GO))Tf)$qmum3@c)rf)J0*o`OrwN|F(~widh#K^OTAtx=D+iElUF z`3ibuz#`IS@somO{RcXL)q30rM;pbU^G3V@+f{NFuV4K91DFqseo@4qNQm4Yj@E)< z3tXc$$0F3D_|2oEUjhN27V;+}hPdv8KKDHPxis#NH9-Nyo(~SSI4Y|Atx=P9;+)qH zJ1VLJT2x!2>xOv#*8BTF2^49oLXw+Z^}-zgi3E(O^Qn zRC7%)*p4rpAa>iNDAwI|$V+A@ii2T83;Ogx5*k((4e4TU-N0jD#jL7qSfvGwD!Li7N4C>D-8^bT5=((J@( z^g(m-ww%4JrXRqVXK6+|uK$-7*$OsQRQ0DOw3<&kuJkcXzF_de|NaGLmMv_lKOTlu z~I7N>3~o@siIp%n&dV;<+ETM>ozpJj+UyTCLCBT7A`*i1|}I+Y4Sg$ zf9VyFWwpOW3oZ?7t(BorLNmnrS3mVx@GEt_xv*JJlI-gS|IKS>0YA{BHT%Vhy|=Vt zXw^-6t3xern)YpPc;MD^x#-Dg=6C7F%IqaHnOg#0;SucW6 zEh$$cw7iO>o)AOF?8w7nK#M~>4W|`P)(iB*nk|)L*WYfGu6ilC6+Q0piQ1e<-)zF_ zHX`xT0$#tB0a9vn&J}Ql}(!qW8pd< z#S9N5JQyH@ild|pn%FY$hB7E@A$S$j-W;(R; z7gg7RC6W8~Td&ZwOyCr$3w<^bgw$!2+l}`MRez<*zn~a$g(_dFa%8otyi(<#6J9`- zyTj8m#0zDB_dnEcV}^K58Q^_J^sdeT?^D8CmLcBq4DndzUC9sqHe^U|b%uD64Dsft z!CR_eEHlWjJ`Eo0OIXz*!@dM5-FTgNH6~iOc-%*K^qA-F@Yoidc;C|a6gx6wi-Q>* z#m=flUD_?bwh&;rg;g8k6}ze+WP$v>~kch6LXPO`4(D;BMmb*hw0`6N}Y znPpXXSxCqKHxAyxM^I6K$9qDRH}oL=DhK_?RXJ<6Ds+>jj1gy2J&|J#&e1ial*HtW;TKjxqhtW}B>#xMaL zQaVy(=J-aJs#_bVO6ll-?Vt~ueuWF&oUF=2%T%G8EFJwL4*G~R;rqZJCd5T77$@UTejx3Nh#o+^V^yksX`8G`ZRR*kLM;?sGF}q#Hzq`1dd&6A%%4%^zSi?as#Ho&RHubz0eu(I;cyE%?KL7H zp-HhwG!VQ&G!ZmGEljE|v6!A>ga>Gna6`iAwiZXuJ;B47iq29IP+WC{upCZzyiB>0 zWDup^T;#UQQP_~)3S#$lu7Z@4WDMCZDQYMf2@{1VQF4jl3S&OWuYu$k7R3^G4b4D< zSSOfzy(kf_)Ji8Q+qm{Tq_6GMfumEK?E#8TF>zoJ|Imsxa=v54k&AY5rYt(EXIa^j zIY+hVsA(=SP}NnEX4zw{rKcE41zNU-FwRz3lSoG3B18+bix!cd(JiI}+L|1-P1^}$ zF3etCZUMi}{dREg2K|Q_h!J=7jyb>=)8gMCXoX{#nJV7&y=+i`HoqU3+yDsup zW-saLSWcYVeVm*p;y!$`SA+DErDOM>uCAZr?L3v+l600>s?Ird+M?aZ>5hZ>VNID& zbH0jn&qcwEDaDR8?1j4?!)VohCh5^EkxSnNV!D_?p8_$HzI_CnL38h;+I-=m`aGJ= zV&SC^>Wiqhlyck7Pj{@$x6>Eev(|Mj&q&u}K3|Qwgd}MD5NCh&0(0sTKT?>dJ0|uR z^GOfaNl$Kj3@41eTi5&#QC!))VF8vv5#cgEaho?<@B|K6c1gG zBwJxkBF{LNW+j{K%KkTv^e`Q?C@s{R28#8K{r2ffgWE#}Q5l&avasXA_HbU8x|Tq# zl0YrRF^G6Z(Q06>pQF?>bl9NCCLpy*BMiiq$k$R$GyOB$Bq>K!H;Pu61_=)lRyM6D z#WGTAqMDd!q<^Ex*0AcJH&_SS!E-iCs*UYdPSAoCts`14I-u?u-QxIWvEsyz4s8gp zpj}IlYpaOwB#jK;qiD<_;v4I013e@9yts!rXK#ug8i{%f^^+7=NSR{?;G&JADWlFY zhAIpbkGASAE?v??TylJAO4FyL&_uJHpqaFNNN4rK6dx?z^qz>#o? z6>h(PwAD+zBjyMHoxw-+u>8<3qP9l*Bf5_8P*?W}%eM)G4T2+?YU$j~L+svYaY zUu$&CYgFgaaV>d3fo-siWlTA0(@T$HuN;jN+Vk*}}!^I`1`d z22fYY=o3p4uhGsdj83r)qhu;Wgyp0wg=rk9PDRoz;)eh<}a&8;SRr?87A{ z^w0=+pVNMShk59#ZeoZ2*`s%UD#22>qtEm^!+Me=w85Y?BSDh2cc_T8`INv#*A-0< zkQw$Qh26D&awOClO=zo=2SiW!*ELm+b5i$v?PXpsX<@6uFcA5guJ^*jY}}+Sl2?d&f&ZWF)hdCr#mLzxnY&8 zAReNtja1)bG128htywwrnJrd`m1F^Z^U6%L2J0x}u>^4H$uRCC*W%G> zrOan%R%+Mt$a=ztI+Jd`@&)bX#a!g8`7}hF)<54J#PHop5`b2PA+;=v!4Dfx~pG>Gr3oQX*qEMyE-#nuJSo5SGRtIz`Za0 z=8TkMX7ZkgEaF#hTqZ&4&=O*=lvU=<4-|2u1&NVm|LAL?1b2go-?yP^Naz}An3<81 ztAvXt_(2_sFUgHDAIW2wi5st0!(XW2k}4xHus|W{D};XFO@0HLzSh=C_~3_of?VRvE+x_RaOs#P$JRN zApSszd~1*`0!E9(RHa4mJuP&L)Nxj(niZMP%Cfm1Z_U{{qWs2dzgb~yetYC8GYrWh zSq!tddyv_Am9KioZ9G_UUE@n{eY)YRgp=8^X7|>}S=#vu-XY6V5N6n#H@qP0QI+h? zcyyvrRdCllPwl6|B}OXD(JE&WZuLwDcV^;_JCcB(Me0~H!>pidL1tQ}a@w)c)uX0x z!X2gS|8B~I>P?Le%J{6^>u-6v z@W*4@ydV7Ts+M%H%T%Yx5wZDd{W`d!1D)4?urh|h8k69_0@b9SruocqZ)eccli^h$R`n-+^}0eTx=kJ8Ef zJVjuYQ+mhiF)qgb+}5A<#C<#`t(ra&+flr z?n3V~v40!$Tt$nA34t#Ado0<*ZeF}S*QlTOlaD@lc+DL%7NmpyC99xwT;Lraj1TwH zkq~3h%d?t%fd43!CHngvl$S;6o#gcudNQHOqT2-2=*d8nEXphWXkd}aQq8x><{{m^ zM2iMB`m-C2?h3s{-h$_g+oZZwYhL0;S-yj6c46VVi}XlDYPo~Z{PIel`wBfC3DR+b z5ynf=Zrrgh_qWksX>ixX{n11S_x9xSgwfx<(2IXK}a8M+Mwlk`He9?x=5&bGGs@>LG&b#h$gN5VE&-jUZ5 z^1XwSIGxY5>haata&EJl=*GI4;M_9nRpP@nG1G{BZKlmI)~(T>*l2Ty(BD*dIOI0y zjdti9F|V0_&B4h%v{k4FtA_WEl$&X)^(7Nd5Y{CzHb4FT}ge zHy5VTENGaSfQA5_UjA>5x&zi3o(%1Sx?3l#xSL+kPsXw&sd*IYYi^v8xygcq?r_vy zM1L2+(5!<%E6fMJJ-axSO5sDjnSb))!fP%mlums_CovkS{rsZbC}N@8Kjnk7I;4(U zEvEwo2F@0dI_w*9hycMMb*O~B43t%ZZn&ChoXVw7mUc<+ZOaEfvVg*Hd9lLgg_Wsw zdf>9>y9+iy)$7s1?FUwl{d_~gnc0d!hdnJHpg2cbq>$k}kyv$kU{b;m7W@oSw}^NR x3yCSfq-6pXXV?4ak5v8a=*~@9m%jXKP#tEXS>G-1&s^O5^?#lOOGE2@4;^q%ub)f<#xE*Y@T+X(|z0ppWSJ*JH4W-L$tdb z1!J%$1F(?_b8#~g00CzFPs6|R^MmX2Orv-&+|d5gADs)a9ra(mH~iyDI+NV{Xc}Xq zAKXYKP-Ud+%|w|6xR#bapQELh#TZpttHau+>j`v$9NvwD1o0;!5j-G= zIZV!G5Z>l=xWK39$w<>h8cVVZBMKwgO!`OTdfLuTaX6y3dC9?rnTcAoiYEs{30YwY zZG`lEnd-tAK{?LIV)?t;{lJ8%6r}^KTb5`nGD@)~K`4@{P>B(XHj=6Wqt)=`>6C4w zN@nl&+IGS!;k=ZHD4O7r6Rhvt<*Q86$a0|d6do?G^Toq7F0m{6SxM&Er(c)~PmHQ6 z(XI_oZUrviA%CBYXKIkg{xR}GEPMKEwt?&{)2Nqfl+2I4xQUC*a}m{_+Eu^G7wo2v zPO~i_N1y{l7OH^(5N1c~bg|t(u&dTJrR^~DdF0oY^2giZo)Ns=3dAv_#)zdrU~HrB zjjN>#OAOe}=4~S2YK<>6FP3dLec%lcO*+JNCGXEv7p7ug1w{!0{S+6HFSH$QN}U-O zZF$`R;7c}-m2V3?!P>^fI+&LOLkFSLhnUf4Cpni~uUd6&^M=8i^%n{3 Df(#?9 literal 0 HcmV?d00001 diff --git a/Content/Input/Actions/IA_Move.uasset b/Content/Input/Actions/IA_Move.uasset new file mode 100644 index 0000000000000000000000000000000000000000..e52af1860e922a9f89ab6a5d99b50bd148122010 GIT binary patch literal 1477 zcmah}T}V_x6rN4Z@+U(|ihjrlwleqXy1HUiuDf?-DNQSTC?coZq?_x#%ig=28w6G_ z5_7>u^AALpk=Z#2Egn=QF}{K~_s!NQL>@A&<19=(bS`Sx6l zjehVTIY8M+{kwi!F>qyNZDMuVDHdW>W#!clr>-YtWZ~8tdf24n-0=7u5)#B8fJE?s z940V1>p}Q{)0F@(>UlEKbe4vq>`Xk&$nxaG_uXr0>*_o`LDlIa`(~c?7owFM?QV%E zVHVNir1k4iJ;rEOWJcz*-WToyriDsfw1b^cBpM1{r&yC_D3Thc5+lW0ye|)oR>EgZ z^i^c4AZky#RUaA0scMcw2kHMvyfzjryoY$#n1NJ=|p8i>Qr#TQ{%p zNxPv#PgyR=5$FK14AsB@2(zPgI@N9o?DBO@dOOU#1#53Qf4m)@8Nu8Ag*b-Pn6VTH zj9sl$#?vy%{}$|K^EDB0waOP7r^+^&9`FTtOuB{ZO5UHTPA;jwl8Q70`bjM$U+5}$ zDMe;nwB>bsflu2!4!$k$2CEwv>tH?(4BZT!9%DwI9pPMZz3R}l_Kd;o`j3M@2Es}g zo&aIh)!<;p3nBPI^EB$v26CXI6y}V7;23F?$Ffu+-9POFSmCa{=@oc#~`$G~%5b z%GhXXbLS}4YHm?DQe)&66?>PLR4MgplqS+x9{oOv^+bo#8JkS4-DdX%TrR8Mm*=qt zJcUkAzTe^VxooxqkKN(5^Zg(^h=eEHMYd48i3aZvp$^d%YVoAg{_C1PY5icUR=lfV z_{q@+<_30sdMW!#M)tg|7ub%?t4mH|Z|H#`>8wBLp8e6rej{m=m9^CG%v!8gsfw=V zI4w3l&)D9U#xCY*5vRIw&P;S1wEqn_Adbj=ZScz!;`JNTK0)qeZuVid?*~}p4jLgX z%q|V_>%%dOMwR-Ks1{M9Mm;NPJ`;k0WktH_$zmlEQOc@RmQ&|^YZ%RVG_5KoJ|eAo z0|HgHjJ+5-y&N0)*q(v4BSxSX(jycNuVSbbTC|?McI>AXvQF|BP~cd@)^nb*#Pf$M zm2glkH;tR8)??pLxPra1eWnB3`olHVv27Q9(=_{GFgw~v%Su(lpk*GlQmGATQJq!P zOl_LgEzub>io%s@G-L=JdLXJ*3ui_5FC0IZv=q6Q7i+aD`!zgiY#NPeN4D?LWm_;u zef~<%mPXPDI83~O&b~ifvywAZLn&7bg`Hh<>^yK)td)mWhE%e0^2y3o&{3?_=&H@f z((+&Wnn1|7!omrzZ{Y$AVlHU>bMRa)p@mg;dBD+O_mITGvZvLc5tDI$_wI!W#4b^S ztCR|Lz7|xfLJbPS4_$gh394+QQNJD$=;X?U5eVw+owa+{j!PyW{lpGD^Vi1@bdr$k zztDeN3}BS9Q=3Yj127VT#AfY0dKu=I8qu0K^R4XlR=oETwXXf0j?6Ij!p^6H) z?)2>HH=+J<*8lpT^AA!lJ|&p(({m|s^EGW1yRmJt^%gQbxR;*#z4aEU<> zN`ui*#K`q(QFW>5d3LoZXBIpm=OnCoeqzVp{`}%Vn)OyGy3UN%b(;mIxM|n+G#*Ei ziOXU;%9l0b#PH<;iX+FY7>eyVPhiZeg$;5NYjHhxrhQJJYk^upCy=dsq0Emso9o0} z>FQ8JLzU{T3+Ze_@Moulsn3MzzL#O3fDhB>tRIE&iE%N(naee0?^cP;#LI9WVvNLq zoa^!Ueb#`}>G1n~UYFll=$osLWIKK72zU+2Slnm=mPIX91n7c4O*lFY0t`p%LYxwNa_ZoyZVu{pm3H|{lrGKRTyL(xGqJNrupg%DtR0y<*ugmcc(?eN3K8BU z>H-tj%5-}Ep-JexPAv)@Vt{K>cL{s8*Dv!1C~I3nX}m_`6Ty?5^6Zb(5LeoLogz^c3lR%~7@J=*`rWd7i(z|%D=DaxBPN^tSjxv8 z8zkZs^B6G6N#+P#qd}eQ15-dG$$^p1x)Wz|6F|^qoRN5BJbNDJ`w$i)>Hq&L&Ie61 zSTCPvc@vVyNuJi3Vmq_pz6Rn`UgM!hejxwH89*K=d5}0NWX0(c9Vkz|hYoy3g6^OL z=t%iV)raVifR3R9h(ImqBV^D{obDh4$VmBV+lR=I7lIfv5T`yu1=16!uTdfQ!``?g zfutYI5q{&PdeVn3I8^@q3vtE>kOYIn|zWElT_BP^SED Gf&9O)+Cb6( literal 0 HcmV?d00001 diff --git a/Content/Maps/GameStartupMap.umap b/Content/Maps/GameStartupMap.umap index d8b4fb6eb4ad031945ca5f0550ce01df42df7ead..e98380b023111c0d816db1002a2bc174a23b54fd 100644 GIT binary patch delta 878 zcmYk4TS!z<6o&WSgLYv;3#=?Ntke*5azfCo{(j*+o1Ic?!kLWTR$=m@y2`7{^PDIw>y3+!j2l!Ue^$62G8EK+t|ty`&epD~%M8x&W4 zr7j(^MOyT0>M9g6=smt(dzf^BZj8h|^Z%ZlO`xjBr|nH{kD}2qnI+Q}h&9Xf4zyzb z072{wGP7lBf&uJh5W;>5$}KYOgGr0b-n7Fldn{yF_p{3vQEr0%2_yKdob6P>F|>qX zHcq=B(3b2xj}B~V5DaRr{|l(UsyINhB9)?ChBdPTsO%jq}-b7dy= z=)Pj-tOj%$KsmA`;}38)4`NG2tnJl9vna1$TRNS`S<4Mw`cQ7Zt;?{3oShmHs|sS? zUHp{<2%u~p(Pex-XC0#=q#`E!1}vy(@qHC@bhbZ zcx=cBYB6UE(;_pAST*+#HEYQlL*h4lyW#kTO6%&YD@X*Y#Ya}`cGkNaT=`BH31Q%O zo7P;~owS0dNV`)~B`v}evn%rbS>udn)jPX?+eG61@w6sr>*p|LU#F>lbpv><;cJ^; d;5oh0j9-TPDvvClOnbReZ>#C^%5cm*`D=WktC{U3ScL zm@h3qTB%U$xdqOAGOwbLE**)TH_v!t<#iIWA!i!LG=smI zV;+E+)JYg4RRZzp9HWK{q*lNbsU47;!7+W{%;4~wItbFPhCjNcpwh6o^Bh@*3rp+p zBCrvZTo1*a;c$L90A@5S(*^OF99A^I7u_a!k}1R28>p7xEEd0Lq7YAzf3wi=AxnlM ztZ=O@22@%WzqV3A8$mBG2|>SX8P?c@pdp*Z)gVYWkq><`IETfe7OI^msHQ~-juYu> z_kAaq#m!xUv=N!mEyx)nPxeynhHWg~;~<-j0XLCNPC*9evDki#3i1S{^iyb@pk*!! zskXB?hekGn3J0jv3_&Iu8FVaey-lUuI+p2$DIJIPcPWF{lV2I~9j#u5y+f3%+QH(+ zdla$}bmG46hz&C44#XQc-1CUaxD70B9~Ck&`7%5^D!As(0O0dk>^DY*#|b(;y%2d+ z1!56iY=ksplwT0JC4se`{YFdN5>X9qSyD*(r#0e{`I~1^ ecBhc(s^jDPtp`DB34>RUi@?X~@@eBD1|dw&-I diff --git a/Content/Maps/Lobby.umap b/Content/Maps/Lobby.umap index dc90c28f2264783f196f3b0038b460e49cedd8fd..873b37bbd806272d2d2b9b22eeed1844ee8f8c3b 100644 GIT binary patch delta 791 zcmYk4Ur19?9LLZ3VNjqkGjfv|h{pPZx-N6md79fiD*0m3T5g$FvyHUr#5=Qk=^s&V zg}*#^s@0`#5e9yh-z@3sR!8z5Ss>=wGTuC+5%%9ZM9S1i;O(@MRO-cWZ> zdwO|5aHi0NIYl!@gV^d_uhnXT9sOhakD|w!vy+^d%2_IATc3u^TBlRX9b7thoot8GBEklX3ELox=$K& zB@-tPRH|_Lhb1o3;wc$2dl>XZR=?xnFcP|GB1N*{6FdmFNY2H#h>(6U*s7yLn*P^^{+K0TMT!C--^dWM8qu#^!z?YCDm_aZF8m9TtST-5 delta 848 zcmZvaZ%ETY7{~99DHIz?7`p1sYPBTi{(VV=fx%P5A%F}ZI1!jZekj2+G>wJf2-E45B+PfXRJc-Yhsi4Jttg$I&} zUXv$wBHT9+?LD3}dFrHfCYKB*y250vM>h-`^pAB~Z1De#bckqf%V(AM`ul2H4lm3G zWzG^|EZ+|XTN{nQs7<0{u!40S{QD)k3e#A(Lw>nLYoHtJNqCBN6n5Jsrc^_JU@HuE zt3kGNS`RCBiQWT0mzXaA3Flvx;hfC|MACSGv*lWWDMVep2xk#3M}!Sla8}wNtc-ZG zL0FB0)5G9*NbEwBILtUWGc^k|Iyw8khAG5~7Gbl9zGDJ|2RUn8Lm6?TO<0YKvvEm0 zCXVQC7dC@v3JGhhqeyW!iDofkFS6w@PEVfRp zf~Bbt%*|Gq@v4-L=8>Y}#w&w+;PP;~b9QO!-RV}hIlfcwCo>InitCapsuleSize(42.f, 96.0f); + + bUseControllerRotationPitch = false; + bUseControllerRotationYaw = false; + bUseControllerRotationRoll = false; + + GetCharacterMovement()->bOrientRotationToMovement = true; + GetCharacterMovement()->RotationRate = FRotator(0.0f, 500.0f, 0.0f); + + GetCharacterMovement()->MaxAcceleration = 1500.f; + GetCharacterMovement()->BrakingFrictionFactor = 1.f; + GetCharacterMovement()->bUseSeparateBrakingFriction = true; + GetCharacterMovement()->JumpZVelocity = 700.f; + GetCharacterMovement()->AirControl = 0.35f; + GetCharacterMovement()->MaxWalkSpeed = 500.f; + GetCharacterMovement()->MinAnalogWalkSpeed = 20.f; + GetCharacterMovement()->BrakingDecelerationWalking = 2000.f; + GetCharacterMovement()->GravityScale = 1.75f; + GetMesh()->SetRelativeLocationAndRotation(FVector(0.f, 0.f, -100.f), FRotator(0.f, -90.f, 0.f)); + + CameraBoom = CreateDefaultSubobject(TEXT("CameraBoom")); + CameraBoom->SetupAttachment(RootComponent); + CameraBoom->TargetArmLength = 400.0f; + CameraBoom->bUsePawnControlRotation = true; + + FollowCamera = CreateDefaultSubobject(TEXT("FollowCamera")); + FollowCamera->SetupAttachment(CameraBoom, USpringArmComponent::SocketName); + FollowCamera->bUsePawnControlRotation = false; +} + +void AD2BaseCharacter::BeginPlay() +{ + Super::BeginPlay(); + + if (APlayerController* PlayerController = Cast(Controller)) + { + if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem(PlayerController->GetLocalPlayer())) + Subsystem->AddMappingContext(DefaultMappingContext, 0); + } +} + +void AD2BaseCharacter::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); +} + +void AD2BaseCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) +{ + Super::SetupPlayerInputComponent(PlayerInputComponent); + + if (UEnhancedInputComponent* EnhancedInputComponent = CastChecked(PlayerInputComponent)) + { + //Moving + EnhancedInputComponent->BindAction(MoveAction, ETriggerEvent::Triggered, this, &AD2BaseCharacter::Move); + + //Looking + EnhancedInputComponent->BindAction(LookAction, ETriggerEvent::Triggered, this, &AD2BaseCharacter::Look); + + //Jumping + EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Triggered, this, &ACharacter::Jump); + EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Completed, this, &ACharacter::StopJumping); + } +} + +void AD2BaseCharacter::Move(const FInputActionValue& Value) +{ + FVector2D MovementVector = Value.Get(); + + if (Controller != nullptr) + { + // find out which way is forward + const FRotator Rotation = Controller->GetControlRotation(); + const FRotator YawRotation(0, Rotation.Yaw, 0); + + // get forward vector + const FVector ForwardDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X); + + // get right vector + const FVector RightDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::Y); + + // add movement + AddMovementInput(ForwardDirection, MovementVector.Y); + AddMovementInput(RightDirection, MovementVector.X); + } +} + +void AD2BaseCharacter::Look(const FInputActionValue& Value) +{ + // input is a Vector2D + FVector2D LookAxisVector = Value.Get(); + + if (Controller != nullptr) + { + // add yaw and pitch input to controller + AddControllerYawInput(LookAxisVector.X); + AddControllerPitchInput(LookAxisVector.Y); + } +} + diff --git a/Source/D2/Character/D2BaseCharacter.h b/Source/D2/Character/D2BaseCharacter.h new file mode 100644 index 0000000..311c6b2 --- /dev/null +++ b/Source/D2/Character/D2BaseCharacter.h @@ -0,0 +1,52 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Character.h" +#include "InputActionValue.h" + +#include "D2BaseCharacter.generated.h" + +UCLASS() +class D2_API AD2BaseCharacter : public ACharacter +{ + GENERATED_BODY() + +public: + AD2BaseCharacter(); + +protected: + virtual void BeginPlay() override; + +public: + virtual void Tick(float DeltaTime) override; + virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override; + +protected: + //Input Funcs + void Move(const FInputActionValue& Value); + void Look(const FInputActionValue& Value); + //void Jump(const FInputActionValue& Value); + +protected: + //Default Components and Input System + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true")) + class USpringArmComponent* CameraBoom; + + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true")) + class UCameraComponent* FollowCamera; + + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) + class UInputMappingContext* DefaultMappingContext; + + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) + class UInputAction* MoveAction; + + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) + UInputAction* LookAction; + + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) + UInputAction* JumpAction; + +}; diff --git a/Source/D2/D2.Build.cs b/Source/D2/D2.Build.cs index d534c05..24b878b 100644 --- a/Source/D2/D2.Build.cs +++ b/Source/D2/D2.Build.cs @@ -8,9 +8,14 @@ public class D2 : ModuleRules { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; - PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" }); - - PrivateDependencyModuleNames.AddRange(new string[] { }); + PublicDependencyModuleNames.AddRange(new string[] + { + "Core", "CoreUObject", "Engine", "InputCore", + "Slate", "SlateCore", "EnhancedInput" + }); + + PublicIncludePaths.AddRange(new string[] { "D2" }); + //PrivateDependencyModuleNames.AddRange(new string[] { }); // Uncomment if you are using Slate UI // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); diff --git a/Source/D2/D2GameModeBase.cpp b/Source/D2/D2GameModeBase.cpp index 9e2b19a..c1ecadb 100644 --- a/Source/D2/D2GameModeBase.cpp +++ b/Source/D2/D2GameModeBase.cpp @@ -3,3 +3,7 @@ #include "D2GameModeBase.h" +AD2GameModeBase::AD2GameModeBase() +{ + +} diff --git a/Source/D2/D2GameModeBase.h b/Source/D2/D2GameModeBase.h index 90232f1..ed13604 100644 --- a/Source/D2/D2GameModeBase.h +++ b/Source/D2/D2GameModeBase.h @@ -13,5 +13,7 @@ UCLASS() class D2_API AD2GameModeBase : public AGameModeBase { GENERATED_BODY() - + +public: + AD2GameModeBase(); };