From 20db2459022a27386e2557a6ebb3f4d760359c89 Mon Sep 17 00:00:00 2001 From: Evan Nydahl Date: Wed, 1 Dec 2021 15:38:24 -0600 Subject: [PATCH 1/3] -Modified mountain (may need more changes later) -Added full controller support for all abillities that will be in the game (grapple is currently set to x) --- Assets/Models/Mountain Terrain.asset | Bin 557476 -> 557476 bytes Assets/Scenes/Demos/graybox scene.unity | 491 ++++++++++-------- Assets/Scripts/ControllsGamePadControlls.cs | 132 ----- .../Scripts/ControllsGamePadControlls.cs.meta | 11 - .../DebugPlayer/DebugItems/dGrapplingHook.cs | 8 +- .../DebugPlayer/DebugItems/dKickController.cs | 8 +- .../DebugPlayer/dPlayerMovement.cs | 39 +- .../MovementAbilities/GamePadControlls.cs | 132 ----- .../GamePadControlls.cs.meta | 11 - .../GamePadControlls.inputactions | 33 -- .../GamePadControlls.inputactions.meta | 14 - .../MovementAbilities/GrapplingHook.cs | 8 +- .../MovementAbilities/KickController.cs | 5 +- .../Scripts/PlayerScripts/PlayerMovement.cs | 35 +- Assets/Scripts/PlayerScripts/PlayerStats.cs | 2 +- Packages/manifest.json | 1 - Packages/packages-lock.json | 7 - ProjectSettings/EditorBuildSettings.asset | 3 +- ProjectSettings/InputManager.asset | 84 ++- UserSettings/EditorUserSettings.asset | 16 +- 20 files changed, 434 insertions(+), 606 deletions(-) delete mode 100644 Assets/Scripts/ControllsGamePadControlls.cs delete mode 100644 Assets/Scripts/ControllsGamePadControlls.cs.meta delete mode 100644 Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.cs delete mode 100644 Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.cs.meta delete mode 100644 Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions delete mode 100644 Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions.meta diff --git a/Assets/Models/Mountain Terrain.asset b/Assets/Models/Mountain Terrain.asset index a8287e65647dc9b249094c70551a95380ea7de50..1ffc26459e121a87f5aff9596fa2fb95411a7566 100644 GIT binary patch delta 141527 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

Q%6)Sl|{tSB#Z zo|#P`OHmfjjyZbxBsx*jLEn#7kZ;%!-dSVZeFv3Mi4$+0y!RL*;Ix%;yw@|WG zj0=Sj3sVchkszeE>@7_GEmP@q%#CR3;v1c_^u86x`uoSc>Ih>7mUKV6$2Ws-Xv7;U zjz#KBA!SI=xyg%C7k+4@GI##ueGNQAB6NX4>w8O}J8Ns1Rjv~8L_YqAb|yX1mH$0X z`m`}JORI<)5*t&v3T@-sfD-ZMYV#J16yyI81%HWZn7g-H7#R$=@C96i{IPn*^^~RM zaZyc-;6qpm+8Y-&l12wgJaQx=NdA!TEY@@5>~sd(%NL7cVXP*>#Lf_W8gyotQ`t)5 zhpU^rcX;2lx!1xCg8ugE7yzlg!ytw7vFIUA@E7b9txp=E&C!7mkJcJp91>{6CC6z# zUK&E>1oS8gPl8zFP8XW?f$||gPZd%Ob93(=3m-*!3Q;ta{IJSKPJm*z>7>8-QZ(Sr zSZ>+|r!hW{4unM4{6v)JK2A;Kpca5m5I6glPY`*aa>If!1P%s8n&4CGtgyVn^3ikn zg}HaX_br?IS2l+)4Fz9&7pVOYCE#74AJ7l3_ET}LpF*_8vEbmQ!2(rB^`ij4KIk2Cl zpbhYCJ_k*@e4M+O1X^Y^2~t0n^1&jf>=y1GHwY)GgHEhtCHW9E&C3{y$nO8m z`!-bBV>x&p(Jd4>0sw2HWn-BFLfi6#a=MePg{bY~XtW0$Q9T3EAv(U+OG21HJf2OQ zgffipZWog(Bsj{8T+q|AFWzn*IN^QA=5|1Ub#Bok6gI5yPlLKM#pDqopt?sEUX~@K zweZ!b7ah?tHxU;bAE)5xWz-}!*gQT`d}mQ-7vu+=EinR{?vk<}x=Q7-pMdVZ^GD&{LL| z7epIzg**5ZHlAi9S)y9s@E{{1)QcyJMMn!o>> zwe>;x84ZA-=901>NQ)q%zx|l>)t`QX3Mpl1GLq9g`j>@@VZ5Cf63)Lb2K}=gRBk>X z7?f>DzA)oB2~L1&P;=Fz*} zk6^b7Nm!-A!Gu2;%LhnBJ`rO@GSQbGW6$Uwk{qAY6aW96llSvd*l&DHX3*_gaeSE0 z$%(7yPldYis+cx1V zw)6bF6>CB7LXUxE9!x~t3`C`z5QdxVU{yqF*&$T8dJsv&J0`R~9KrX{?xd6X`(y7X zHunbBf%`#x(3@WmfC}*aAt~l>F<8VE-S{qchX#^3_>!Lb|L2T^l>iaB{&=KBQ|%O5 zMyEpht^ut4b^~~5LIWbUid8HF{R=-dk3Y8%;bd|7@BBzOQo;)8nE>^PlE9-+&6=BSztkGnl;@K91)gnHAFd=C&ZGKCv! z$#@<3VcLb%Fi*yfW3#)H@H70^aAbp3dvC042sW$rqPp0|^Krs_=n?$PIIcxupn25H zMnqPI@W1mhtQV*C)MPySM&tv>)tjcrU`Y`6Y_NFByrxoWo=gzO%kEym8uFszt8nDP z5>QBbL3r>T&>Z56p5PNZNvDvz=&7FHBNw7-2L3xIfED2lSuMH`CqcKgD64Y+ z-)ACxUXSRf|NAmwgKme~;>CcO$G$b}Dy%fHu1ARi{4-{|Wu8v{f9-t*d{fu=I3%P5 z=x}!}?%t*iqYMU3^78EJdkkl|yQGxi3@^o{K#^j@!hkV+_y!CZ6MO^4aQFXt>58?` z0^9HV-`MzcFYPRxfD#9M`cE4q&Yj8obft0`w`cja zqOgZd{)!N*57Q8rSVua7cu(iH_?bN46FdDG%FXZMg%YsR0ys?nOqX=49<7zr=JH3( z#I}+$xVGBpKV9(GVBlS(psd^y*(u`7pb6ls!z>f(f@*py&B}{0f%YTbv-u4!C_=`P zvY-zN@Xm>7gL#mZ)=96fpVWG44|yv%%lwSyBpfwX(*N(VkUV*L{ayd$72%-rJJwld zXq+`7+1@0BCwgfSd+ReML8jym1Tm4=Bi@JQiEf!v{=ac{KKXFB9Ax}afv@##6H2@(^o)$Qu zRp2+M2|}UQVH^GyF?3uN)pd&ZYB^&?=!y%FOXMMK!80dV4~!V6Sx{n@=~?wPT77L3 z_lKfM>q%Z*S>^xfg1-U-Z!QHUIft5tG=K&ClGY1$hsoiBQd)bKi>4;!@o;2DBh(V= zex;*gQijOh>y->HxQxPa4e}A4#~LJ}4Hkj#Xfnj>8*9QOt*|zZuVvF9uC@#6tz`M% zU?KT(o}4@XdAcA*UWr0!08|pM4hMm+O3-_LMVQG?(jJiC%h53PtfDFBWRF}{J}X5^ zRVDAuYQ~Ci0!_jTh>1<%Z4%W5^S~+90n)fmz%JnttO?Co2`D6RP~H94co5%Q7Lr5T zoY4xO?MDw?0qrgs=PZ>9izCfuE>3)w)WgoI>s|WtKLG-Nj1c zMfW7P_imt}3n(grtB@fy2j7{9E-?IuGxQO<4n_2~X+-;uXXEMEVv-A&QlqtUVl^B1jt+q1u@)JG2K*IKDQ|{_+TamKcT8{%eBJg zeOTLA5jLZ5@gt~8Gm&3-g)T5WN8KPn?}iqs<$=h90W6Ge#y8YI{)&CVe_W7Uer=%S z#w}X)N3Euc!>_q^?kYm($DTB_>XG{~=)Eu&cYPjO!2QQsWg*61@EC8MPV8f*<1Cv>{aa zQ4$b2Zb#n_3iYJbS80JziZqgG^e9e=?#l06OyPYeGD|{|)5^uwFYrOy9olx+fz#cj zBERPF&uCUs5l==ryyuXmw8@hbyf^2RiE22Sj8Bp}Y%6C8NW9P&B5XKq%z6wIMEDf8 z>$&LwJV%}Nu3>=hJAp|O1hy#aQ40D4bhWkUJ;0Nma4Y`&Cjt6cww4US8&EOtIc6zu z@)VY1WTwY8smqpO-*o13)&o#7EHhC6FO=P=LOKph8;|m1A zo-HB)X%_%#$3n7TFl?&EYWI0jo|4Tbm(gvd#%mx;lB~vW-*?iwUx7fgyisxDp0qS? zt`!2~C#j$-UBAjw(lL0D_goW8Rg>qU7$spjP^qBSMIL;NIM{DICK1BUgw0tyh_kp3 z@wk_{ACyaLN0y;4-Ze`9eJ88y6=dBicSc{5$?QJ=4WjLnJ~uA~&Fy=V0PndLmYOEd z@8ajuM{-UjgIW?b!@GzGEo@$tZsVO%5%Y7swH^pPX!=8^h|6pP4JHFnXC>1sph}jc z{wJ%BM9^1Ko}`+{V>%Q9A&dmfq)aE1o`HWtZ{aoG3#|>3%Hnacy;MlPE8kXfqsI6I z8OFjAA?kc^s2h@61BluaqNRU^El?pSL|0GoPXwxD67)ZkHb{WHRPvWfecXg*H~^xTQ@;dJ zvSriw-TO|?I?o|bmVZ)z3ftT!CBXV#SL&l zowtX508K=iLkdqq2mLd79HkHEOK1sl2c<_X|&F+#i5)?I4M=Tfu4pW!AZ!nXehHKppk9ARl-@`&yO?v7#=DLojl*OfbJR@{JWrY(8-mqgLnmCS|0 z-4PJFmrb7m9fTgRb+kJ8@H_oS!>5YzjZ6dhRXDg`P*swS^?}M?WdOOa_v|69E!#pu zaXOUNdug!6Y4Qvg?hE~3S^QC4APtoxlqu>_#G(K4A3UKj8w8vLv6qeYqTr!Vr{#v_ zwKMZY-Q5G2@8(q5an=s5Rh}ESKd9dP# zz5s8ZonK3Yba4jhSg@4pKtsomwYIz-J58!#ryBaUs^h&RU0V5wQV8dyOW37KQ0>AE zrs3-ryjcA)e@M%KJ9M_Z(S5!004V9&64ynt=@!?u&FiYknRteAewc zX$;xd&b7`Su0{gvsYMwMmF!Agh|r0G;Em#}TcTB*j4fO=>=B#k8TFx1#c3^TM!$xJ z<-Om=26+#NWs-|2jZhf5Oh4pxv=or|I0ZD+pCVK={>2Mds&C>o*$&bYmqyvuLf%_3 zmZm08I_DziC$6HxIU&~FSJWi}Zm+582^2uO(&Masq6VW;TxSxTUewTcX}Pojex72| z3)$XA75>XfWtOWcO_76~rqy_`c1vpvcza4FgE|FYAdx}8M*4TW5z9nR;=|~B^|bfa zB1=n?=O;%i=PlAkbm z(#quN?l|pm!8+C3Wfw}jtBH!#M~+qws8#VMaD!R3=`W1(r?A3j^MNb6=q2?!V6dnty#LQArSx}vt zriQi7P$gm>*?z~NMMoyGC24=Iv{}w@`fLp8~lz85N zwy7D_AxbIloi&zDCXXI=Dy*NQhBLkEy6YEVpZh!UhGbV(snzgqAkI(R^$Oy|!UHFQ zr4pbo($4VjAh35b4p+;)sr>xQh*Lw(siwrsNnz#!1L3mv2@vLW{)m{Y`atau=A>WY zhRCKiQ+CO^oXLA{ou!M(ql8@vn+kH1$93AZURdJZEIyGwQ4XsJ|3ozQ9WVY$(kz5s z(@ROrJ6iLC9otfhpS#uHyO2wuYE6uq%_IwSD( zLEIeWR#PffV2@&NI$6uDQY*_iti(d5m&fZI1Vn z?5rMV(CWYma<3MCKmEO*kSRQJSiN#9a){W^Q6jD2n_NZHx9rEc^QckI*_rY$5m{mt1&OZ7Llvyfs*-6)YU(d6lVFfyigVJ zcO);X#B*!gG#jww>r3WN)+=kP*@sZwax2=b9#QVe73KEQdhdh%mLVq3+^|5$FOKof zcCMB}7jUJ`ljh5Vlm==J^bq3DvQig|%C zb?Bng5Dsqp;;+?{$(M$I5Eaa_S8l03fCH5c^bka04bc3dKVf7Nr!=v8f9+dVm2QXq zpP)8X7Rnjqu~LAvK+GhzayR%qH$|7e~K2kqN zhwwdekDg+&kRbs}KqCK)x*&Zax8W=3WmJIQggWCHa6@&(zl;iHd0QHCT0? zPFtxJhb*kguU(T3Y+cq$^Um}H?t!YRr4&V8Cw(NH6C=ec;%avecYEP$S2k~&pA1>p z940z$Ii`Uu9CIncufl8yI2bOim#--4kQHCRD@iMwhn|(3HL0Anr-uOlpUZ+(zAq0^&A1tvLKm|M&?5Y_Ru5{}&Q6j7P4s#E9AIMw z!f@_Y7S@0Z;ux`x_{hD?UB|sq$S-tuZFA=FesIE&g)EMlj^fT4POEFCiwV`?06J81 z$u{K!^?=$J6~udRBpE^HK)$^@5m_+Y!QJ(0`hKm7)`oY6-Yoa=Aaq|*lPeAXYbvyQ z$`3CE*QU>?^1qw*Yq2^<^e476Zj| z-bbe`(@mb`VWk|S99JC!oRwV;|uyfVUR`rN@JFsj7YqR@)8y4)bHT$xhrK z6;@aNGjRRMGhCOGTPokE*|CeXrR`W4_tR!VaF`AnG--Vj3rDHrG?^c#D)}0Ps@LR$ z(j~F780CHRyJfz~QzdK;xFZ%jLY=>Wb$Q#>M@Z=&;w}ssNMB0J)q$hIiCdgI zw1nx~Mn|6r;OHz6{a00sg5H1+=mT;FFGFqBg2}Nk|JNMN4J?3+Z1oW!-m8aql=mydVUsH!Gf?QkbCT{gUx@=hj6-&aFhn022 zIC48jJJYx#Txo>`aKc(a%qKxfBW0}mJ<338P$#Pk{THje#K}g{8Y9Uz2r@`ULjH7D z{xx(}OHD20Hrl7oQko>q%l|tJo8-E3XGLACokD^16KWpnt4+E%Ry>{B|PjK%Fy8TGQfPdX%K@IJb3`NHJc)Sx=>ufLo^p0^ zWfcwytK44kkaR~btky#sZbaN*1?A@c;3Rr}bmQ!L26#CeL#3EQP(St>Z^&0dmx&y- zG{n)BfWy{DNtGb@U*I;C{FxjJr&Cvvg~(~?9lDndg2v(tw6q|H5g?EAU%SgOFpy98 z^3iN2y+9=L4K9XTpa`{((pvshiZJ#%w=Jtpo^1^(h0PAj=m>Y*bM$e3;M(MxB#d-V z6z5CJp}flybt;O$I;lt>(f!cAdV)6WIouk(ohE|xNT3(CY7Mos9D}p+1F$c8k|-RD z)iat;?fF1j-G+&C5mP?Z*r}vS`Z;#2dF073s$eG_|6;270 z-8S)rI6x{auLu9$ex;83r5b_`L%rP~k{S9j6ytrK@}p6eXFBNbc906^57jl>LC>yf zyda;-!23V)PqHWBd?;d`HRCq#r~iR)Aetd+!53 zzr!ZaP-kmbb>XJyg|;T3|G>tu@K?mk5A)6QaZ8^a*9idgy_Q9(2D{Ibvp>D7r0?2TD9dWc(Evb%Ep2!^%uTS_c9B5!G2C}Q3 zD9hAOQ2~4e4+Hb#H0{qa@(Hj=cG7l$vnCYCI}8?+m_!$ovhf(34D>IiErm|uD_AP< zomGau(EH(VSeC=2=Hdc(LHBhbjrT!Xzhlth#Tn@;B}54igqH5_-5-iEVoHffiy%#C z2xQVuP^zj|)NjyMe3?{a&3StW7>Iw0QQvzUM7mSG44g4!NBnO(PWepN5T>| zgA}1Lv>2PgvhoOi9t^%n?ME#$a8z>uY64&><~b>hC-IBdeh>&!kQH##C8P{lg3ID@ z5L0zec?|Yg8mWZX*u7Y=2z|W|GW%UJd0Gnxh4Sux?v0Q-*h<_lhJh@8Aa2!>0i9|0UOEi?47?#lB)Vs9I;RhEK0UMGT1Yjk=V9`@Jj!-umvTrsrQBC?sljS1b((ra&50VL z#h{H4UX8PpzT^x9DSP3#WGK7J1Rl$ufMy!6?T6A!m2?bwKEvVka!!(XG2$>(?GzhL z`;)~u6CQ!mplrj{2a2SOl$S~S#XIgm_Y}b@bn`yQ?svoF2^A&@M}!>iw(foII*`#d zSsEyhQYNbdP)R%iL_Z7ZM$*u|bOqbTbNnf93jmPGfSs-&Z#5yV^Q^X1>kie|9&#`5 z#>;}Xn#|m=pWaM+)2j3)SxI^lJMkyKz*I-$PMF|2xC$(5-Q2zyA60P#h#GE~ki$4U*PA4OSQ;(jP_A>{$@z5IUJ%$^bIMqt(Zu+q;!+3`9&7CLQw&w{mh zE6teu9M~g8!J6fPC6oeC0eTw!0xS`8wQx<-YG~P^@5TYXoJaB=yb=GHSK$FXJO6-N zxdkc*rGvWL`FT0$+y+({AH$dNZ}~Nz8Gff}5gr)i8^{y3=!NtUpm|$p=<+!TrlBF? zL3n;{iM>YPLfQl(y9!#)R>Ucw$mat&1deSgNIS%iVqx*1yQ}*O%z3-Z=K97dIZrx} z}qQ1 zB|)=32G9>`8@2h`1T8}AtTh5XTVD&-s%w>DU9YHBgL>2TGzmWM1pSU9wT0SO+96mj zQa}Pp8PLrVjMY^i&=BT45e%w%$)@pGXrL@>%Xk`yjUPf6fr1=`+NnBh;ATko#9m@* zalZQ#cX9U}VT~Yr?*#ajG<({qd(#=EeqtoKGGzhJZHp_&g@BEhsOE6j@}+6VZ> z$^6CdYQJJS542lQJ9a))>*wQ7F# z%%1!t1wBl^Vlg~Ak;bKeG1v*A4t)C2ToAuLaHe01*I|`uZfKft6|AHHrLjCmx*|3Z zW8F`LTEZAtYFD(AI?KbU(X~K7r`fX<3HsH|B+{`Q)dg{q2CqKdBP9+*EBizs5Sk zQrU{mAz$DnXf|XGO#>m%EVU4~yUV#J!-8#dML7#QcR4=yUJ3D2&7Kyt0<4#-xg9DF z?$vH;Ibn@V`k3LbnAig7P^OlEN+FNQ2vUt4!qssz)K%@Kw3RzcGsRo(hVCPvk+!)4 zT46pC}MNNhoPRIO$E65){WQ2l`+wgBHVEfO)iyg|OwcJl#$@kV@nx9)r)K$7*)< zV`Z|OQ{FADkmgC_Bo1pk7KggmdQVAygUp^icn0o=+h7%oxCtJLci(O1Cwh87-#-qybEA(bpz{iIM`e}Kz0UePr&Z}iq&H00kz#}8E`(-fCI8NxB&hM z%|@Znb>Um(E_m>lNHwHuuyr^fZWCvVnt0Tm+bsy=y}u&A5oXV4Xb_r-j=@%R5dH<1 zBrQk`xl07PkV2L;3uH2j@Nw6#%n!C!Wx2%r^KfnlcW^4k>0#m_bx1aH7p_Wx6VFPcLn@Fd@o~b707qfs>^SgVcyPkWVaN1SQHQJfpIm=PadxiOpHj5NT z;k`IDxU*-IQ*hJ}K=aVNG?=!gk#q;WNK?VKH-xohtyyt4i~bG*ya3n7{`d@9fZXVJ zbpq_#f?(IMMp2b7v5KhzuiEqT`w912kQAsJYaimB=AqxA60R-6Hkui&^WK#s)oZ>anFASld>^ zl-@RTOL1FNSIJtU;287Spz&LZ+KPqNw+So8+sbbZvjuJ4A5=Ozt?fJ0s-UP1k~Oc@ zc$KMkD%<$YIkTp#Wp>*dnSTfxYKo3}B3W};L$_qKRo?1&_HE0p)K+fbo+!Kg=eMq= zvhi)s)T>NoZ52cJMtO{HPHgc8-PmIDePgXzJH2g6M1U=7lWfgdA|hf|P~ixx4W1F0 z;-&v;m|eC#TPoSc4Lln(QL*MNxH|MwP{6?YHsde;-unX|2Q@C7(`Gf9Y*9AFS~TZ! z^B+MOwuag|n)2FuY{_S95s}Nb$$T{^s;6SD;2$_}f6z4ZxuDIVSA*uSQmiRGL5tGc z4usyc#Y8N$eQ)j-w5#@tpy(zGY#Dzu2alDC+QLn+@b z)!@B1uG<>do>Vrdcjps7Bc~&6pPepfi>zHNIAov@RAkQ1AR&5u(E6?I zZD-BBY*CGnwN}pMY0CsRXqGwnR_T7h!vZ6MmFro9QIl-J-nGaY?pJ%|@iO-Mbu-&H zqYCzVKW4I@zgg2>=X^%{B@$%+_>WA!D=m}VcWpX1r|+s4%;CERv`=H-RWJ&?n@gL9 zKP+Gen%hqW*08r9oX7XQF}5+z#u?>(S7U7B{iWLQXIx+U+f}fV{aP8DedOK3_A7gX z>?1E1wqLW^?6$M%?H8oLs1XgV6Fo=r*@Z<}e7`lGX^gS*hq&iVN)_OH|H9Q3WPjm3 z-2bZgdp1?_{eEoWqP}a;59xi^?=RjA>G(L0eb$w8AyKnFv4(rTs8z<^10XS;p4eyx zM8@ZD`e#7!@_5FRjpqc-jf3X#z$Z~N8(9Z<&fcu?;>{=ym^XcBQujYU$^K2^P+qCO ze<}m2s5yN6!8#Fjd^ojo}5`2;~P*J*S^^cr1QNf*Eb!27qzIhwZF%A13Ww)kiVL( zc2#?};Ply;-}jv0avAKuXw~h)ZGF0z=?6IPye2A3&8W(S(U2nTS?)% ziRFC1GbT4~RNR_dZ*H8;vBZ8c!~lq-J`y#*t#z2kcyQM1zD38boR8!4=YhCXCyu=r zpDp!TU@jhyTLO%SPOlv&C(6yZ@zM@8`2cbCITT_5vN!k25Cf1|x93MKYiAuRE!$bz zUVcLynR?86_4@ymT=0;ItvgB^_lIAP!|cTF zargHs97hhrIy1gE?@nQiHFQTs!O+)nJMb6-G_+3v~!5TT=|;}36|GQ2+6T>d+@cw8$z0gO!nRXDu(@&A?=knjx_kl z{?m#z!CHZ%At^&Q1>^OHLyR$u=fVt{*$Vc(5|q(ULrK6w}do4{b#_(LJP z$E^r?9o6HBa1Hq$6qP63nlFzrV7!)y$CZI2_&iDux0X$3+_0wo65j_S!mZ7HxS^Gg z1RFR>6Iwgin3pjJ8$IsQ6qw)EG(38OiXd@Oy`#}Hm3HIItkNdvAxFs-nT*Tav yHiv%ny>}MQ;=8Y6s3X|8cXg3=zR%%#d3_Hyeqan}++aMwcn<(YjTm6f_5T2|5A(GE delta 141595 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

=CMfsIb*N&g}&tsFS;eyQ#aGyRAFLt#|Y88SZ`V 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

t- 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

HD zB5P3Vm%Z~a%;@WgvEQ&>wwy3W!55eZ>-xg`fDIJUb_dJ)cXa-=@{XdnA}MXj~;GN(*?{6L4O~jE~ zsrOJSy&u`g_}OCIKKOqQ6lRGj=}H|Z<@U0?Rca({7F&qPu<<_5_vR1ca2d~DWO6c< zBGn-6{+!$%;)$lgH~uIbPEDR3?yfGSlXI-LKex5F%>ls5SYDfHh~bPkRWj`~s$du} z&(PKIPQM(c0VToWn*+GD9st+V+GW~-h>_;n5_nebYfhtbkXIue{HhtD83Y)V$4f%s zjMdE4tk7)7mhTfyPK1;ip_Q!ts%@tmtGlUdtzV!oU>IY_Z(L|>Z+dE4X7*d+tTk#a0-+he(?%-_Va3~cTgGK4$k=)D^fJG|q9;fDa@&yH(uvy3rO;H@ z5dQtp{tEoiC@|aNt(_s+k=^vl@Iqhs3&;UYwKf2$$IzzPmA@-$E2czGUr&pTJ^+Uw zYIcJXvrxa(unMs;$?UXL#^8>%RkGi-uS3}#?<(y6-OYRYc@4hB{yf1kM0PSjtq3R4 zzoF=;!=|t-SD()%6cFo6!E{{UH~4TvYX5BEIQdd`(9p&nNG`{0N;J0Yy{@8|U1}~iI+A4TeNAcc7 z+W|(*R;{3&s@F|jHrp&UtzY3WeawEq zaTHFKuiW{)jeHvakigR5A>vNx6PYEPjs8kM06%&V4wMaCHGVXImv1hN6CMeDWO0w! zQraPPz%c)3i;ZvcMY+B_ODZL;66=76Q&ULhZG2ulRaWjSn~$x;RFBl4>xJ7;eV{*3 z9^1dX|AW^BDnQs-!g0rT+PdGe)I12j#$62syXuv?p!QeI4#;^GQza-DDKbV+-;RA9 zBL~$THKnv)VB&WJ-YrSSY1m*cVA*NWTeH|U*cf{sM=fUt*FhKOZsVzlfq831SGs?=wg)r=3S12z1yzGt2XkQUA1Y77aj?e+pVLho30)~gna<+*u~xhNKz z;!Pin3yi&u-wj(}`&S!J$7a2x@1ZY+Q|5?nF~E2mMtqF`$;)|kF}nBKXK6Nu_~*Iy z14@bfSaof!Q|Wl!eBCkKH=MO${Vvc|ErxxD8i1Bdm=>5Cn$MU8O9K#U_S@##hdF2` z;flD2peS4E+wH#?NQIhYb}|nfCu8Wx^pVJHM!|k!hjJe|J-?ODE7*ktSP@((i>0L5 zQU!TcI^rTtsqU>bKsqY+7ti4|dBl(5Tk>zX^_-8(%r#(JGW8=BkZ%i8rN}(kk=h*a z`E&T@cpAGeJ4Zn-s*SA~h+1#3Bel#>a5A>s=W91>&VprAQq@U0SaBkH_I_Gq%u|Pd z__P+%f6`wzEHhe7`OIs~9W7TZg0;HsmF=W`gJXiz;;Qe?4p6-eTw9j}VhMF??K_7Wu0S6~tzeHC-1epTqF+l4OxyibKSra1re&r0^F0KBwlA+1zYr z5T!}l9Uef{BEJ#GgYyHdU+wD&_*4y1n&r+1jz*3N_V+d?qQh=YwTPCyun*~MerOtR zYGHa}oM%ih7BHSNOfhJYLEh>Q>*wn^y$Y2`St#JW)yek(P@K>m(*2ItVcjX+Ro!FV zcU=*EBYmP?z>#!SU)Ydfn2XV6oNOJ9;f0ma5a%Laz$Q*&rpZRQ=vV??4Uo;(*Mr8 z(xY=1aGiE6v`?^&f=Y6Kb167VbN+X{^-$9Vr=S+fJ(MbDe8*BS&9c3+UU2ExXd2AkUZiXeE z8Kyp_Y^H<85yoCPUG5vUqJ?q6p065gLf-4|>CfrqL;5|)20QghXf{shuj^j`Ca!`q zC1{vqIAzFg>|vaQA!Q5GEK@9snHS~=)I#T51*_|h>I!CZeW{oE4jS9hu_ba6^03K1h05sbVyHSDV(m`l}1gi zCffmq)(|)28M@Ao;yd%%`QzLut|ji+C+2=+7d@&b!mV`p+I zzOhgPj0I)7E)#E_hKcP4sk3xlWRNeSLINO;p?q$B6!(VhiP3EoqubNr->G%viKgXeTmUcaH?RL-d@Tk1Hf(}zWn1Q%Y911PLl0ctu z3FL`+5e1Wxoz9lze&L?OQ++9)QE&=Zgn03k*iX6ufeZO@x^CAud6Rq(K!#7eD};qS z!aBIe*MmRYI!?=dXMX`9&mL)kj_w|LA#{@11odL0zlX26w~Xhb>!9-&c+$q%;$Zw; z5rmIqsMF-`qid+Grm3&)qVg%HN6){C{TL&gK$g6vovBOIXE&?`ly@AomE)$KI5|C* zYS65FX?tpa=P2lE>!v-6yiwm){~ADD8;NVEF3N;+(O2n}5t3=cX5x-=i?9bWRa}uS z7aiP@cR(}>$V)H`xFWJ*DRDP|jTm7%9E6v1MLB}q$~=r@!Rkbwa3+wSQi#1cE!X)s z`wn@ZcuL?TS?0>%vO7~8{T=7*dix98Fk5+yTRhgnsIC}GeM_o&t(h{nGUqT~HElGF zHF-?EO^pyExnVjie=xqm>jM-P^O(w;nxZTTn`WC1n?9p@pv>FN*)0ZCS{1CnTC>|m z*$Ubh+uJ+tIevA-)0#Z~1owrUZRN$53JNHu)PBM0ffa8X!HH*UV5h zBhubE)a9f3hkS2guh15}uy)b`skfXWr!ykH$zge(bXKe)E)iM_SNP$49G?yKW{Ath zEo5IaPw@OKhThcxtU**IGC{&?HRQRcc!tARsV)q>_hY4P8T3ErnTA4!vaCM$eQmO4 z9b||PDIY6}M^oOV#Y7qOVj}?XzR=CoH#O|V+4;M%v+01ThxsjbRouvVaQ5WrfyJE!`*@(&#J{q1zhwwa9WOHyC_)M4$)xy>OY@_u*Z#*em37B; zE}A>8+eg})*dN&z*bIQr?_1YfC2N0cP2e04EJrO{EDJ4@Eu$^+Fv|$b7|RsPV#_wm zX^@%$z);ySC@NXD~X@N4|xquZjiF z1}6~RLm9};q@5}hPC{pvJ+dOwnYqSz*$1e#)_Wej{M;C@7CxjBQM}O!Lj8rN6bC&1Ik9*ygUNKPz5Tm=fMczrfKza$I_(%Vd)yz~qdn!l$zG!`vww|W704Xi5Hu3GL(!0t%tEcA zdWIi|htp*uo1sU4nX$1q*lyf1JSR$iGhad&k8WeSSWa3YHT)ae{kQA?x!W~ZUI1>( zN1>rB0c!4@= z9;gdbOq+}su+AE*&#ue<1?=qAsxe9_dMRV(?=kXHIPhiBF2Ty&W+-28($_I8f}_J? zV|P<7sHi7FM)$bwuKk-Mhby-`i|3|iwReFfyKJz#@Z}i$61bl{vKMl6a`29*<1_NXWandNH`i~jqV7@d z@4)W9d4_un`E(2j$nTLp%oX^hUSqp* zi@7h{0DdiS%n?F1agtaXlaIg0LRtv??fQQv9%{?oBrmeVOWw!l$6cYgs@(5vKMWZY zp!@TR&P(SGKO+~1Iua>BGYk0kd46>df(P16#~6FS))U#Gthu_W4|Z_pgNS`pdrXsc zJ17`VW#{OXESY06$}yTnnnu9v8ew2iN8zniERx{Z#*PxT7dpbG-WEyH%^XnvY7Uz{(^`pL`u+uODv8oo+P zfy874?(GJCbxs&A)W>AR$-m;<(B7%TGR&6913C|Ix;`K$O@(Uun_xrerXTm$@=x>S zL_JZ+yVTRpa|<6}GxrnM5|_nQ-Sx`3+d0YUadvf9cjksT;XTJC#~H^d{BzME-*vom z~661s!d}73Pt*_CMr(*rI9>hEuw4IYQlhm1bRebbHj?9@d%FEO(f$i7T z&emqpxq#8s0V>nM@XoN?IM+1GJRhc`BW!LgyVZ5(ay`HRaJ6TRcQfjzm4S&t9g!!L z1XXGURX1Fi&JiiWvg$Yk*5Oxk%So*Gkth*BemM6z*T$C*6fT z2G1H#tk>Y(?XBz^=lkXh`tSLTSh3IruLn)UJvg|fhC<|9lA%5Wk@*~E=(nhzUPOFA za=q+*Hj&%J<>ZY(DT@oEgzVx}v68e&>L{Q3hs*urWBy;?_{UHG@4tT{w}e0IIB_TX z@gDqHR15XFtL!MYBDScE<(R!# zkZeU$;oqnSWHnHrlZj#kAAA@v1@8ER{>=WxzOKIa-W6V(x3c%CXRBwFNAGFwDdzd? zzUMye-sj%o-s0ZsPI4b~%NO0L?yR0lo~|CkGtYC@liScPE%cx4I0BmyIf>yBo{M?`NTxfMVPsRTsfY^V7!Jf zStuyZMHd0sO}_q57n`m~5am-+HmSL27ZyTKb0XKCd&SNHHglJuFhiyzOXz3elHmf> zp^%C=7ii<(?zMVqz;&y-(+V2f3Q!Evd=2}Wx*Gc$?D}E4<=R7S^oSTh91eC3 zo(Wh3F@Yui{{C2h5>k3+UqRnJ?@sS@FXPpDyLy{?Yj`Vo%X!Ott9l!H2LJC^R@5~^Plrq4M>5D=$obnKcPN6h_i53C<{rFH_4vVcB)!j>2z3WoZ6%!q&4Bd#V3?<>`on@yL`$`0QK} z@_{hFhwFz*dO6z{RM*K&WoB#S5d9_GH5@??Q7*IvD_gUC#l45!GhDwompdNX%h;RS znp#UiS^FAq_X_XpNe|*ocl^FOoT1MtOwlhN>}mX)o0V%|(qxn-e(x27T0U z%6P+c-n`MmTN~Q0+J@UZII=mtoq_zND6l!|QCOs0KcH`fs(u8$dX>*>3Do z=1Zh^WDfl_+$KDcN+tV{(NK-hGNKNV98?BB2bKmB19=0d{8Rl_e-nRh|6|{A-v-}2 zB>BNOJ2;={8{!-9Ti}y7`%d|u`||r+_#OUf{uBPJfsTRUfun)KK}&E`FdJbYqC|mE zAap!biyT8fC;L;IaHT@{RydAcN#~C+kz0`-%vMl|X0rvk(cC9a$44=uSp!^H8kVSPhJRs&1$DiKe)wquQ$)t&H9- zkvU67`LwbMIL(h$I`vg3zh=|!(=OC4*6%W0FkUwuG*3qt`56n&9qljeD?qxd;mQcl zlP{ic-W$HT@Ta_obD=fykeD3mPu4-bq@YJfl9?3t3U`&iCEOLSN&l}MssD8s&dTHD z&RFE$j#chv(kC%l9EhGW20ermDxYilcEH-&a~s$aV1-nX)AB5w=E2sk0F!Fn7 zNGLyIp)2tsI1kZKI0&`pfDjlEs29i|_=qDu#edAd-@n)YJ3jDB{zrcKo4;tFNkAEp z11kb4f$YJyK_(atzQaoH5aJk7BIF8f59K6{zzlLxHY$lK8V-d|hHKIz==*eBWN9QP zLok<^&g>Sp7PlNd^e|}gv;ltb73&YrMOi8&FZo}W_>Uj;fBfMEoRLqY5NMVJs^;nf zjd?^pZUx(hz0Ujs%KMSXbNXTUD^(L&U@GXAy@L1Q4137a*8ReH#IfK0295Dl>q+oM zzGBw<)bJEDyQXlhTBmsmt)4zAQ5n5kCM^oeV*&St(hC~$Ff3(X)~wYo)os4%wCNU<|kL*I}!XxOd zk#o#dh}++R3(kGS!5=8fKVJDi{{AoS!W9rAv{;6^fMq+CR7Sclt^_ZrKGqo)2>pb& z{CK`B)`-f0JM)>bFb5(vA`|HMVRJZz>PMX+HRSWqm{9%DO=1esk0?UiM7uvKXhR)Y zH&`N=D;N{}6nKvfxQxL(!BRoFJ`NFEa9D78@Ko?~um+(cCJ{#=_Ru*rEOa!Kk5rHg z$y6Y#Bd7~h)i4Vztqe`kN9YO>5fj`N%q%7bCHp0|4|kZ0aCgu+U2?(FkwFlc|_V=4q#kQ>l5o3U@Xa41N!XPC(#6)YN7Ezukfoie@QI4oVv>@c}go)sY8N_zt8b135A!BG_ zXn*K)s1X??f5Ycrha#xW)E96%Mu#tiE1(WYqVq+}k!_IzjE_0a)Wz&6GskjoIEsIU z{fuO&{|yu$iE8O8_5i>B<>mePF{l0dZ{ILZt}5@uLg97H_^XTiF`rzAnL|%*GW(Qq zqb6K|JeYw#L+t{>oI+$KDh6{0l6+mg>)qd-M#pE{QApV4wQ%MaSbbRv&DY|FW_q1& zoc03Pf@48x=nqAm$BO8~Drt4WuZn6=f^cHhZ3lc%24d-cynd=-7?$ocm?xPlTXtD= z*6-j_Rsqh|6ScuJtRj4HKlJSM@>oCK=Qkl6j0lz{_7LMj0y&IY1a8!s$Z6&rdz*X8 zKN0ST`~Tyn%3t1vH&BQk2c|tU-RjBfSXmU=Q^PwF%V=RSQ+Zs~WOJn^3Qi zY(mvPIkY}>CiEdxj_g4)>wsJLPs)3a?*RLDOe?T6OrI#NP~>^bwov2%SAel*tFKlm_nLN zM~t0~n+!z^4y;h7Xk)aEHM06DoD26uxnq?gufmZSeOeJnqHpU+3sOGE&hD&8nM(-K#2w!y^u}ahi;b1=E zFy=24$hp)8Or#D*4lx(mN8Ek>ws1`RRjMcN`OAy_56{A7d8JIrt>ldIacR0_2bc1@ zcubsvW!Yk=6$gX=bp+_@Yfj=aqG!mA32hd*5fqLrpqpT-9SWBUpP+_QovB>ZWpXV! zn)Hza$hKr%vNBnQEQxIC(jY8ZBf7lbc| zi_r1(B>Eg(EMh?WH-e(if8Q=kaUgNl03x|Ob- zj!(9Z);(s?M1akd9kt*iT{qoA?ISF@DX=Mg9SR-W6s;5|6V-{=6Z$1=kB`2nlXfBm z6dAEfT?chRiu#o1G%Q9p=|hG*80=Rx?KJ7(T|U=R*Sf~qz;@6^*}FR0!xgUqmdxLK z_IQ1m%1-lF46F}yMlZFGm>K$ooIuS9&xfFn z2$&2exrY2+`W>P{Hbg>3>4Z2#)QKfgD-HXR5nTLNZY);t3)7J~9kE8f(zEFf z^z-oIupwMN{E*s8jiWqNFRC$Bfht7h1pPdg$_nJEIJm}gbE-Fma}1w-5_OBp8m<#o zhKGhXgzo?i>qZZvchK+XMiB}pz*o!-rZ5jNho1okn-NT<_F%oX7Je7{i)S!vUMyvj z&FNNV{Fm$BhCX?fq{A7w0l0b=U_~y}#Azr&1xQZhV~R#Pf}_Gwbs*ZfCpa}A_=o!z zfYY-MUMCrx2K!X&1#_I~8P-v9>P=WOs1G%pTab=&s^%&$D9S5FC1y$-olq^|M0_wl zWBiB#(N_)9qTp#Fq4=s;4L60L+6TNq1)1R^`UDU$Q<<&oG4237g4E(`aX2h& z{%TwPU+%&`r_84q$c*~`csmR5D$;aYLm*h=?(XhRy3SJIY z4l$u+p?5e7%npBq?)jHUv*^NT6*R-@#y8*&NMa3$K(6=uU;mGM^t*5Q!m6Q#4ky|q zuEhhWnQetzCr@m4v>uEU)^IOmI_C+L@mKSm_DpqaTrHdh967e4ww6}H(%)RxwA4^k zpROH;1lu{Pm~xTgIV@@`f#HxL!0--LhU!ZWC+>YXe`@5Ia0=g?sQK(bmfcrO9t8m)uF*~5DbPgBRe(*UFn;NWxspL|8b4} z!KeQE;@yWxFDKfH{; zeo4Q7|F6DrE87UEm3#oKreL;P1wHUtbl~6OADx0;N+;xH{pvgBm3gW{*LMtgYolxv zt!pfo%pXl}VN-J=K(4iB5dBm&T1hJg%1T9EGgU} z2nbpVp75vhlOH;Mp9?6m1oeWtE4e4VAv*x1Yc=IOWgXlHUDZd_2%n}KGA#PfQq3)m z2R-^zx&`{MfiWsfB6DNQBRFoV+xFOuNRoev^yY-Cx4W9>vj@>$zAXQTKrM6^y5kI; z6?Mi+$A67a#+v#2Yw!=&#lQUvUy*{f26uv(ZNTPYFW|BdO~?~X6JO&;akU6^T8_q8 zXcjI;2cWiiBw~w{Ko^z{7Y^?Vc|%R$CfFEcgMwfKz+xW-PGOkW1Qy}Wm>rlGSQ22@ z2lfQA0*?aU0u_VpgR)>ExHxz+_&L}lqzTOkokb^|49^Ka33rZ6j693*Q4y*Wn+`X? z#CVy+oJ4&bX8!&c{xhHXt8X90<|HDR>lVbT$EU^0#wMbxJT6is;t7uoX@bQAJALE4 z#XPHAW03x!gyy%mHQiz|k1?$`ZZXW!t98#c9A>_{i0WrW7~xBgkoUPlQc_~0Hj&xj zB$DC*qF;n%g+m2}1q=CNesTT@-Y8!3(~sZpf?VVU@(6WAa!9&fmVmiztRgqM2|3EJ z>NWZa`=M=A(K~>&+Qf9%T+$5IcGLX;W#?PN3uBfk)7%54`O(%+wlB7`_T>(r^G8=1 z_fz){&t&fyoE8oS9tK~bhBPzMDS91xHd(wK?3lm5Mt}3+@4xt$k8VH(JDgRq?a*m> z3c1(ZL;yReDmY7TfugBf{BvwG%5_!X!--=4JQo>+p35C9;6m6HvrybMhq{DHhh7EG z26sRxGBY?KI662gI5x;;1m^|U1oxpY_$pX5)HEarg+d7P3*`xS2z$b7&==?s84@`k zX%Za)wK6BRJ=O%Zfa>tu*Jl6G-1e7W`H#K#|6c!NmIIt>&BPp>g9gD)*FU;4QYJDc zTp+9k?xAnsy>ErLnrDKmH#E%c?M-d9fuX8wZe>y+ifg)lqRyx-s0q=RRX-{3$dlmO zwUI8Al#z@AT}VLA1T`jA+)zXarwLy0mHZpLIIj&ao4cNy{M_UFim;p9Ms1YLl4@mN zP&+&!ZwtdwIpuKW3nf>T2`^bgxQ24mLy_3Ekm;s*s9CNZuN$wQXowp5rWEs1Gi51a zJ!@TS8*5iMnmY5lZn&1YS?mrxzR~`rf%U;TF!AO?=UsqV^l9vD{6J#;|9j!zuhZ{7 z`0p;%&8o>O=9)@lUZWF?XyXstHr09MltbL_(2v z0J`o8j|nTF+4&*-7zg~#p+(r_jSUUQ+n5lW5t<)bA37Ae9?HSI-!-fcPrx_4MJ3RP zTHsSKbB9H*Kvgq2_CBV82DKN=Ep4$({dd3WpZVH<{-C++Yv_6B##7=nG!}0o{UUS1 z`N9K2c`yqE0z!b_Gd$;AG~hbT?Ja=TFK@{M3{yE{PeTx{~Y9^EkX7Hc#DBd}4fZLe+l(U+%x$pOzUkNM(y0NVcgBK_`zzy8AC zzyFRs&8}oeu@+F4>azvVY}k*DLNLKe)PQ|r7X)n_l-SP2GSHGP9XpR(K?a-I19WhMC;{AYw`g%^a`mEr9;^xq5ThPtbF#2T4~65y9eJ5;5%M03T` zVzXm!fel+1FAJx_3mB=h{=_f*_b=h^K11Wj-DlgfuEY|ElpDpY(S?!w;WpvPq5Prg z!Fp(JJ8b z1aAjDpR-7FDL#&nf}vP?J-V>%YkroVNckKEsI^@*~GfU7@QP4C5obs zvJy(?Uh(4bOR)tp8*J+N;hR~GbAmM5Hd+qn#s`?bf5j$#dt^ssPlP=dxr`?|4~ouR zqD*uY*7XP2+e>0op)ao$cY)iLA6IA$=gPon&8owO-8f^wx z%S^Zee+;e02J}uKhAuz}e_@}+vk+L5h`qb5k+qEFlj)}Ml;M)TuwJ5Du6?4Zf|SCR z^n2BGWedeM2#!yJ@wV! zDJ7f|m)AYVvj_Y5vHn(p4baZ*$EmIylye&+W1}jZfFH#-ClbHC;JBszyJz{M?(b8>M^?Pc*k z+XA1Ip)Q+&P2kOVVMv+X`1S{hdMtXvf9jX{^FzFly(xpn;UhFY@3EY8L%_ftoISGw zu0RdcCpD-}CcX7N5|eh+*T26~Koh^n75TRv9? zwwq)=RfHOkT%QMIYNHgkoY*2hAZ|&lCR&lZ$$og6dm(|no-|Wh3tR}LJQt*34V7z^ ztyD)q#J5l%=6YLavAKDfk8o`bUTij5*XQD7lT>q47_?o?j349Z~08@Afg}yYlHCq*f z{VZ`Vu?up-i8%Tg!6)jI=#XfZsE>iK10hk1M3)51fxaw^n&5`S`NS6tE5VLnce5Y= zDZkc#Kjib+M~RXW0N#tn@4w{2ZXJ#QthmF;3RV9?iga&A1U^B? zvL*;4X0coUzY+!h^3VR+_a=j+M*hy$+@I$~Jc#DDUj(l<(p4>T} za_%&z&YlSs#&DAi{x83NuI{$BgEmuBQL~cyk=aW(rbnuesO~_sJ6_&R_D*sZXRU6@ z2ddOoDePilZ_z{15OD=!K2d|5Lsq8dP%S_o94GAwn#)XiL&X|JSLHM1X4ObFO*dhl zGmBsyETcQ2^P%9j!N51(G!Dj|`hj_hr5lRyhinJz?*Xt#xaWF?K&Z3M*9DEs;er0a zQlSf>4793_L$s1BwjMz+EfTNU#Gf-*|JiH!AAkQH`wC{uCwO~?W&f`q%YVZY`nSJw z0$RHt5^bQq?G|mrkF*6h-HZIgMuAoSF8&+70lq>$KEMG5-A)Lsj#z73GEIGqEevw~ zEZrS#d+jV(+Qu-om|b+Q-`Z*#)o>-CMDq8@b_`L2lMghhZBp1rf-%B|qTQn2;)CKI z#4kiw@-S(j$^%3?R@wu&*{D1}APhFZz-y~NsJGA-rif;%#*a9y(>j|zw_!34OY7l) z%rQ+eH?y3zjIw%dlkI05rJ>3E5q_4b-nzcMzOcVvpmOkOaAU{qay3C`{t z?)5GLN{N@&o(K_97@NbZnE?lUPYh~`CI~OqWV#8xUEN4MPIX;bR9RT@K(<&alT=SW zFr;=!VIK&>!mq-R=#|JKzAe@fZ;0vGP!#|>)`xV1@1pCc@~w(l%7I`^7o?ZdJ(*`f zrzo{~U~_Jv-=^te^A7Q9vTxo1=N@9h5ZoXm3u{N^v z9DD$BPr7vO575mzyaW^^%>(&@2jS-a78(<-h-y*K=o=QY`XO;?qRD?D8~wkR{$KU~ zf76h@Mg8S8_H5tzoVTO7qgAm_>Hs6DsefRu|A|lTdxF;c9ZykDQ+F#@s&l!$lWnu5 zh4~O@1cNZ`p3v5Z6Y37riWx>fSL@V|0ZvO%*_4MB)f6`QB-vQ0L((bv$dTG5h3z0% zDX1!(Aj~BSigH8~#I1?z#4xfJwT7yVyopjc-Ht{>lc%Tw>8nju9u3X)G|RNqT-DgM zue1>WDpu-y7>>hCmSyCbu9=pa=UX;e58JldN5O!;*U51`axHZa_k_J}pBh8@I4~{P zK6DCY%NKx{v|yueqeo-w(Z{gC(zE*X6@P#leDk)wg?oV7Kgk+K|M(L?* z)KCdWS|4EDbMly?wDO>GJ~l};(5~P&^g9RmFZnwAR`v3>2K05V zd$ntubAw|l!cPiWcSCRPh01V{eu?g^HdXtRW(t!9aBf*B%mT_&if)RH@``e&Y&UTI z5{a8KC!YjTyQi?r_~iv71v!GKFdvRHwZu!r6^S6Rk4PcY$epB;stLaK5$QNtGxz)N8PiJ2N{~>=I&H6(@GW3uQjSfrDUuqL;fv(Jl#G-%maQ@5wxh-sNwoAev z-w=BfZ50hg4kD6H9a;+atvPVq-wKMz%D&m&8a=$7JqkDNGCB1Qk-e=gzxAAXt0`%` zVE78ChYl%H$29pgT^Se6g0?tVnW?xeZ!MpR9H5?XoL;5sQ^MqvNNVpCb`ig%V1yu5 zI8>M_N{F6`(#09#Q{q%2oj6FC$hzniZKNY|5158QL$t@z)4I{x*mlSkv-fe-bQW+uN7Q+S$LQ_o`{GOb zjc}t)3)W&oM{$lB7>P&OSOBQf{2&hg^^xL_-1`5Uzw<8`$eV0qR+$(WUkEANXEY=o zz;6@_IfF+7%>qj?gxh^ReJ8yd*dDgIPjz$Mb3Syuus?;1`mALSK(wcf-wf%7srswB zQo8P1mu4O^pYF{P)uQ1`i z4n){sE%1)6z&CIsdMUOg?o8xHxqH_i(9HgC2JbK5`%fOm7`riXEPf5lvCrrV^@Bq5 zK(KspP$1jy^k@4<_?r37dEMT^2)$?m(qji_uP%=6XwVZ@gC%aBYT9XhYv_$!gIszZ ztX!)!XP8fPEl_bqD!#I(qPtuq8vznP83~sfKyD>Ii<8d>rS?x@)A*bC)dgb&&jr1O zV}ytBK&FXyiIn1M#7kl~8KFu_CZW`OQaWEYTy8_drYVqRYmgQ5f*y$j=SWR9dUI>F zm31q1Dt&#!2g61jIq#Y*<{RcTOP0lpe4(en&kTm`;~TP1Cc`4x8V1P~KC%Ci-x_$$ z24)2<;I~P@CgOlibQ=lQj}kv39qE7afc#|~{x|Ra)5h=!Do;$p8rR2^Q3h&?$vD+3t+F1nzpC7oOE#6;!RG{3&c; zOrTw`AS$}A!Y?D&qU&S&_=mV7aVSxYrT?^W@y`$BKV|rCu%iL}tC%Po{}z1=`|RD& zw_r=;;GOb!!n`T}ZRn&hN*wbP^Hg)!b=7qK;CN`;XI*Yt(H_L6+$JO9iTWWdB1P{7 zQ?@0dedjRi=!5F#2==9so3cv2O?FUv4Vi8vwU*2wS`oVBi&3e(6t)p>3hxU~$zQ|I zB_IV`1kHsPg!4sVF^4FLEow(E!M?A~tYTUq z-Po;d0df6F{RBfhpiFw2Hkm4!r0{V_WZw;>y-^@S8?<6=Zhzq%*dg71b^+bPiJ6VsKNPVO%hy#*JpGv37 z`pG}aXDLKr`(>%7VfuVWkH*lwLIY)_j?kAdY(^O9eq#&McxYTEfJyYkGTqwS_Qb{_ zDrb#D?X2Z`?b_)c?CI*g=e2`NBxQjfnG*VMQ!L`=86*#O3Sm}x&H*u124%*XQTk7}dx`KLLSnJn3V`%JGYSAY3MAa(g zX+=qe0lK6dX){#b22d-=Cqyq|p7>?*)udD+g3#=XK?8;ZuV0I2axjjm0T{ z15ujvlIO@a)D#Gp-I6bo`Dkx`l`R02vAXiPa;It_a$Ii#GMP@TeOR3VWb8h$VFBY1cyz=eHR@_;vFD1xCo|oqu7M#2H0~lLM$M>1CguL#kUEy>V=+0 zo-^)gZl_xYfWZdWH>be4z;VZ3#9jtzGuzCx>9t`pPT>LVa-710%+-eI8hX`75kz!V zIa1k9c}}5I+>)n3xnBZa?%fb;Ri-+SBoP*`NWPhqs!U-?&M}UVo6TLv3-KEZei5_~ zjuxI5))fsD-4t~b&k>g*HWMr@O4#t`g?DrW{%{fnaWY#1?eA$gL)_p(cZijQ>T`CK7rhv%5$PK4ikPU*0RiU1 z_g)9~8ywFux6xhO{n~Zbb;u=jtpH{ZJ9N6 zX_}~urqM&-vvVUx&8jG+SS{~_n42cDMTiOuN`9eUl10geM9<`#1*r_`nw&KpF*lXB zj@JtdS#bd^Sc3h(T)0PAPc%tXN_+?>fCMQ;(fX<+F0BojNG5_clzH@0BnECiC7@o8YJWyXJwFN4*49P&jf!05Ou)+u%-Iz1XkSV603E}*i) z7^W#mTX~AwWXV87z$dqO+j^IH%6LY*E4UB2M!S@7b67mjOn;FPH;x-QxzoXW1qV&e}T54GYhD z+$x8HZnFJH$9+c>hFXPdzpJ%7$+|h7_nstl@>V||&Y8TSogo#XZ2X8i@0me}i9C{MxKekb-U_Ad4n zhMkMCMR1{YjD3lQqNSrZpqCs6v22;hsqjE}Dzu>~!S#WY{%5{&a33=4HBB^{4K4LAwYxOynJaWldXu`ddXefWNc5ws zE8Zgjs{{^VDx_#-N;{$s!bm<~yHJ!0BM$dkGJAQdF@?R9uH>BNG{c(pE4K}Z)(X7I;xV=)Obw0j{t%f1P-k-} znHPtNaNh7t=!AO*ErFpZ4e$2mc=VpfZj<}I%j>Ga;Dfy~Jz$UIZh6#xkiYN}{gYMba5>uT!f0RlQ40Y5#BvyG{y z1dd;WFiZ|hj%A{?KBm4ProL&8;?9xIJU~5^W8w4nc$#~^d9V3)gN;f<6tg+hKb!^c z-f6Ic-O)wS)6pM*A=(5k|7iD!&4fO!dg2HM zrw}Y!;#h&$uL#!)N7axR%fT6CeZUd_3~>3)=%eWE=%MIRd>o0EK^Ki5DF_;%CtNAK zFQg8g3RVjC03A}}b9%?1mDUI6-=ADJoD-Z1a80f|#(K>R%{Brwv?u1G<~pXz z#{7m)x)iYCE*-#r?5BETBT1(|CS!+eB}(~=H+>LS9n7H1O9A*36-g@qCMgOQJ&mPa;Zy{ zO7dE=S~?NLfYG2y2~<_o*VQv=9&&^xYHFjb*j~3q*HoXOe}fFBxrP*D7$IFFO@)AW zENq!;X>Yw?9cpW8Ka6~YYhaWaq)K56%+c(+r+4=wh zy&Wja*T#>A$NC$Pg}v6iVXo3y>UXMi)jp*FVJvbKm|n~JKxk4{y09!VS5Hvs)E=@U zxtCB7xrxnUySP^J{pM763ad!Fkfuz3lpe(3M7VdkLS7cn&aWeQB1ob=+Clt8JdCJB zE+%VI^Qne7OD&d;l6mF*6ot?ljl;H?o8ClIXpT++(qXB#if#x_!3{v}exlbKUKj=% zil* zo=_2|#iaO+Xtqc!DxUnfE!7JhN!o+7M0yd<1kN{(m3xb8;uYZU;tvw^7Zw$rz)`mh zu>kVEiDVvXAf~nxk_@RrRt6znCPhi*dGxJKYDD&c)cJ)Oq4|bXoz2?MIPU&}-Q5Yj z7i7~F#x5Xo+02D3t1S}HOy}9U*>BnhILbTM;@tFi@f7nuf>w8y--0vKo8S~+ zpO*rRugB`VIFgJUj+_IepgI7C%c8FVz>dZ?VB_#K_5v&Wnb=|2){o)ix8Gxo;(g;k z#aqU|qAJxF9tjh?5sM=7NPY0gE{1o6SK{Zc!ZUd>oD;4Z=^4>RSbK!VV6=`jLHDX7 zY*ZJ*5lm%=LTspA=yuSGAcgz>tG+efkcSIoQPjB?gQBya1Cyq`ut50nuxy8vW zqBpTzTu2-c2>YA}Tzkybf@#r|!Gtg?K&JgWE!ktSzVW7I9_Q?wcgjP9Con$wzE+OgUKy7@Yu zK96B7atB|a>s8LY*(?EWcsgoFcMu@f7R;$2tnWKm_+9FNEqdF#%a?&+`7!t|I6hP< zoDqH=t_F8edqh2bf9r|q-wgNYp2!C{h;2BU{1QEf1>!}tNUT1Fz=Vy%GDtS(#=KbL zPe;E)4l?k4AH#>g`;ovPAz^J6hPB~Dcv1Ku$kwTm;*q=&_8!b>v+>VO$A2e=d7$t{ zLIp!Rf>VNRU@*Ar{|qL^GGsm|T_NWZoN%52k9ZzDMUl0cHJ5d-#bx*niuXkkq;);4W6 z@y!p-gAr}( zLnN#UcMR9TTlcUVaUFLX7uDWnXY4R#4`3|IsG z0u=+ppcLQYoq?b`flKa8bBJN#Mt#Iu+!Bj9+zNA^w@29&txwvyt5>Mst<&T0O?jzQd^P-BN0<01jCngXz$qi%+XsB99 zwn;?NJg|+70Z_C8x*1+oDP+<8K$G+|7)N?A+nD|+`|QvTf)VV!evzSr@eq27_f3BD z50*6mh*h$kLRq}N<1|db#a#PYH_vK27BCQ;WFVbq1*T= zOX1L-iT@r5Jw_3!b6AE|ToP^^eiHf_?(L=_wtA?1=u>b*uvu^j&MfWxFMQjf7p(yb zZF^4@cR>UKAGTkzm9TlN*%*d?mQ+Lov*z-U@mGf6@Q5J=)WsoK*d^L48WX6zjhG&E zx>~N%LKM7BUPbPc9RhD_g5(pWqOwR4d4=#3)rf;)H9VG5(dN9u!a`j#=Sb?{6n1}F z-}JMPFn;4K<0^O+_}BRvg2uwh!i&OUqI9e_`Nb2(4T;@EZ*(Y{VTrFRIf~jqTNJrZ zBi*nk%BABm7*6#jq^$7iEl3Ku%`8T8Uq>XgZAS$6GsE{C*bwZ%7MuB&0@nT30GxR{ z;lzFE81C%Fy6OOa_{nn@!87aq>cE45Ft{L?g#g6s0AG#_3b7}B1S|adz^{S)L2d9x z&=h(Va={*14X3{Zwg3YoLhNEUhLz!>;o}&pF`*%$L0}rIL*3!BZwT%J5lV!X!!rLm z^cD#Ib#PmkL#H(nB!cNdwp*}xa25cEwf!RBX0Hlxoi7gSaDZiF9wLd3TffiWX_4y;VJBbw3g}n(n-!I&I+!YR|?gc z_K+=YM~l6Ma0Fz98Q5rD5$lO7L|bws`Gy>Xt=4VH5>WI=d1b{_#YDu@&QiTnwO0>N zpF>jKU3vlI)O6RD&|O2zp@AW3=w{r4UeR_FY0hogWYJsm+2$iZ?xOV# zx046h5`l<+z3+tgjVIl6*F6&T6~AkmbC^SI7urJBJ(l{G^=3Y>5=%@1(>LQ1V=Lnd zphsh9=seUG(zb^-zAC_j&*%sAM!GI7Qma*ZWn8fXlCUwdJJQ-xy<{=MD5 zxEuCS%R~xMUeOF;L7_pgHTmt#_feRDg?o8=U(Q{u63uzLc}@5>04YxKs|bb&iVL?0 zO`?M0k>Z!)c7%sGM06vskYg!I(pFkV_C|I{K1R_&xlh>=4D=I_ct+HDkdZKuAvH~q zICU5Vt5m~8Lt$gk_{8W30ecIo(Rr;?abR4B^T=vwcYk1kgJjkTbd#bJJi$b{CW+s0wWx|o7AhP!%7e;Dy9q&B3P%*BaMp2pq5Rc=r{ayqfukjVC7%oR*Jc=3R*61~nu-bWbf~|k z61~Wh)CcMoM0|^I>}aewqtGE6u7hfb>VhgA;lpbYXHWn3B|*aP)frm>#s zD5@*fEE~XR-(ziNn_?>fSS#tM#5!}iKDu7H_jp|1C*JNpr*Et;16mr3FWuJ(^rp@r zyh(h6eZTtZfaOyl5D#30L@a;sB2X>7K%u}HjMo(Z1pJxnp9hT3JdD*Fm=%2(lY4<8 z!LlePo(9q@J@C=L%y00w@t5}J_%8Y;`0^o;*yv&X?&YpjY>nQxBMD0Z$(FKuNT$y-BTqE~W%Ozu^QduQ= zmV6)#yqU^8DmmPpB3O7&(TkYj8mYFhZZ0%ED=u^eX% zhb^yti+v*N7>kGi237uvo=2Wa-X2~V_=*m2)WY78=!^c0KK*{ca@+VO`92_)Ydm0C zOK}(12cdEeMr^QepwH_w`V>CGN8!D75c5g!cfMjI`hmn$7~_=TC-F>O#Mh?zf<6&Q zTpOXbAv|vP7#DlmSsV4JEF9k&+PYf%TkHri%w@9S=;ni;eX71bqB69)M~Jz+s!7+3 zV^+eKb4c}0IZ)|S9zsSXs|u-#s|aNPXNT877L=CFlNLvFc^u?$7jeYyEuJk(0s5xA z@F;YRJq2GN=;+1Y#jDEmaQAa6C5znn{wx$rpPXKRBj-%!JmiqvtK2ZJB7ZFo-yy*! z!BxRKw4w(|VXN&Ib{iAm?QS=BvSi{2-rPFEn#Z=tro)WXg>{w$qPQ_&l`Gws5Mt6D znBpm(O`da}H=aUhxHt0l@_GQT%fUEEeOe#SSIu|HI~@uN14hbdzNdTv$T_Rn5Wy%qN33j z5l>O`O4D;=PsAb?G$atsGE7$*6?QRNjatnurWfO<2f?a3Ub#mhLnq`k4pQS0K3hd; zQp}WJkoA<^m(G-SmhOWZDxLC>V~CaFd$@n62*2R!Hy7Mbez~1GJB3}HRy#e6mAEly zDW^GiFPG0d#%qLCU=Du||0+M9KrGlNPzh^^ii&d+4nzVmDciP-Eh zqMWMmq9@_F94Q#?I9i#(Na#f#zzmYtQ>p|~1wPY@nFgALNc)UxFKGMdj)E%R+>m3~0RBrBNP&~h zmyr88$nwVGwwAH&wP_#`?Z7%>j-=x&0Fry1tz6Sw_kiQoxn}_+`N3Tor0>?AcAif7 zQ_GXzbKkwsy%>bw!S0}2>+T7jYY{Axjop6t9k;@B-qX=L2v>V9@ZB~%5mhlRxA2Ut z#>kZLY;gB=A9Zy{RVWqxycPESwiDKumL?W;%)H-J$z(DvH=Naff`V@}%0UrL1$8A#nM>yb`;#F}nfZp&tE-R(2&-|Ruhdxsr3_m-}~=x*kB zcXHF9=iDOAZ*@@6l^%7hQ^;pgyKLs$8v@AzvaZE_*1gD6`9wvZJyQvd>aJV1@Zn z>xofjN=kL3vPlcMk~kthCweBVC^QOwNq%{rx+;ZjleRpqQu@I33+dH4dd@=Z9$Ry# za*Oij@_ynM6WkH(7LFJ3#2>^Xi4x>eQa}}!oIxjuCwnOy2I6V9Vux}fTH%f9t#nh+ z?eb|D&0)=t+F!IXU2*+ky$voB+PKa5+1M5*k9nrErm7I?Rkf_L)Upmix>8@(w#C-U zoQMJdhPT(UphjLVldUTw=c0B#diD`^DR>| z(|ltwW86UO)89fE_;VPKjgVAH>2mZV^)|H^5v@a@(mANuF5e`(jQvLksa?8R`bzo| zGjT2{UosWDk;P=3jFE%zUy6JQrCdThS@g5;h@eRF%j?v2AV2kQla`tGDNT?*KmApD zPfjMzsbOwm-cH_NK1WbVcvCn<)E0ef4snW5lAp-MlvGksx>m}SBoI>r{p{zeu+0*|S*d4svVWxl0^brg%} zmf=v8j|XDZkNR4Dq=6)Gruw|6Pumj-xn2Jpqt-jKkzGBi!Q*C^lo%yAl@zvk@XTsd6f2h2bbwjwEYP`zW)dfOH2M%~5$kkx&MZ?Q>e)l^z9F z?-RNT!!QT1&#t7s1?^2C#5^y8LSP^4r@Me`NjKazEH+w@0X4&1&=SEs>|(92VJ?0O z=EFw&7jPeVj_!^^s0GUHRqe&>_3Wg5tbK!ht9`cJX_w;9TJ+S0VGdCsKxvsX!x?mH zoKmOS>BIZ`op;gUo#CwJ9PBu6Z;I5OMra`}v%0LMta^*toM!3?=g?{VQty!mIRffG zhDmeM%hkoz(^Y-3OUnXNu7ol}@k!o9&XKvKYb7-$7pQYE*>;mqk~WefR4qzJE+)Q; zM~lAm!%E3UzcO| z&Uj<1m@Mw_U_> z=11E@>ssp~6kOg~8`}6btxbkBqfR!BZToNYMQijZPvdQ|!{TUzr#r8ssH3?<1_*cs{mk8^DFtoT*B;$Ag}u?3tk? zu-`hRP%Ey=dAK*Tq@Qr@rc#Zl9I^n_iE>ecDH-*KOb7aNuehvuil~dIyr_YQ5oN*# zGEh`XZ_s*8G+OZ0c#y^U5dA{s7R-RXKAvuMeb7=&R-T5MNASakvkLCbBsY*%epY#R{!bkF(|p6e<|DD{}T znTtdFon~?wNkeUYIUPrPN3#Ue{aJXx->BcJY9m9Z5QIEkbwXbM|=n$T7Ck*8VA|JVzoI}l%Y?U6DZIbI0_Z6L$ zcI9a04CQj=S!H)5Y9CWCqczNZrlzJLDqT%Ay*1NO)yUS~)}7O@HAo;JZ)BQ^^NNXxwZT z=N5Ms4Hv!;cm-tzclp`;CIVA3CttpEDeN$gmRp~9kk^I30=}~t3`?zrQQ=1617Rc4 zAkj;a73=vtf+0E3b$G!gEFqr&8-8P)Jz|O}iUW#f%InCrn5L#siEGUCWeCQ}Ohb=) z3i!o56sfDi?Az5iA5?p%>A0yP0x5mwfSG5`k5f(`(-YRX*l03#F_tyvG8Q$qG5U+_rSKda(Q_tU7Bu>qpBr%V3KXcWGJ6IrBhsHS=;)b*#?)@cl0h z#|)DUEeu2SVO>-0C2&DXqfE0*?NaBcM5=Mhn+gS_E~`P^>Mzd*f$N&IF~a?t456lx zM^P(VCH9LW;-AHr#9zdp#K-Z`TTy?}1mR6VAHg<$U;bMtUh*e%3gx?$!e()%;F?Y3 zJ?HWGtN8^4Qb8ts?uCT{;d0>*BA@8BXq5Ozq5@f!YK1JAOH#3Ho$Q^gv0Nn|iyeJe zkbaZOk*c52&+mvKokH)SztUQ!faaQJuXZhXj=c>#kY>*s?_einGYvAaxGBn_Yu5v{ zSdXC^Yq*bK&dGW&=J~PuTY5Rbz#EJP(>vUjN%Lno#JI?B<5;>`8d&mKZlilP68UXq z&6`ae(=DUgco_+gwGAKi=k+`F1NFtgF)ydx%Fw{oErXH2JG|dhlwTEmgeWWIwdE=D z$Fi+5J+vo%q!U3gyh=8D0HCc_{8F@Cv`6$rPZl$m#c?@q0uLR$Odhb_$X8|iX0fE;5;cMYA)O$-q>so^y@q2cfld4uxaoSBJ7e$M!rahY z7xz+e^Lx_?&?9=9jvKkggUCr;g>2=r`ge%LJ*u0E?Csjx>r9BQp{@V}XB%ZcG)#Nr zU|19$`TnxzvKF$Y;6Cq=b^-D871e<1K@x;td_cq(RjVwjBI+!Xi~J(Ds3&&S9^oxi zLRRyu^T+aXxRGQ|$$ZaJSQGCAB-~E^GX8UZH^B@+0pScGPt-!(hGrrc z4NLU3^)q#qbQ`r+ZChyVkeG$;&7eNp{jT|JcLKEodM0&(Jvwe>Y;X{Wl5s)=&0A`Sih+48dT zknEh4k=B>ilD37>wYl^aD0r`^e$)tZEpbTvMAQ~U+>t2!&lIi{mf3--=V)PT;dVh& z!8Cqh{wQ7^o-dhGHs6~Rwg+!2?<}u0-@xC;ZzI?*hzU_{6Ej42@+No^9x8+Sl`4bl zb3r0T_EM%yFK?u{q3|oSl_6D*%By}1TxL4c7&!}fLDMdXitaT1I_%n3>W3f%_qNUj zUX&iO*~2wIY07ABGh2|Dp2=i^#9mQbURRIRS3?*wWgLf_EN&!>?TihKO^m&bw9$`J zrNmguIMa~VpwTbaz0sq^>6no9CYmSOuap1h1ltDV>&+9d3Nf=xC`ka>lLg!zTVZVJWSSwm6LfN25#1VXKkZo!4<5-N(-HO7+w^{V zJDo+BWyUZ)uup3TQOjHXK*K@9G1jou5HTnXLW2|&(>MghE;0-<)Q8bB9|(z=C|U6| z`88je3Ys2x?+5Hg3A&j2pmLSsx?CdvDw{7WD(fo^OZMT8C`5fjQ@T7=f_hD^#@1;+ z%I6yKOwko#JK;`2L|_nTAmddDB!YH=XZ#@lE>FbEeKPs6YQ8dg*ipnz;wG&ks7Kg*4ZT6o=N)qB-gbx-V&t}~gMHriR*=UXYL`6 zkaIJgOy8Z>A?U z*V_3w?bJjz^hezt-F4l4?9ZQJVmyH4_*!tczt*%=X&lUH+DfOyb^#uH&73%xy&+40Mn|d0epVSJ4 zd>(eNd!%~lSBXuskUCBlCe6fs@hEX0adGh_(GrmhtK$RofSw4Hf{T1RzbgMR?*MNW zFN(fTA6}DWcEfxv^04iQd&F__4D~?rLV92Ji#(2dcZ*Vnm$qANrmxYtnLG4KI!X&+ zUr41-W5(|Wt=nd}PTHz+i!xH_cHQ7@uROdDiLP}&LFX^_@a&t!QjVA8%nbzE)?Gy zQ%Z6Uku5fhKZ<5zdz4GGOBfM$#EVJ@a`{@ zkes2WQ+(>q|EcTD!t=6`5@s$d+MMbQN3f8*6wXL?Ub=PWZzq)+q+%$i@-}AltXC`3m7>DW__&hqp!`($qdbWlyM=WsrKGb z{}j&EQ~XP;m&)W(N(cKcyTftZ5#;RdyzQuQcpPi-1y3%HZpCgp?D8(N&$k=xp}4xm zkIFTrn|-Xk5vN4_6ko<4#4gi79G$|ANgw0D2IE;yL(YPnVc6x!wZ{fW%(7`*-+7ICWuk34a z>}MY|b6z>4v?yDZ*OU}Rr&yFy{vp12*^X0D zj>~=@@0$x0z%^WyR$haSm^mTiK<$kr|1q5FUAePj zP$nzW@LAoAKa(1$+>>|8tK~xMMII}gS>pQyCutig7s&^)_kItz`1(h>)(&%26=~E zDKEznbA2#&9mQXVlhQTPY$+SV^BYo&^nz@Wx8k%$E?la&z<$-9`(RX3yHIqy1-cuI{ow0v(nrP)!65<9{Mv5>JW;@u_DQ zPDt5J%9XZCm!(1SVtiJdfgU~BKG*)4{TPnRJ8IvH>j135*s;d`x;?{wO)0`fM{C$A zUc)}-2<*p87yWS-nY}n}NwR&5y`nuWPIHqf4-@P-QzG^~{T5)HZfr2z!-gkU-&A`s z(;wGDZNd2~#^6d-aX4fl02Oo)`-zJ9vG@>&dd!rnC4aoUKgsdRBxOC`LN}G$%4Ov$ zqMcHH!MUsdRBG{ts*yF=0p^knQg7+JI9v1+-^CHuK{yBJN$V=>Gi>80o9j&dOkW$_ z#zJF}ah@>^J0gsRWm$E#zZm_OaIV9)^|k^G#p$+J@H5HwE>6Fy6_<*8@t1TOX{B^U zdPOdk*W==Om+`6v;Qt;IKgCbPg`x>x5`AS$!C`rutP`!n ztj}8yS`sb!<}XaonM#bo#(x_Q8xCUk&_;t|IGxo!ORs;k_OjJ~1?MWYmRjGlp0I}4 z=HvXnfmkbxaB}uQ$ti7-4oOF(v(jTJOpe1xQ$?PFS=`&`X^nD;{6tE}ahZ`gg83tx z+m?ader48p%;*kSR$6S9*7yYYFVj7v&3Mi*#}ID_F?7ZkgV(dFu}fjA{@2Xt%rzMu zGb+=E*4~l**Kh_AA7l>N{BXU1ava9|7`yl%;k-?O(lF#$E>)p7eS#M<-GLotk$A58_-Y~2a?@O8&M<#zx@#O#`<>IjnoE1p_NvWgJAfU%FN>L| zy`R`c9DrTE75Ko^M(QR-OBQJX{(K=0UCB>Ow$)m*tnID8SgJ5Ys4R8nP3EO$J&yl< z-}HBFORoPRZh!`_Rf(%PMx)Ic%+O9tBP7p4szEYc2Z>fv93u@0CBOlpoG53plw|lU_H5Lo4xe0g`w_Mf?eei2D+CEn@cAO0V+=LXv}=yu2ds_T!T8)-Bx(S zJyjof4-x3JJoC+bOuz+Io%*h-UcFNFfqL7QX1Cp`HQ<|M^%~Ll`7C2EyK? z7?`%S2RvO0ur+)Dgng9)Ta5!?VBTo>a0beEM#E<#2SNIaCZ>D*G6|Zm$HCOW3hIi3 zvHuof<)d&=ug!#&x5FXCmI9hf9pT#JM9&H*zs_|m1oWSDhGTw1fNb(NMlhT51}n2! zadjNDKc58K?@WPqBa+};OFs1OlL~*HTf}Vo`4ux8B*_LzvOyAUK+Tw`ur|Cej7bqe zINK4f zt$Z?pNg|RfIvtIfsp)U!ek~Vc95COUF9{BmnO08A@z5D+*{0yW$3WJ{ZH#b(J~8K??5zcRm&1n`6$N~Yt|R}cmpI5qFoG~Ad2e$B3`iIajv>Kt`i%rn^*DZ#>x1SFHc}(dHucK=R50vyf&B- zo&0SM99_{pyA-Cu%N6ATQnx!Y{03-Q+X&kMb-9x-VY1KrmU z0}1gN%;>>mUgQ4_&bObyj$Md{`JJ3FuE&4E?Mj~5Yr!`m!v^fXb@3)swW^BQTcTk z&Zwqp6?O#CkOrb5Ni_RT%mAW^o|MMOF857jviY{x&6+NF>+)g^mPNY!B@Q6EyDt_p zI?{9VPp_jSS9#s|z{=PFhPfoVHz1~`Y9fXWqPhA}A`s08gSTY;Rqxd#3erRr&o;S$ zC=O|70Z~Y?RyZ&*7W#iT3icagLAOQ^L{;t?2Sj!5P(Gug;rpy1o~lVmL^L0+AHZmyt^*(%gJNbH>VEfzRH7h_L_v}$Zojh-dUi;G z1Fo46l9mGd6J|21hp>oIQ8}U_c{a=|jqiE&?iXVjU1687_5f9Sh%Rgob+Yf0?1t;!u7Wbz>r~v6F<#? zyN?7oK64J#J&Ix=@5Ds_ftViz0f9XCx(Wy+bKwacfi!oo))7eMAKN@%Oy$=a$>8An z_CN;bRfa&HpHgARxR;p0ABu*;#CsB4PD+G%TODxn<`9^3!wxGx3TFU0{}aprqSv*D zdVVlmnf{khmVz8?lx<|M+p{C?27+Xz??9twZO=va0}y12uBq^q`c zI^U*UJmpz2kJ_{Rit;tet0-Tie2Vfj%BRA9Y|C<-*E{{Hqx|Wc`TVQNlrc~OMVSIA zp$vf%CAv72D3SCfMwAfIHYGxo5l{kznSdvG0k2J?#-5Z>J4(u^ps!J<#+J3 z#3_xSZA>3nn~lk-j@s%Y3;2XIY7a>%74Wrx6qsq7Bq=9J%BVG={l4~%+F06-l>?~p z@T3)>LTV+b38OElRq!eDHCeu>?`xV!nJ?;7kf-t#+_44n93h1i+$m_$7Zl8W3Mp8T zGGC~qAVk{~e5fg*au@=cOf+_+*z8GLhzdy=#TzQ%i!-Ez9e@#z;tEALx^+n@?f1nE zj2A4D?eBk2M*-}}LS8G761r2UAl;fIeYd199{6rO@^t#1JRFsJk_-7))pYPC<(iHT zCQqk>$;0V(A}^%di9DHZBl2KU7PqWfSN^)Ev5f(X~o$(AvH^r6V2W1*pTDjMG)21ANlwH`eK=bd+c; zG4|Ho%YLkD;O=TO-#no^T)sm`SKW7!e8>4DT?Ep1&swjetJ%T}x$m_L-_BGPKu|{XqxN Q4k|$MpKZ^I629C20`n}13jhEB diff --git a/Assets/Scenes/Demos/graybox scene.unity b/Assets/Scenes/Demos/graybox scene.unity index f036688..47abbc9 100644 --- a/Assets/Scenes/Demos/graybox scene.unity +++ b/Assets/Scenes/Demos/graybox scene.unity @@ -1290,7 +1290,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 3 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &38709913 BoxCollider: @@ -2838,7 +2838,6 @@ Transform: m_LocalScale: {x: 23.903923, y: 25.38365, z: 27.557295} m_Children: - {fileID: 459914251} - - {fileID: 1357904548} - {fileID: 1445285822} - {fileID: 38709912} - {fileID: 332928270} @@ -4207,7 +4206,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 11 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &141927841 BoxCollider: @@ -4651,6 +4650,101 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 151849003} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &160376463 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 160376464} + - component: {fileID: 160376467} + - component: {fileID: 160376466} + - component: {fileID: 160376465} + m_Layer: 0 + m_Name: Cube (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &160376464 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160376463} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -718, y: 496.79285, z: -1895.2} + m_LocalScale: {x: 91.217926, y: 0.6129326, z: 53.676586} + m_Children: [] + m_Father: {fileID: 660207712} + m_RootOrder: 36 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &160376465 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160376463} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &160376466 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160376463} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 730a2ba314caf9742823631b050afe28, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &160376467 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 160376463} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &161460413 GameObject: m_ObjectHideFlags: 0 @@ -6944,7 +7038,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &267806918 BoxCollider: @@ -8398,7 +8492,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 321488604} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -718, y: 496.79285, z: -1840.433} + m_LocalPosition: {x: -718, y: 496.79285, z: -1895.2} m_LocalScale: {x: 91.217926, y: 0.6129326, z: 53.676586} m_Children: [] m_Father: {fileID: 660207712} @@ -8877,7 +8971,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &332928271 BoxCollider: @@ -11191,7 +11285,7 @@ Transform: m_LocalScale: {x: 17.000162, y: 1, z: 20.756763} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &459914250 GameObject: @@ -12604,7 +12698,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 15 + m_RootOrder: 14 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &520122956 BoxCollider: @@ -13722,8 +13816,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 563467448} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -628, y: 496.79285, z: -1840.433} - m_LocalScale: {x: 91.217926, y: 0.6129326, z: 53.676586} + m_LocalPosition: {x: -628, y: 496.79285, z: -1885.1351} + m_LocalScale: {x: 91.217926, y: 0.6129326, z: 74.003914} m_Children: [] m_Father: {fileID: 660207712} m_RootOrder: 2 @@ -13916,7 +14010,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 13 + m_RootOrder: 12 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &577628232 BoxCollider: @@ -15857,6 +15951,8 @@ Transform: - {fileID: 393688891} - {fileID: 9822248} - {fileID: 330796191} + - {fileID: 160376464} + - {fileID: 908858763} m_Father: {fileID: 1385949117} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -17014,79 +17110,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 690914991} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &692225425 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 701079060217590907, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3725107173017604129, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: items.Array.size - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 3725107173017604129, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: items.Array.data[0] - value: - objectReference: {fileID: 11400000, guid: f3ec80a746c12614db0a11da845e3815, type: 2} - - target: {fileID: 3725107173017604129, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: items.Array.data[1] - value: - objectReference: {fileID: 11400000, guid: b91f668477f6b3244b3fea3204e6cd87, type: 2} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalPosition.x - value: 890.2 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalPosition.y - value: 18.3 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalPosition.z - value: 551 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890177, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7188906082087890184, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - propertyPath: m_Name - value: PlayerPrefab - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} --- !u!1 &699561638 GameObject: m_ObjectHideFlags: 0 @@ -18450,7 +18473,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 6 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &753929843 BoxCollider: @@ -19320,7 +19343,7 @@ Transform: m_LocalScale: {x: 18.625084, y: 1.21024, z: 3.3996985} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 18 + m_RootOrder: 17 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &775561294 BoxCollider: @@ -21895,7 +21918,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 8 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &839002975 BoxCollider: @@ -22081,8 +22104,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 845150773} m_LocalRotation: {x: -0, y: -0, z: 0.23706186, w: 0.97149456} - m_LocalPosition: {x: -845, y: 454.79285, z: -1844.4537} - m_LocalScale: {x: 182.71585, y: 0.7204257, z: 45.37092} + m_LocalPosition: {x: -850.6033, y: 451.8852, z: -1894.2522} + m_LocalScale: {x: 195.35193, y: 0.7204257, z: 53.274536} m_Children: [] m_Father: {fileID: 660207712} m_RootOrder: 1 @@ -24074,6 +24097,101 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 895356427} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &908858762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 908858763} + - component: {fileID: 908858766} + - component: {fileID: 908858765} + - component: {fileID: 908858764} + m_Layer: 0 + m_Name: Cube (22) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &908858763 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 908858762} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -981.1, y: 407, z: -1893.9} + m_LocalScale: {x: 91.217926, y: 0.6129326, z: 53.676586} + m_Children: [] + m_Father: {fileID: 660207712} + m_RootOrder: 37 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &908858764 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 908858762} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &908858765 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 908858762} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 730a2ba314caf9742823631b050afe28, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &908858766 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 908858762} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &913494957 GameObject: m_ObjectHideFlags: 0 @@ -28210,8 +28328,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1120569601} m_LocalRotation: {x: -0, y: -0, z: 0.21491422, w: 0.97663295} - m_LocalPosition: {x: -542, y: 515.79285, z: -1836.7821} - m_LocalScale: {x: 91.217926, y: 0.6129326, z: 60.976604} + m_LocalPosition: {x: -542, y: 515.79285, z: -1869.1282} + m_LocalScale: {x: 91.217926, y: 0.6129326, z: 106.11759} m_Children: [] m_Father: {fileID: 660207712} m_RootOrder: 3 @@ -29439,7 +29557,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 16 + m_RootOrder: 15 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &1171749853 BoxCollider: @@ -31947,101 +32065,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1357026191} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1357904547 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1357904548} - - component: {fileID: 1357904551} - - component: {fileID: 1357904550} - - component: {fileID: 1357904549} - m_Layer: 0 - m_Name: platform 1 (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1357904548 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1357904547} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 14.04, y: -0.39, z: -1.42} - m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} - m_Children: [] - m_Father: {fileID: 83398732} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!65 &1357904549 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1357904547} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1357904550 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1357904547} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: cce4d03b83d5bb44682271d375de60ff, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1357904551 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1357904547} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1358030681 GameObject: m_ObjectHideFlags: 0 @@ -32931,17 +32954,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1392432722} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &1395410201 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 3725107173017604129, guid: a9840baa4cc526b44bfef27c6fea042a, type: 3} - m_PrefabInstance: {fileID: 692225425} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a5d879591af1084ab5d3a35fcd53086, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &1396239062 GameObject: m_ObjectHideFlags: 0 @@ -33733,7 +33745,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 9 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &1429730050 BoxCollider: @@ -34048,7 +34060,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 2 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &1445285823 BoxCollider: @@ -34112,6 +34124,63 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1445285821} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1001 &1448239903 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 5633209979457551608, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_Name + value: DebugPlayerPrefab + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalPosition.x + value: 892.84863 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalPosition.y + value: 38.340515 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalPosition.z + value: 549.8851 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} --- !u!1 &1457776488 GameObject: m_ObjectHideFlags: 0 @@ -35601,7 +35670,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 14 + m_RootOrder: 13 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &1543067484 BoxCollider: @@ -37035,7 +37104,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1596573753} m_LocalRotation: {x: -0, y: 0.41664216, z: -0, w: 0.9090706} - m_LocalPosition: {x: -231.61304, y: -1166.8, z: 484.46008} + m_LocalPosition: {x: -231.61304, y: -1171.9, z: 484.46008} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 305860925} @@ -37820,7 +37889,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 12 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &1638860077 BoxCollider: @@ -38703,8 +38772,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1673654440} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -455, y: 534.79285, z: -1826.3632} - m_LocalScale: {x: 91.217926, y: 0.6129326, z: 81.81404} + m_LocalPosition: {x: -455, y: 534.79285, z: -1853.4542} + m_LocalScale: {x: 91.217926, y: 0.6129326, z: 135.99948} m_Children: [] m_Father: {fileID: 660207712} m_RootOrder: 4 @@ -39955,7 +40024,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6c342edd8126e1449a50220a14c9333e, type: 3} m_Name: m_EditorClassIdentifier: - Inv: {fileID: 1395410201} + Inv: {fileID: 0} uiPrebab: {fileID: 2234979236645149946, guid: 757a136ec05bee247970d9f727f6b5f2, type: 3} --- !u!1 &1734064827 GameObject: @@ -42584,7 +42653,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 5 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &1812977153 BoxCollider: @@ -44389,7 +44458,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 17 + m_RootOrder: 16 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &1882941773 BoxCollider: @@ -47885,7 +47954,7 @@ Transform: m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 7 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &2003687075 BoxCollider: @@ -48552,7 +48621,7 @@ Transform: m_LocalScale: {x: 18.625084, y: 1.21024, z: 3.3996985} m_Children: [] m_Father: {fileID: 83398732} - m_RootOrder: 19 + m_RootOrder: 18 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!65 &2025364231 BoxCollider: @@ -50010,7 +50079,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2081358416} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 14.04, y: -0.426, z: -1.42} + m_LocalPosition: {x: 14.04, y: 0.59, z: -1.42} m_LocalScale: {x: 0.7111871, y: 0.039395437, z: 0.7532221} m_Children: [] m_Father: {fileID: 1669534897} diff --git a/Assets/Scripts/ControllsGamePadControlls.cs b/Assets/Scripts/ControllsGamePadControlls.cs deleted file mode 100644 index efbf937..0000000 --- a/Assets/Scripts/ControllsGamePadControlls.cs +++ /dev/null @@ -1,132 +0,0 @@ -// GENERATED AUTOMATICALLY FROM 'Assets/Scripts/ControllsGamePadControlls.inputactions' - -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine.InputSystem; -using UnityEngine.InputSystem.Utilities; - -public class @ControllsGamePadControlls : IInputActionCollection, IDisposable -{ - public InputActionAsset asset { get; } - public @ControllsGamePadControlls() - { - asset = InputActionAsset.FromJson(@"{ - ""name"": ""ControllsGamePadControlls"", - ""maps"": [ - { - ""name"": ""RunnerGamePad"", - ""id"": ""04979d69-e216-469f-817d-0a874e345751"", - ""actions"": [ - { - ""name"": ""Jump"", - ""type"": ""Button"", - ""id"": ""7a804743-c0f5-41cc-af8d-d108aa08c712"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - } - ], - ""bindings"": [ - { - ""name"": """", - ""id"": ""8a6737f7-66b7-4bdb-a7f4-822c756a7b53"", - ""path"": ""/buttonSouth"", - ""interactions"": """", - ""processors"": """", - ""groups"": """", - ""action"": ""Jump"", - ""isComposite"": false, - ""isPartOfComposite"": false - } - ] - } - ], - ""controlSchemes"": [] -}"); - // RunnerGamePad - m_RunnerGamePad = asset.FindActionMap("RunnerGamePad", throwIfNotFound: true); - m_RunnerGamePad_Jump = m_RunnerGamePad.FindAction("Jump", throwIfNotFound: true); - } - - public void Dispose() - { - UnityEngine.Object.Destroy(asset); - } - - public InputBinding? bindingMask - { - get => asset.bindingMask; - set => asset.bindingMask = value; - } - - public ReadOnlyArray? devices - { - get => asset.devices; - set => asset.devices = value; - } - - public ReadOnlyArray controlSchemes => asset.controlSchemes; - - public bool Contains(InputAction action) - { - return asset.Contains(action); - } - - public IEnumerator GetEnumerator() - { - return asset.GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - - public void Enable() - { - asset.Enable(); - } - - public void Disable() - { - asset.Disable(); - } - - // RunnerGamePad - private readonly InputActionMap m_RunnerGamePad; - private IRunnerGamePadActions m_RunnerGamePadActionsCallbackInterface; - private readonly InputAction m_RunnerGamePad_Jump; - public struct RunnerGamePadActions - { - private @ControllsGamePadControlls m_Wrapper; - public RunnerGamePadActions(@ControllsGamePadControlls wrapper) { m_Wrapper = wrapper; } - public InputAction @Jump => m_Wrapper.m_RunnerGamePad_Jump; - public InputActionMap Get() { return m_Wrapper.m_RunnerGamePad; } - public void Enable() { Get().Enable(); } - public void Disable() { Get().Disable(); } - public bool enabled => Get().enabled; - public static implicit operator InputActionMap(RunnerGamePadActions set) { return set.Get(); } - public void SetCallbacks(IRunnerGamePadActions instance) - { - if (m_Wrapper.m_RunnerGamePadActionsCallbackInterface != null) - { - @Jump.started -= m_Wrapper.m_RunnerGamePadActionsCallbackInterface.OnJump; - @Jump.performed -= m_Wrapper.m_RunnerGamePadActionsCallbackInterface.OnJump; - @Jump.canceled -= m_Wrapper.m_RunnerGamePadActionsCallbackInterface.OnJump; - } - m_Wrapper.m_RunnerGamePadActionsCallbackInterface = instance; - if (instance != null) - { - @Jump.started += instance.OnJump; - @Jump.performed += instance.OnJump; - @Jump.canceled += instance.OnJump; - } - } - } - public RunnerGamePadActions @RunnerGamePad => new RunnerGamePadActions(this); - public interface IRunnerGamePadActions - { - void OnJump(InputAction.CallbackContext context); - } -} diff --git a/Assets/Scripts/ControllsGamePadControlls.cs.meta b/Assets/Scripts/ControllsGamePadControlls.cs.meta deleted file mode 100644 index a503fd0..0000000 --- a/Assets/Scripts/ControllsGamePadControlls.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2fa44697960ae5f41bd367e6d38531ab -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dGrapplingHook.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dGrapplingHook.cs index 175808d..daecd19 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dGrapplingHook.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dGrapplingHook.cs @@ -34,7 +34,8 @@ public class dGrapplingHook : NetworkBehaviour { //if (!IsLocalPlayer) { return; } - if (Input.GetKeyDown(KeyCode.E)) //If grapple button is hit + //if E or left face gamepad button is pressed is slightly pressed + if (Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.JoystickButton2)) //If grapple button is hit { if (!isGrappled) //If we are not grappling { @@ -60,7 +61,8 @@ public class dGrapplingHook : NetworkBehaviour { Debug.DrawRay(gameObject.transform.position, (hookPoint.transform.position - gameObject.transform.position)); //Visual of line - if (Input.GetKey(KeyCode.LeftShift)) //Extend hook + //if left shift or left bumper held down + if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.JoystickButton4)) //Extend hook { ropeLength += climbRate * Time.deltaTime; if (ropeLength > maxGrappleDistance) @@ -69,7 +71,7 @@ public class dGrapplingHook : NetworkBehaviour } //Debug.Log(ropeLength.ToString()); } - if (Input.GetKey(KeyCode.RightShift)) // Retract Hook + if (Input.GetKey(KeyCode.RightShift) || Input.GetKey(KeyCode.JoystickButton5)) // Retract Hook { ropeLength -= climbRate * Time.deltaTime; if (ropeLength < 5) diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dKickController.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dKickController.cs index 219facb..eace2c5 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dKickController.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dKickController.cs @@ -30,7 +30,8 @@ public class dKickController : NetworkBehaviour void Kick(){ //Note: when we merge this into PlayerMovement, we may want to change isgrounded to our //custom is grounded - if (Input.GetKeyDown(KeyCode.F) && isKicking == false && characterController.isGrounded == false) + //If F is pressed or gamepad right trigger is pulled + if ((Input.GetKeyDown(KeyCode.F) || Input.GetAxis("Kick") != 0) && isKicking == false && characterController.isGrounded == false) { Debug.Log("dive"); // if kicking in air, kick until grounded (maybe add some foward momentum if needeD) @@ -39,13 +40,14 @@ public class dKickController : NetworkBehaviour leg.SetActive(true); } //otherwise do ground kick for .3 seconds - else if (Input.GetKeyDown(KeyCode.F) && isKicking == false){ + else if ((Input.GetKeyDown(KeyCode.F) || Input.GetAxis("Kick") != 0) && isKicking == false){ Debug.Log("kick"); StartCoroutine(Kicking(.3f)); } //once dive kick touches ground, set back to normal state - if(characterController.isGrounded == true && isDiveKicking == true){ + if (characterController.isGrounded == true && isDiveKicking == true) + { isDiveKicking = false; isKicking = false; leg.SetActive(false); diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs index e9c068f..f8c687c 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs @@ -258,7 +258,7 @@ public class dPlayerMovement : NetworkBehaviour //Jump Function private void Jump() { - //If space is pressed apply an upwards force to the player + //If space/south gamepad button is pressed apply an upwards force to the player if (Input.GetAxis("Jump") != 0 && !jumpPressed && curJumpNum + 1 < pStats.JumpNum && !isSliding) { AddImpact(transform.up, pStats.JumpPow); @@ -273,7 +273,7 @@ public class dPlayerMovement : NetworkBehaviour curJumpNum = 0; } - //If space isn't being pressed then jump is false + //If space/south face gamepad button isn't being pressed then jump is false if (Input.GetAxis("Jump") == 0) jumpPressed = false; } @@ -304,16 +304,30 @@ public class dPlayerMovement : NetworkBehaviour //Camera and Player Rotation private void Rotation() { - Vector3 lastCamPos = new Vector3(0,0,0); - Vector3 rotOffset = transform.localEulerAngles; - if(moveController.enabled){ - transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + //if input is received from Mouse X + if (Input.GetAxis("Mouse X") != 0) + { + transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + } + //if input is received from right analog stick (horizontal) + else if (Input.GetAxis("HorizontalCam") != 0) + { + transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("HorizontalCam")); + } - - camRotation.x -= Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime; - camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); - - cam.transform.localEulerAngles = camRotation; + //if input is if input is received from Mouse Y + if (Input.GetAxis("Mouse Y") != 0) + { + camRotation.x -= Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime; + camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); + cam.transform.localEulerAngles = camRotation; + } + //if input is received from right analog stick (vertical) + else if (Input.GetAxis("VerticalTurn") != 0) + { + camRotation.x -= Input.GetAxis("VerticalTurn") * sensitivity * Time.deltaTime; + camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); + cam.transform.localEulerAngles = camRotation; } } @@ -431,7 +445,8 @@ public class dPlayerMovement : NetworkBehaviour //Slide Function private void Slide(){ - if (Input.GetKey(KeyCode.Q)){ + //if the q button or the east face button on gamepad is held down + if (Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) { qDown = true; if (isSliding == false){ originalTraction = pStats.Traction; diff --git a/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.cs b/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.cs deleted file mode 100644 index 77ce83a..0000000 --- a/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.cs +++ /dev/null @@ -1,132 +0,0 @@ -// GENERATED AUTOMATICALLY FROM 'Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions' - -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine.InputSystem; -using UnityEngine.InputSystem.Utilities; - -public class @GamePadControlls : IInputActionCollection, IDisposable -{ - public InputActionAsset asset { get; } - public @GamePadControlls() - { - asset = InputActionAsset.FromJson(@"{ - ""name"": ""GamePadControlls"", - ""maps"": [ - { - ""name"": ""Runner"", - ""id"": ""5b72a223-d8e7-4904-bda9-b7bc5bf92850"", - ""actions"": [ - { - ""name"": ""Jump"", - ""type"": ""Button"", - ""id"": ""bd111e05-cd62-4634-ac88-eb948971f528"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - } - ], - ""bindings"": [ - { - ""name"": """", - ""id"": ""9fde690f-bb27-4b3c-a7e4-4354283ff9da"", - ""path"": ""/buttonSouth"", - ""interactions"": """", - ""processors"": """", - ""groups"": """", - ""action"": ""Jump"", - ""isComposite"": false, - ""isPartOfComposite"": false - } - ] - } - ], - ""controlSchemes"": [] -}"); - // Runner - m_Runner = asset.FindActionMap("Runner", throwIfNotFound: true); - m_Runner_Jump = m_Runner.FindAction("Jump", throwIfNotFound: true); - } - - public void Dispose() - { - UnityEngine.Object.Destroy(asset); - } - - public InputBinding? bindingMask - { - get => asset.bindingMask; - set => asset.bindingMask = value; - } - - public ReadOnlyArray? devices - { - get => asset.devices; - set => asset.devices = value; - } - - public ReadOnlyArray controlSchemes => asset.controlSchemes; - - public bool Contains(InputAction action) - { - return asset.Contains(action); - } - - public IEnumerator GetEnumerator() - { - return asset.GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - - public void Enable() - { - asset.Enable(); - } - - public void Disable() - { - asset.Disable(); - } - - // Runner - private readonly InputActionMap m_Runner; - private IRunnerActions m_RunnerActionsCallbackInterface; - private readonly InputAction m_Runner_Jump; - public struct RunnerActions - { - private @GamePadControlls m_Wrapper; - public RunnerActions(@GamePadControlls wrapper) { m_Wrapper = wrapper; } - public InputAction @Jump => m_Wrapper.m_Runner_Jump; - public InputActionMap Get() { return m_Wrapper.m_Runner; } - public void Enable() { Get().Enable(); } - public void Disable() { Get().Disable(); } - public bool enabled => Get().enabled; - public static implicit operator InputActionMap(RunnerActions set) { return set.Get(); } - public void SetCallbacks(IRunnerActions instance) - { - if (m_Wrapper.m_RunnerActionsCallbackInterface != null) - { - @Jump.started -= m_Wrapper.m_RunnerActionsCallbackInterface.OnJump; - @Jump.performed -= m_Wrapper.m_RunnerActionsCallbackInterface.OnJump; - @Jump.canceled -= m_Wrapper.m_RunnerActionsCallbackInterface.OnJump; - } - m_Wrapper.m_RunnerActionsCallbackInterface = instance; - if (instance != null) - { - @Jump.started += instance.OnJump; - @Jump.performed += instance.OnJump; - @Jump.canceled += instance.OnJump; - } - } - } - public RunnerActions @Runner => new RunnerActions(this); - public interface IRunnerActions - { - void OnJump(InputAction.CallbackContext context); - } -} diff --git a/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.cs.meta b/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.cs.meta deleted file mode 100644 index 723882b..0000000 --- a/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3698cf5288c74ad41ba892329e2fb719 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions b/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions deleted file mode 100644 index eb95162..0000000 --- a/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "GamePadControlls", - "maps": [ - { - "name": "Runner", - "id": "5b72a223-d8e7-4904-bda9-b7bc5bf92850", - "actions": [ - { - "name": "Jump", - "type": "Button", - "id": "bd111e05-cd62-4634-ac88-eb948971f528", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - } - ], - "bindings": [ - { - "name": "", - "id": "9fde690f-bb27-4b3c-a7e4-4354283ff9da", - "path": "/buttonSouth", - "interactions": "", - "processors": "", - "groups": "", - "action": "Jump", - "isComposite": false, - "isPartOfComposite": false - } - ] - } - ], - "controlSchemes": [] -} \ No newline at end of file diff --git a/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions.meta b/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions.meta deleted file mode 100644 index e2844b9..0000000 --- a/Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: c3d6a5f3edd2f9d4693efbb2085dde9c -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} - generateWrapperCode: 1 - wrapperCodePath: - wrapperClassName: - wrapperCodeNamespace: diff --git a/Assets/Scripts/PlayerScripts/MovementAbilities/GrapplingHook.cs b/Assets/Scripts/PlayerScripts/MovementAbilities/GrapplingHook.cs index 74f7a7e..f8302e8 100644 --- a/Assets/Scripts/PlayerScripts/MovementAbilities/GrapplingHook.cs +++ b/Assets/Scripts/PlayerScripts/MovementAbilities/GrapplingHook.cs @@ -34,7 +34,7 @@ public class GrapplingHook : NetworkBehaviour { //if (!IsLocalPlayer) { return; } - if (Input.GetKeyDown(KeyCode.E)) //If grapple button is hit + if (Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.JoystickButton2)) //If grapple button is hit { if (!isGrappled) //If we are not grappling { @@ -59,8 +59,8 @@ public class GrapplingHook : NetworkBehaviour if (isGrappled) { Debug.DrawRay(gameObject.transform.position, (hookPoint.transform.position - gameObject.transform.position)); //Visual of line - - if (Input.GetKey(KeyCode.LeftShift)) //Extend hook + + if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.JoystickButton4)) //Extend hook { ropeLength += climbRate * Time.deltaTime; if (ropeLength > maxGrappleDistance) @@ -69,7 +69,7 @@ public class GrapplingHook : NetworkBehaviour } //Debug.Log(ropeLength.ToString()); } - if (Input.GetKey(KeyCode.RightShift)) // Retract Hook + if (Input.GetKey(KeyCode.RightShift) || Input.GetKey(KeyCode.JoystickButton5)) // Retract Hook { ropeLength -= climbRate * Time.deltaTime; if (ropeLength < 5) diff --git a/Assets/Scripts/PlayerScripts/MovementAbilities/KickController.cs b/Assets/Scripts/PlayerScripts/MovementAbilities/KickController.cs index 0ab048d..3f524e1 100644 --- a/Assets/Scripts/PlayerScripts/MovementAbilities/KickController.cs +++ b/Assets/Scripts/PlayerScripts/MovementAbilities/KickController.cs @@ -30,7 +30,8 @@ public class KickController : NetworkBehaviour void Kick(){ //Note: when we merge this into PlayerMovement, we may want to change isgrounded to our //custom is grounded - if (Input.GetKeyDown(KeyCode.F) && isKicking == false && characterController.isGrounded == false) + //If F is pressed or gamepad right trigger is pulled + if ((Input.GetKeyDown(KeyCode.F) || Input.GetAxis("Kick") != 0) && isKicking == false && characterController.isGrounded == false) { Debug.Log("dive"); // if kicking in air, kick until grounded (maybe add some foward momentum if needeD) @@ -39,7 +40,7 @@ public class KickController : NetworkBehaviour leg.SetActive(true); } //otherwise do ground kick for .3 seconds - else if (Input.GetKeyDown(KeyCode.F) && isKicking == false){ + else if (( Input.GetKeyDown(KeyCode.F) || Input.GetAxis("Kick") != 0) && isKicking == false){ Debug.Log("kick"); StartCoroutine(Kicking(.3f)); } diff --git a/Assets/Scripts/PlayerScripts/PlayerMovement.cs b/Assets/Scripts/PlayerScripts/PlayerMovement.cs index 271c775..69608da 100644 --- a/Assets/Scripts/PlayerScripts/PlayerMovement.cs +++ b/Assets/Scripts/PlayerScripts/PlayerMovement.cs @@ -3,12 +3,10 @@ using System.Collections.Generic; using MLAPI; using UnityEngine; using UnityEngine.UI; -using UnityEngine.InputSystem; public class PlayerMovement : NetworkBehaviour { //Controller object - new GamePadControlls controler; //Scripts public PlayerStats pStats; @@ -90,8 +88,8 @@ public class PlayerMovement : NetworkBehaviour capCol = GetComponent(); pStats = GetComponent(); parentObj = transform.parent.gameObject; - controler = new GamePadControlls(); - controler.Runner.Enable(); + + capCol.enabled = false; //Wallrun @@ -295,13 +293,30 @@ public class PlayerMovement : NetworkBehaviour Vector3 lastCamPos = new Vector3(0,0,0); Vector3 rotOffset = transform.localEulerAngles; if(moveController.enabled){ - transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + + //if input is received from Mouse X + if (Input.GetAxis("Mouse X") != 0){ + transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + } + //if input is received from right analog stick (horizontal) + else if(Input.GetAxis("HorizontalCam") != 0){ + transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("HorizontalCam")); + } - camRotation.x -= Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime; - camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); - - cam.transform.localEulerAngles = camRotation; + //if input is if input is received from Mouse Y + if (Input.GetAxis("Mouse Y") != 0) + { + camRotation.x -= Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime; + camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); + cam.transform.localEulerAngles = camRotation; + } + //if input is received from right analog stick (vertical) + else if (Input.GetAxis("VerticalTurn") != 0){ + camRotation.x -= Input.GetAxis("VerticalTurn") * sensitivity * Time.deltaTime; + camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); + cam.transform.localEulerAngles = camRotation; + } } } @@ -419,7 +434,7 @@ public class PlayerMovement : NetworkBehaviour //Slide Function private void Slide(){ - if (Input.GetKey(KeyCode.Q)){ + if (Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)){ qDown = true; if (isSliding == false){ originalTraction = pStats.Traction; diff --git a/Assets/Scripts/PlayerScripts/PlayerStats.cs b/Assets/Scripts/PlayerScripts/PlayerStats.cs index 42a5cc2..8b3db66 100644 --- a/Assets/Scripts/PlayerScripts/PlayerStats.cs +++ b/Assets/Scripts/PlayerScripts/PlayerStats.cs @@ -91,7 +91,7 @@ public class PlayerStats : MonoBehaviour } //If The Player Has Grapple - private bool hasGrapple = false; + private bool hasGrapple = true; public bool HasGrapple{ get{ return hasGrapple; } set{ hasGrapple = value; } diff --git a/Packages/manifest.json b/Packages/manifest.json index 6b41ca2..b47c6d9 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -5,7 +5,6 @@ "com.unity.ide.rider": "2.0.7", "com.unity.ide.visualstudio": "2.0.11", "com.unity.ide.vscode": "1.2.4", - "com.unity.inputsystem": "1.0.2", "com.unity.multiplayer.mlapi": "https://github.com/Unity-Technologies/com.unity.multiplayer.mlapi.git?path=/com.unity.multiplayer.mlapi#release/0.1.0", "com.unity.test-framework": "1.1.29", "com.unity.textmeshpro": "3.0.6", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index eab94ae..01dbc0b 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -45,13 +45,6 @@ "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.inputsystem": { - "version": "1.0.2", - "depth": 0, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, "com.unity.multiplayer.mlapi": { "version": "https://github.com/Unity-Technologies/com.unity.multiplayer.mlapi.git?path=/com.unity.multiplayer.mlapi#release/0.1.0", "depth": 0, diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 168f614..fc59a64 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -17,4 +17,5 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/Game-Mountain.unity guid: f6e50dc4cb4a9b2449937a34f68b7e26 - m_configObjects: {} + m_configObjects: + com.unity.input.settings: {fileID: 11400000, guid: 0882d22490679254ba3fa693a71a80e0, type: 2} diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset index b1f7c2b..ecc64f9 100644 --- a/ProjectSettings/InputManager.asset +++ b/ProjectSettings/InputManager.asset @@ -167,7 +167,7 @@ InputManager: joyNum: 0 - serializedVersion: 3 m_Name: Vertical - descriptiveName: + descriptiveName: GamePad Vertical Left Stick descriptiveNegativeName: negativeButton: positiveButton: @@ -234,7 +234,7 @@ InputManager: descriptiveName: descriptiveNegativeName: negativeButton: - positiveButton: joystick button 3 + positiveButton: joystick button 0 altNegativeButton: altPositiveButton: gravity: 1000 @@ -246,19 +246,19 @@ InputManager: axis: 0 joyNum: 0 - serializedVersion: 3 - m_Name: Submit - descriptiveName: + m_Name: Horizontal + descriptiveName: GamePad Horizontal Left Stick descriptiveNegativeName: negativeButton: - positiveButton: return + positiveButton: altNegativeButton: - altPositiveButton: joystick button 0 - gravity: 1000 - dead: 0.001 - sensitivity: 1000 + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 snap: 0 invert: 0 - type: 0 + type: 2 axis: 0 joyNum: 0 - serializedVersion: 3 @@ -293,3 +293,67 @@ InputManager: type: 0 axis: 0 joyNum: 0 + - serializedVersion: 3 + m_Name: HorizontalCam + descriptiveName: GamePad horizontal right stick + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 3 + joyNum: 0 + - serializedVersion: 3 + m_Name: VerticalTurn + descriptiveName: GamePad vertical right stick + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 4 + joyNum: 0 + - serializedVersion: 3 + m_Name: Kick + descriptiveName: GamePad Kick + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.2 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 9 + joyNum: 0 + - serializedVersion: 3 + m_Name: Grapple + descriptiveName: GamePad Grapple Left Trigger + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.2 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 8 + joyNum: 0 diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index b585069..4d569c0 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -6,34 +6,34 @@ EditorUserSettings: serializedVersion: 4 m_ConfigSettings: RecentlyUsedScenePath-0: - value: 22424703114646680e0b0227036c7b151b180b650d262f3d192c0e27d1e33136e7a923e7ee2e26 + value: 224247031146467c0c03096f3d2c4a1e02161124623d28393930 flags: 0 RecentlyUsedScenePath-1: value: 22424703114646680e0b0227036c7b151b180b6505263035233d1221fbd33134e7e422e0e8347129370bfb25 flags: 0 RecentlyUsedScenePath-2: - value: 22424703114646680e0b0227036c7b151b180b6505263035233d1221fbd33134e7e422e0e8347129370bfb25 + value: 22424703114646680e0b0227036c7b151b180b650d262f3d192c0e27d1e33136e7a923e7ee2e26 flags: 0 RecentlyUsedScenePath-3: - value: 22424703114646680e0b0227036c7b151b180b6505263035233d1221fbd33134e7e422e0e8347129370bfb25 + value: 22424703114646680e0b0227036c78111b125507233d28242c20137df7ee3d2cfb flags: 0 RecentlyUsedScenePath-4: - value: 224247031146467c0c03096f3d2c4a1e02161124623d28393930 + value: 22424703114646680e0b0227036c7b151b180b6501273035202c1327d1e33136e7a923e7ee2e26 flags: 0 RecentlyUsedScenePath-5: - value: 22424703114646680e0b0227036c7b151b180b6505263035233d1221fbd33134e7e422e0e8347129370bfb25 + value: 22424703114646680e0b0227036c7b151b180b6519016b0515163936efef2776f7e93ffdfe flags: 0 RecentlyUsedScenePath-6: - value: 22424703114646680e0b0227036c7b151b180b650d262f3d192c0e27d1e33136e7a923e7ee2e26 + value: 22424703114646680e0b0227036c731f1415016439262f2434 flags: 0 RecentlyUsedScenePath-7: value: 22424703114646680e0b0227036c6f02131b172b282d347e38271427fb flags: 0 RecentlyUsedScenePath-8: - value: 22424703114646680e0b0227036c78111b125507233d28242c20137df7ee3d2cfb + value: 22424703114646680e0b0227036c731f1415016439262f2434 flags: 0 RecentlyUsedScenePath-9: - value: 22424703114646680e0b0227036c6f02131b172b282d347e38271427fb + value: 22424703114646680e0b0227036c7b151b180b652b3a27292f260573f1e33136e7a923e7ee2e26 flags: 0 UnityRemoteCompression: value: 337f73 From 97b727b3dbed0592ea523b474e7f124645555097 Mon Sep 17 00:00:00 2001 From: Evan Nydahl Date: Fri, 3 Dec 2021 13:32:37 -0600 Subject: [PATCH 2/3] -changed cooldown thing (only needed for dodge and boost). May want to deprecate these -slight edits to mountain path --- Assets/Scenes/Demos/graybox scene.unity | 27 ++++++++++++++++--- .../DebugPlayer/DebugItems/dDash.cs | 16 +++++++++-- .../PlayerScripts/MovementAbilities/Dash.cs | 17 ++++++++++-- .../PlayerScripts/MovementAbilities/Nitro.cs | 6 +++-- 4 files changed, 56 insertions(+), 10 deletions(-) diff --git a/Assets/Scenes/Demos/graybox scene.unity b/Assets/Scenes/Demos/graybox scene.unity index 47abbc9..e786013 100644 --- a/Assets/Scenes/Demos/graybox scene.unity +++ b/Assets/Scenes/Demos/graybox scene.unity @@ -9272,6 +9272,17 @@ Transform: m_Father: {fileID: 831351887} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &348746306 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7097691538269713306, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + m_PrefabInstance: {fileID: 1448239903} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a5d879591af1084ab5d3a35fcd53086, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &353209029 GameObject: m_ObjectHideFlags: 0 @@ -16946,7 +16957,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 689426366} m_LocalRotation: {x: -0, y: 0.79767233, z: -0, w: 0.6030911} - m_LocalPosition: {x: -5.0606127, y: 109.47375, z: 1.9640756} + m_LocalPosition: {x: -5.0606127, y: 105.5, z: 1.9640756} m_LocalScale: {x: 0.35149136, y: 1.6315006, z: 0.3909429} m_Children: - {fileID: 922883952} @@ -29332,7 +29343,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1165668555} m_LocalRotation: {x: -0, y: 0.79767233, z: -0, w: 0.6030911} - m_LocalPosition: {x: -4.9651423, y: 97.400604, z: 2.3045297} + m_LocalPosition: {x: -4.9651423, y: 91.3, z: 2.3045297} m_LocalScale: {x: 0.35149136, y: 1.6315006, z: 0.3909429} m_Children: - {fileID: 942155473} @@ -34135,6 +34146,10 @@ PrefabInstance: propertyPath: m_Name value: DebugPlayerPrefab objectReference: {fileID: 0} + - target: {fileID: 5784126162129930074, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: dashItem + value: + objectReference: {fileID: 11400000, guid: 4399d7276b3edf446ac51c5145539a5e, type: 2} - target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} propertyPath: m_RootOrder value: 1 @@ -34179,6 +34194,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 7616279934999327372, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} + propertyPath: nitroItem + value: + objectReference: {fileID: 11400000, guid: b91f668477f6b3244b3fea3204e6cd87, type: 2} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 362ca97b75c291a47ab81d628a81f440, type: 3} --- !u!1 &1457776488 @@ -39843,7 +39862,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1730720747} m_LocalRotation: {x: -0, y: 0.79767233, z: -0, w: 0.6030911} - m_LocalPosition: {x: -5.3891253, y: 119.425865, z: 1.6474376} + m_LocalPosition: {x: -5.3891253, y: 117.6, z: 1.6474376} m_LocalScale: {x: 0.35149136, y: 1.6315006, z: 0.3909429} m_Children: - {fileID: 225075931} @@ -40024,7 +40043,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6c342edd8126e1449a50220a14c9333e, type: 3} m_Name: m_EditorClassIdentifier: - Inv: {fileID: 0} + Inv: {fileID: 348746306} uiPrebab: {fileID: 2234979236645149946, guid: 757a136ec05bee247970d9f727f6b5f2, type: 3} --- !u!1 &1734064827 GameObject: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dDash.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dDash.cs index e37d701..a645ffc 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dDash.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dDash.cs @@ -10,6 +10,8 @@ public class dDash : NetworkBehaviour{ public const float maxDashTime = 1.0f; public float dashDistance = 10; public float dashStoppingSpeed = 0.1f; + public SpecialItem dashItem; + private bool isOnCoolDown = false; float currentDashTime = maxDashTime; float dashSpeed = 12; @@ -23,9 +25,10 @@ public class dDash : NetworkBehaviour{ void FixedUpdate(){ //if (!IsLocalPlayer) { return; } if(characterController.enabled == true){ - if (Input.GetKeyDown(KeyCode.E)) + if (Input.GetKeyDown(KeyCode.E) && isOnCoolDown == false) { - currentDashTime = 0; + currentDashTime = 0; + StartCoroutine(startCoolDown()); } if(currentDashTime < maxDashTime) { @@ -40,4 +43,13 @@ public class dDash : NetworkBehaviour{ } } + private IEnumerator startCoolDown(){ + Debug.Log("start corotine"); + isOnCoolDown = true; + //driver.startUICooldown("Nitro"); + yield return new WaitForSeconds(dashItem.cooldownM); + isOnCoolDown = false; + Debug.Log("end corotine"); + } + } \ No newline at end of file diff --git a/Assets/Scripts/PlayerScripts/MovementAbilities/Dash.cs b/Assets/Scripts/PlayerScripts/MovementAbilities/Dash.cs index 43e6862..e1c7030 100644 --- a/Assets/Scripts/PlayerScripts/MovementAbilities/Dash.cs +++ b/Assets/Scripts/PlayerScripts/MovementAbilities/Dash.cs @@ -10,6 +10,8 @@ public class Dash : NetworkBehaviour { public const float maxDashTime = 1.0f; public float dashDistance = 10; public float dashStoppingSpeed = 0.1f; + public SpecialItem dashItem; + private bool isOnCoolDown = false; float currentDashTime = maxDashTime; float dashSpeed = 12; @@ -23,9 +25,10 @@ public class Dash : NetworkBehaviour { void FixedUpdate(){ if (!IsLocalPlayer) { return; } - if (Input.GetKeyDown(KeyCode.E)) + if (Input.GetKeyDown(KeyCode.E) && isOnCoolDown == false) { - currentDashTime = 0; + currentDashTime = 0; + StartCoroutine(startCoolDown()); } if(currentDashTime < maxDashTime) { @@ -36,7 +39,17 @@ public class Dash : NetworkBehaviour { { moveDirection = Vector3.zero; } + characterController.Move(moveDirection * Time.deltaTime * dashSpeed); } + private IEnumerator startCoolDown(){ + Debug.Log("start corotine"); + isOnCoolDown = true; + //driver.startUICooldown("Nitro"); + yield return new WaitForSeconds(dashItem.cooldownM); + isOnCoolDown = false; + Debug.Log("end corotine"); + } + } \ No newline at end of file diff --git a/Assets/Scripts/PlayerScripts/MovementAbilities/Nitro.cs b/Assets/Scripts/PlayerScripts/MovementAbilities/Nitro.cs index 00d515a..98ef4a8 100644 --- a/Assets/Scripts/PlayerScripts/MovementAbilities/Nitro.cs +++ b/Assets/Scripts/PlayerScripts/MovementAbilities/Nitro.cs @@ -7,6 +7,7 @@ public class Nitro : MonoBehaviour private PlayerStats playerStats; private CoolDown driver; private bool isOnCoolDown = false; + public SpecialItem nitroItem; //this will need to be set from scritable object or something; private float coolDown; @@ -29,8 +30,9 @@ public class Nitro : MonoBehaviour private IEnumerator startCoolDown(){ Debug.Log("start corotine"); isOnCoolDown = true; - driver.startUICooldown("Nitro"); - yield return new WaitForSeconds(coolDown); + //driver.startUICooldown("Nitro"); + yield return new WaitForSeconds(nitroItem.cooldownM); isOnCoolDown = false; + Debug.Log("end corotine"); } } From 36da5ec8482c84e90f30dfdb9262f0a0adf4d222 Mon Sep 17 00:00:00 2001 From: Evan Nydahl Date: Fri, 3 Dec 2021 13:55:32 -0600 Subject: [PATCH 3/3] Resolved many merge conflicts --- Assets/Scripts/KingAbilities/Boulder.cs | 2 +- Assets/Scripts/KingAbilities/Bumper.cs | 2 +- Assets/Scripts/KingAbilities/Hail.cs | 2 +- .../DebugPlayer/dPlayerMovement.cs | 2 +- .../PlayerScripts/MovementAbilities/Nitro.cs | 38 ----- .../ItemScripts/GamePadControlls.cs | 132 ------------------ .../ItemScripts/GamePadControlls.cs.meta | 11 -- .../ItemScripts/GamePadControlls.inputactions | 33 ----- .../GamePadControlls.inputactions.meta | 14 -- .../PlayerItems/ItemScripts/Nitro.cs | 37 ++--- UserSettings/EditorUserSettings.asset | 10 +- 11 files changed, 28 insertions(+), 255 deletions(-) delete mode 100644 Assets/Scripts/PlayerScripts/MovementAbilities/Nitro.cs delete mode 100644 Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.cs delete mode 100644 Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.cs.meta delete mode 100644 Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.inputactions delete mode 100644 Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.inputactions.meta diff --git a/Assets/Scripts/KingAbilities/Boulder.cs b/Assets/Scripts/KingAbilities/Boulder.cs index 0540903..dd1545d 100644 --- a/Assets/Scripts/KingAbilities/Boulder.cs +++ b/Assets/Scripts/KingAbilities/Boulder.cs @@ -17,7 +17,7 @@ public class Boulder : MonoBehaviour Vector3 Dir = boulder.velocity;//Finds the bolder's velocity float Power = boulder.velocity.magnitude * 250;//Finds the power of the boulder by using it's velocity and a scaler Dir = Vector3.Normalize(Dir);//Normalizes the vector to be used as a knockback direction - player.GetComponent().getHit(Dir, Power); //Ragdolls the player in the direction of the bolder depending on it's speed + player.GetComponent().GetHit(Dir, Power); //Ragdolls the player in the direction of the bolder depending on it's speed } } diff --git a/Assets/Scripts/KingAbilities/Bumper.cs b/Assets/Scripts/KingAbilities/Bumper.cs index b60c5e0..4e7002e 100644 --- a/Assets/Scripts/KingAbilities/Bumper.cs +++ b/Assets/Scripts/KingAbilities/Bumper.cs @@ -12,7 +12,7 @@ public class Bumper : MonoBehaviour { float DirBumpZ = other.GetComponent().vel.z * -1;//Inverts the Player Velocity y Vector3 DirBump = new Vector3(DirBumpX, .01f, DirBumpZ);//Creates a direction to launch the player DirBump = Vector3.Normalize(DirBump);//Normalizes the vector to be used as a bump direction - other.GetComponent().getHit(DirBump, 50); //Launches tthe player directly away from the bumper + other.GetComponent().GetHit(DirBump, 50); //Launches tthe player directly away from the bumper } } } diff --git a/Assets/Scripts/KingAbilities/Hail.cs b/Assets/Scripts/KingAbilities/Hail.cs index ff043b8..eb955d2 100644 --- a/Assets/Scripts/KingAbilities/Hail.cs +++ b/Assets/Scripts/KingAbilities/Hail.cs @@ -38,7 +38,7 @@ public class Hail : MonoBehaviour float hz = hail.transform.position.z; //Direction pointing away from the center of the Hail Vector3 Dir = new Vector3(px - hx, 0, pz - hz); - player.GetComponent().getHit(Dir, Power); //Ragdolls the player in the direction of the bolder depending on it's speed + player.GetComponent().GetHit(Dir, Power); //Ragdolls the player in the direction of the bolder depending on it's speed } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs index d5837ff..355cc27 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs @@ -409,7 +409,7 @@ public class dPlayerMovement : NetworkBehaviour } //Ragdoll Functions - private void GetHit(Vector3 dir, float force){ + public void GetHit(Vector3 dir, float force){ if(firstHit == false){ EnableRagdoll(); dir.Normalize(); diff --git a/Assets/Scripts/PlayerScripts/MovementAbilities/Nitro.cs b/Assets/Scripts/PlayerScripts/MovementAbilities/Nitro.cs deleted file mode 100644 index 98ef4a8..0000000 --- a/Assets/Scripts/PlayerScripts/MovementAbilities/Nitro.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Nitro : MonoBehaviour -{ - private PlayerStats playerStats; - private CoolDown driver; - private bool isOnCoolDown = false; - public SpecialItem nitroItem; - //this will need to be set from scritable object or something; - private float coolDown; - - // Start is called before the first frame update - void Start(){ - playerStats = GetComponent(); - coolDown = 5.0f; - //retrieves - driver = FindObjectOfType(); - } - - // Update is called once per frame - void Update(){ - //once cooldowns are implemented, put this on one (a long one) - if (Input.GetKeyDown(KeyCode.LeftShift) && isOnCoolDown == false){ - playerStats.CurVel = playerStats.MaxVel; - StartCoroutine(startCoolDown()); - } - } - private IEnumerator startCoolDown(){ - Debug.Log("start corotine"); - isOnCoolDown = true; - //driver.startUICooldown("Nitro"); - yield return new WaitForSeconds(nitroItem.cooldownM); - isOnCoolDown = false; - Debug.Log("end corotine"); - } -} diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.cs b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.cs deleted file mode 100644 index 77ce83a..0000000 --- a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.cs +++ /dev/null @@ -1,132 +0,0 @@ -// GENERATED AUTOMATICALLY FROM 'Assets/Scripts/PlayerScripts/MovementAbilities/GamePadControlls.inputactions' - -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine.InputSystem; -using UnityEngine.InputSystem.Utilities; - -public class @GamePadControlls : IInputActionCollection, IDisposable -{ - public InputActionAsset asset { get; } - public @GamePadControlls() - { - asset = InputActionAsset.FromJson(@"{ - ""name"": ""GamePadControlls"", - ""maps"": [ - { - ""name"": ""Runner"", - ""id"": ""5b72a223-d8e7-4904-bda9-b7bc5bf92850"", - ""actions"": [ - { - ""name"": ""Jump"", - ""type"": ""Button"", - ""id"": ""bd111e05-cd62-4634-ac88-eb948971f528"", - ""expectedControlType"": ""Button"", - ""processors"": """", - ""interactions"": """" - } - ], - ""bindings"": [ - { - ""name"": """", - ""id"": ""9fde690f-bb27-4b3c-a7e4-4354283ff9da"", - ""path"": ""/buttonSouth"", - ""interactions"": """", - ""processors"": """", - ""groups"": """", - ""action"": ""Jump"", - ""isComposite"": false, - ""isPartOfComposite"": false - } - ] - } - ], - ""controlSchemes"": [] -}"); - // Runner - m_Runner = asset.FindActionMap("Runner", throwIfNotFound: true); - m_Runner_Jump = m_Runner.FindAction("Jump", throwIfNotFound: true); - } - - public void Dispose() - { - UnityEngine.Object.Destroy(asset); - } - - public InputBinding? bindingMask - { - get => asset.bindingMask; - set => asset.bindingMask = value; - } - - public ReadOnlyArray? devices - { - get => asset.devices; - set => asset.devices = value; - } - - public ReadOnlyArray controlSchemes => asset.controlSchemes; - - public bool Contains(InputAction action) - { - return asset.Contains(action); - } - - public IEnumerator GetEnumerator() - { - return asset.GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - - public void Enable() - { - asset.Enable(); - } - - public void Disable() - { - asset.Disable(); - } - - // Runner - private readonly InputActionMap m_Runner; - private IRunnerActions m_RunnerActionsCallbackInterface; - private readonly InputAction m_Runner_Jump; - public struct RunnerActions - { - private @GamePadControlls m_Wrapper; - public RunnerActions(@GamePadControlls wrapper) { m_Wrapper = wrapper; } - public InputAction @Jump => m_Wrapper.m_Runner_Jump; - public InputActionMap Get() { return m_Wrapper.m_Runner; } - public void Enable() { Get().Enable(); } - public void Disable() { Get().Disable(); } - public bool enabled => Get().enabled; - public static implicit operator InputActionMap(RunnerActions set) { return set.Get(); } - public void SetCallbacks(IRunnerActions instance) - { - if (m_Wrapper.m_RunnerActionsCallbackInterface != null) - { - @Jump.started -= m_Wrapper.m_RunnerActionsCallbackInterface.OnJump; - @Jump.performed -= m_Wrapper.m_RunnerActionsCallbackInterface.OnJump; - @Jump.canceled -= m_Wrapper.m_RunnerActionsCallbackInterface.OnJump; - } - m_Wrapper.m_RunnerActionsCallbackInterface = instance; - if (instance != null) - { - @Jump.started += instance.OnJump; - @Jump.performed += instance.OnJump; - @Jump.canceled += instance.OnJump; - } - } - } - public RunnerActions @Runner => new RunnerActions(this); - public interface IRunnerActions - { - void OnJump(InputAction.CallbackContext context); - } -} diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.cs.meta b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.cs.meta deleted file mode 100644 index 723882b..0000000 --- a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3698cf5288c74ad41ba892329e2fb719 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.inputactions b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.inputactions deleted file mode 100644 index eb95162..0000000 --- a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.inputactions +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "GamePadControlls", - "maps": [ - { - "name": "Runner", - "id": "5b72a223-d8e7-4904-bda9-b7bc5bf92850", - "actions": [ - { - "name": "Jump", - "type": "Button", - "id": "bd111e05-cd62-4634-ac88-eb948971f528", - "expectedControlType": "Button", - "processors": "", - "interactions": "" - } - ], - "bindings": [ - { - "name": "", - "id": "9fde690f-bb27-4b3c-a7e4-4354283ff9da", - "path": "/buttonSouth", - "interactions": "", - "processors": "", - "groups": "", - "action": "Jump", - "isComposite": false, - "isPartOfComposite": false - } - ] - } - ], - "controlSchemes": [] -} \ No newline at end of file diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.inputactions.meta b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.inputactions.meta deleted file mode 100644 index e2844b9..0000000 --- a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GamePadControlls.inputactions.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: c3d6a5f3edd2f9d4693efbb2085dde9c -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} - generateWrapperCode: 1 - wrapperCodePath: - wrapperClassName: - wrapperCodeNamespace: diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/Nitro.cs b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/Nitro.cs index e89c2c4..52c6866 100644 --- a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/Nitro.cs +++ b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/Nitro.cs @@ -11,26 +11,27 @@ public class Nitro : MonoBehaviour private float coolDown; // Start is called before the first frame update - void Start(){ + void Start() + { playerStats = GetComponent(); - coolDown = 5.0f; - //retrieves - driver = FindObjectOfType(); } - //// Update is called once per frame - //void Update(){ - // //once cooldowns are implemented, put this on one (a long one) - // if (Input.GetKeyDown(KeyCode.LeftShift) && isOnCoolDown == false){ - // playerStats.CurVel = playerStats.MaxVel; - // StartCoroutine(startCoolDown()); - // } - //} - //private IEnumerator startCoolDown(){ - // Debug.Log("start corotine"); - // isOnCoolDown = true; + // Update is called once per frame + void Update() + { + //once cooldowns are implemented, put this on one (a long one) + if (Input.GetKeyDown(KeyCode.LeftShift) && isOnCoolDown == false) + { + playerStats.CurVel = playerStats.MaxVel; + StartCoroutine(startCoolDown()); + } + } + + private IEnumerator startCoolDown(){ + Debug.Log("start corotine"); + isOnCoolDown = true; // driver.startUICooldown("Nitro"); - // yield return new WaitForSeconds(coolDown); - // isOnCoolDown = false; - //} + yield return new WaitForSeconds(coolDown); + isOnCoolDown = false; + } } diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 0d3b8f2..f476c18 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -15,14 +15,14 @@ EditorUserSettings: value: 22424703114646680e0b0227036c7b151b180b650d262f3d192c0e27d1e33136e7a923e7ee2e26 flags: 0 RecentlyUsedScenePath-3: - value: 22424703114646680e0b0227036c78111b125507233d28242c20137df7ee3d2cfb - flags: 0 - RecentlyUsedScenePath-4: value: 22424703114646680e0b0227036c7b151b180b6501273035202c1327d1e33136e7a923e7ee2e26 flags: 0 - RecentlyUsedScenePath-5: + RecentlyUsedScenePath-4: value: 22424703114646680e0b0227036c7b151b180b6519016b0515163936efef2776f7e93ffdfe flags: 0 + RecentlyUsedScenePath-5: + value: 22424703114646680e0b0227036c731f1415016439262f2434 + flags: 0 RecentlyUsedScenePath-6: value: 22424703114646680e0b0227036c731f1415016439262f2434 flags: 0 @@ -30,7 +30,7 @@ EditorUserSettings: value: 22424703114646680e0b0227036c78111b125507233d28242c20137df7ee3d2cfb flags: 0 RecentlyUsedScenePath-8: - value: 22424703114646680e0b0227036c731f1415016439262f2434 + value: 22424703114646680e0b0227036c7b151b180b652b3a27292f260573f1e33136e7a923e7ee2e26 flags: 0 RecentlyUsedScenePath-9: value: 22424703114646680e0b0227036c7b151b180b652b3a27292f260573f1e33136e7a923e7ee2e26