From 146301cc2fe718412158b56ef398a869d331d521 Mon Sep 17 00:00:00 2001 From: RosimInc Date: Fri, 8 Apr 2016 09:54:49 -0400 Subject: [PATCH 01/17] Started implementing player movement --- Assets/Art/T_Space_Background.png | Bin 0 -> 152740 bytes Assets/Art/T_Space_Background.png.meta | 57 ++++ Assets/Scripts/Astronaut.cs | 5 +- Assets/Test/SR_Player.unity | 395 +++++++++++++++++++++++++ Assets/Test/SR_Player.unity.meta | 8 + Assets/Test/SR_TestInput.unity | 262 ++++------------ 6 files changed, 528 insertions(+), 199 deletions(-) create mode 100644 Assets/Art/T_Space_Background.png create mode 100644 Assets/Art/T_Space_Background.png.meta create mode 100644 Assets/Test/SR_Player.unity create mode 100644 Assets/Test/SR_Player.unity.meta diff --git a/Assets/Art/T_Space_Background.png b/Assets/Art/T_Space_Background.png new file mode 100644 index 0000000000000000000000000000000000000000..703a3162253dc0811c024e4a2c4525572175f11d GIT binary patch literal 152740 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

d;AS<(}h;mNHmLg=Ay(vk@EXVlT z>qN#OyJH;x*XMNa{r!7*+*{81yvOVP8qe2yf5s=qmvuQ+go#hd@EiCOUqFeen%VRv zdUqbyx^{vkde^1_LGr*>2q?#C66TElq)LKf=4`Nx5}qMzU_!F524PeGU-pz*VcbYP zj~aRiGD3C`rt=f;{2R|fx#tq?IbNUGjXAX26`#kbMbG~AkI#UTc;+QU4>(;z1|cCX zRG|Y6{vGf=zDk5*fx0K82Ki0uxmuaV zsiM}P>!h|a)CpaoTfz-avS8d)2%E>r8B7>~aZrhHN^tnGM|nm6sDDYEwsK)qBBNX5 zT;SZX(Ye1bz=}oe&QKUNQNpel9ti3#6(zo4;mhU_p`T)I7SGp{Empmv!T*(?F;+ic zXIVljuCPC^P+sddeL&$5+ZRN?V~lgP-GsOusT-gN9In%=9=yTPs8f$I#krK4DE!Se@`c_FQJbxsgF1NGHQ*vJBKd$ ze(SGZU2v*wRYfRD7fr`c7ZKR;e(F#FsW_O~@0?^DiTj(e$Okiiql^%{5J> zdGRi3KKnX&vgt`M;TdtgM05y$uva_a+HU-BB{_=!;NCwo^=aLfU1%x3P5qcpQ(Wi^ z2$&HxbenKfKH!f53}!5SW&RafS$sD}5t! zlnI*bqLC-L8^f2fbLiVf@Snnlp@&Orqti2CZL{Kt$TYn#7Djk+7{EjA(g6Bj)CAOG z-$>V7+fj2IxU`m{HNUB@`=50vxr|Hoe^4Yk!~mHXravcC82`&8HRgBSv$P&vhImx) zXeE|W@ULkI^0oF5zHW*cl~GfVwnKassQj<_DgGc*8WZ+sAA zw#UJjF`E409qIU1V7>uk(!XvT-`PyPVI?@Q$~A`3|NT}8etQ(2uk>*tDF5fM3_bC~ z7^HnN2fJTxhZFl}4fu9guP^w_UbD&}xIeYrAaCFE8P<>@+lBithW3wq= zp?{LaTLonD)IZ_n_!rrf?26gSUV6f8cY_s%tW39S{UH)KcH@*KZ4WET%EyDaUW^U! zB0R+m)dBTM{%QotKcbHkdDAViK%ebtD)!q*_E{rN#b^?OTRigeWtz0t8$%DVX+l-D z(GAO3``qDbnB3?Di?=a{5MATXPKMsf9=5Sq!Ap*}c(&boX@9m+aotLUBVp>T4mXJM zkfcqI3(5j~G>ZWa5#xV?E+RG<9z>VB(Hj<~bR;b%$Jgr~u&JHBxdruNNpo#)%^v+q zn#fy}jY7&jQ<79KhO;tzb!=nf$mLWl62@T$tHqik+4*#Don)YSnyigdA*$bA9B%(vqB=3 zjE3w876=)FfO`Z2mnok~3k6^3R5aF)5p57qf z;%zQzxryT#ZyX3bo8U=8`z(xS+1@UU5I0<-f6X;(yyc{cSbqFFh9;pphRXf-$2>8W zpuv0V%0yYFZRCrz&2NeuEQu^u`ruj47KMgU;IEN#)vhPQ9;b~VE4|$HwSaZ_DQjdT zuX5u|IkDoO1&B2Y&^%)d7E-jU3uA41Xwo>`PK4z#yJyJ-99uN7$HQ%w@dSQOgjD$d z?WlD{FjH&%U@Lxc-K2f^7QwD%c6`EaMTRGQJECs*Nc>F&+*>r#CT}Yr-yYd9cx9fQ zDVf2y6<=9zTE$xww=Aa{OlCAOK4KDAo17WnmHkgCGl=8vOFb751X-hFFXW?09^~BK zn9AfEt3&=*37brBszwJi^7zr8)P=#qnBpp*^Vs{=RHc9*HrA@TwBhVa7J&RFSi71H0nPf{7v2C-@Dg4i5jxtp?s(vIL?Sgf~aZ2nF z*E3e#e2%shL)d%>!=^^$<9p`*jo%IvYn=qb3tLR=&}3!ZFxPo6p}zmU^*|i;`M-fA zl+j;-vXrWA5)iD5#3oRyJ0UwDsyjU=~_B!vsYCgGXyx#Fo$Q9Po=qN;CY?F|M={~X&{IdTu4MHo0 z*eYE%3CJ&Unahy_PyCTuU`9{eE#rt zfIw~i&+8phVQ8jS?l!{gc9qBwAO|MAJ^rt?2;#O!(}y+J4!*y}Ibx(g7)$m4Po;Vr zSIdx#pWahR-d8UmpFoxTZ>k~OMq13Wgw^$S0jn(=BG@9PT5rt0qRUy=yh#vHaa$N& zY;E22Cuk~j%2fv}ER1w+X7?s4Zql0rSKNG6oHqvjP7=w~6ibcyPm>m24nf(d$sN_#EKm*~ya$l7h! zPTbdAjCSi@~}T*IBxS|8#Lb4c+5a2lxN2)*xP zXCoGRLxG%&J_pSkk>=*y^fpN)V)d^|m)4kU1Hwc@`}nEp@z%{D$scN)-R_6NEB?0= z)t4|4(q>Q277KZ46O$*ZOKOc8917?cBZoO39REW3)c13&%L7qILs!hT=Km%vBw4+R z0WSRg5g7Uc!Md>PE9~MyaU-6*xP4m2l;+nFr5p{ytx@XcaSS?6gfiyq9u=F~6i<%b zk;6EElGh}a-KAG2R=nnuJFLCOJvr{cnCj>U6yS#;hLbS;InggzG};c>_WlZ*?s*!r z3z@jFVfTcnjq>25Ki_tXKH7%T$ST9#5pV2GG!(8lEfSJ+#r&X8%K7ZkIdn32c9_q`P*kTE{1-IePJfxq-UJs)3U z3EJ+OIlVlxnI-oqYSaIO9tkTb>D<_FQY&9}UT20*c7x&Hzg3c?D1AW=SKmpQe({7< zZV}N>mTV7wLZM4#9!i_$ar6*Lg($TakA?I!&xJt7R|=hbb5(bFxiW?oHFnjQGd;t8 zINQMQ!Ogi(NqxTzu+G*=h-uOo)g{P@oRi!=28}Qa)72XDM{b~kq6`gH3=Ae^C#6|8 zTs^&lfk(VqQTdxZjQb;|XExsb-jRP(I>s7v6f|oj)!84KZi2Qib`jS1pO$g~0vOI> z=Ua&{5wu`+^q@*anM9&wP5=7NrbIHj6$lsR9KcuKi-7#-6+st*r24!b@DnH$b{v)w z%2bh3$Z7h!_w;6u#Le?cw9Wp$Q+CswgdL@)nW-h7!8*g_H-3o05bk%V%>{{buMp}> z!sKc|{bEF21sUt3(=)_8aH%?^^hPlo`yVGHlB2|{!|RD`^~r3ia*b}u5mpS5Ck(tgi%EV%^{eJc#XEwD_HkTZe$}>7h)u8RyI<$7* z`c9eFhnTVE6*a^^4mtozkXD#h+~8t!eU%p<=$va>X|EWgXi3O-0O%e>^pdAkeer^W zv;uNdZ({>aVVNyf;kDTlE@5#$id!xGcjC=d<yRX%3P z91r)Izsz)AhIaPHu6Igp?2SH+J9qL&(P2v39ha*Saa`0?A*3}3(~xXWsE(y-z+-w( zZd&+V{s*WAr(AK)J%76$H<=g0;FXeWNV<}r)0UMs%b%c081{bo5r4VI|{=E)I9NcsCw*a6`^Y=PH3sjd>d|UzxVBk2E<) zG#V%T`7{SZlNrh_VMUGsw;Ny6c7iamVd>$1-|Us-*S%RrfINl<&c{**vGe>-?i7j>PUrx zeeK+^`$L+8FIDFJw&djKiq&lCi%1e}%gU6U60;W?B~zCdOFrUX&V9a*gZ)|P$WfH) zX+1#HHDe8NyLO=UzO1J z+g|GE4Y;(sDYiPAx`EhuBPX13YX3XR?KAmp&M6)5^h}@bmNG>2C&~Woa%>@36{@1s$i5o6P=tTk8$r%dt79XYKznxXM-|) z|MM|+;1$*I?~fAKOZWobiCEY$u9-MzvmD%X|4 z4saDY|E8x4SS1lMP6w}>F|d3odN zj0S07i?nVKQ9VwTFQZufQP`BNi6kYAw0Vs)p7X#6#{Rho{R)BEZE36K>VCu_Gl%l- z>V0SzV0#R-O>@MFbY`$rWaLTcasdtk8&}f14HZtlNPuuhv?yj*;ZDr;O?#%G+Fpuy zt7B*nd!Lkt>!_nIhLx!&=SX9vdDz{hcxjLWJco#$gU7_Z>TNA(!^D2hp#g;Q(Vj z5@0j5Knr>JTH)7^+&R)=n1*WW$p zS&jM8q@j`%pIvnu(3_4$^TG>_TIS~GGYM8E@=(tqnM z2p60i@##qYU$n$yX_WP0pb> zciQWdE})FWK)ib$;Kx=fHbOl!|3Xb1?}f9urM$CT9g8aLQ0<{P+y(azb5!{SHBc*0e0MnQnJ9}^ z%?jG*8sZGArR6j%nlwA*+{y2;hr3MQFCNB`NS@+x;{EXJc2ZhBH?|x%7FvxLpWV2f zw(zY~tF!CyIsc3pB(grZP?dkqt0*C(9d+Xz-=Z2lTYHxJWkzb0``JC-aAA78UO8aM z7f;_jMb*stNKszx*s>Eqg-gwrt&G~HB-`j&)b^H7(%w|3F zzQ-w9L>`qKx5za9G1s+}SJZQb4j?93XKZh-C3)3EFrY~ybmM_5qZ=T1E8`Q%tfakl zWwLqH5(ZCJ$oIxI{NWj>QfU)sYKPC(By?{VkQLMcs_4(8Lqp$bXyWW*1 zdm)Bqh=H?-F-X?R)QNN03P#G<(7qG*g@|R}QOn2n_)r*)GoHKLw{|@=(Eo(xBHa{x zjr6IBrSD6;wd;$m7ESr%9MYXnZa!UH8(p8zHE*m}E+s>atW&n!63Osy*$P_Ge#9>{B$=ec*ENiED^4!c|0vQ{NSkV zfOouErBV~gaYIv>Y$es=65uAXIsROcRK58;vDxlbcjGOvxo)LPjs4 zQ9d!EB7y1>a$iun*9C#Pc)o!sYCRH;$FF4MX|9dQVzy&Ym;hp&-stkxusC}gW9!?6 zEtkjTyNw)eH?3Z#CHA*I(qNrf+2{jnqFSL$eja)+8K(Ns*FspoLuf^+m1`3C-^R*m z;KMTh+6htU;ae|3N5GHm$>!8DG2NFc!lT$P#AtZk1SW(DH!ICR3S`6Yx`jGluz%%5D4p+&4~Ck?#= z{cB-=O4<8`eVp) zNTgyY1&nlB_g9DV1ke1442ef9DED__jQ~)3!c;>9gulRdD$2sphJ^LEqL|&npIu*S z3DLvQaY-<&w}pA6y&NxCc%zWrs8Bn?TV)>GYUQtZMJ@olH5%aAeL+Y4{qZ`W%;ZIG zg5Ohwzf(a=TQE<$OpG*)vbuN>JLzB&MO%4n*15LQ!fb3iiAg8b@0)k&EBnZ zW0ed+qtvt=EoqeQH;@sh8Gt2By7qW$kc|PS%3%+We6*#l;ww>PpN%15Qj7iG2^0{}$JTt;R+KjmWN~fd;*R79DVWjbOv|02w${-5wYs4} zg1;Ux0b}Hqh_~JED9&efqrxu(cYrLxya2!|8OIQ|K&I13)tm>Kq=;ggcn|WWuKYnJ zK{nSoRpgsh&l;2&+ZO|G1o`TcYz%s`owDvw?9XPI0DU5x4Xu0R?p+>^xy!B>K~?4g zB~+>R#OTp|cjTWBZ56wPjOs+7s)o(2HW&~^rZ$a`7FsHU$7eskP$KmJLT zJlPk4G!hxBV~df^7IL>Krl=r6NaOXu0(?`yu^O82Lr#x(G-BTRWJYf%EZxR`nTJtUF%Q|@FitJ~#^S7B);nK{{$s3?q zXZIRFKcJR=a!y|7ZM(`|EX89NtSx$gV86L-CUlo8-(xKTZ9dL8?S>n1XK@Z{Pv3V;qbhfHsf~}y349aPgBa0cwp=6#<^?Q#%wv0L5*fBFsdpQS5h^Owk?dE=?54iYg1mN?U z_3o?lsp!Q0+r1heVrJ@BR1jY<`T)d)zyRlWVT(KTfqrI4`*2f^GeKE$$IOJL(VJ@XR27P={g zWIJk}o%jp65qM^?XChzZ3v$bF^i^Ey`GX}3GP&@z6fY6F;nQ(7IDqc&&a!RxXLQ9r zZb9`CA*)yU;Nmjt*6XmLd|Lu_fw1nVgBJk_cHX#vsK=l~-yPb!r#&c+a-cC#Gnb7y zCko?`UpTb0YytR+jj*@eJ~RDHoMq+{_dkL}?97@%Y`A@~Ze$3oFE~XaG^@b0`=>`+ z) zyWsLjVWea0Ogn@mn8iCH0B*88dW@%v^bEuEP^kL5M}VobN9959U|eUl=gaGA99{4J z(Bi~aA^jOOuD;)`2|d>E4jE$GyQ`C+UTi;cK)&goA+^0B;dchw5{eYSN#|6F05utA zA<|q1>a^zBtxk`#cM}$SnmHeJy@s{kTzM3;Y&3KbK&wb`1phuz0(iaA;tdcSq7V~0g^FjG?az`6jO193-$-w5S_v#soHaY#$ZxZ@8z z%9k!8Lo2M&0HY?JPVhsM4Y`60oP@$u8H5czMbM9;)VnRy?4Q zoipt{xKK5O!(sK^=YOUt%a$NS(XWo2cvBvnH>`ESn9TJuvdy$%F7**e4mGkgt*xmr7Z-YR}%O4@iD$Q&G9^b)Jft^LLhgP4+iCDGB(F83RKOeNv@DMZQ;98zPk1e_46XdaUk66KKR^gc z*yjNgWB)6E305br-WXCVd6{ zSLlo^JgD3t%BHi727+)R^wKdPPNnzd)Jkp$Q}-T@(F*p}M5H}ol1cIt75H7Kn&Z)$ z!l2pny7+ejiV`DsC6- zqlEXlO;6zU?$$`*&k=89ChnAUA*GAnXCUs~>zs<~g0&BQT?($9o?el8rHL4jzNgyO z@2BZ-DGzc>C2uL=sW&=iCn z(K#4bCWm5kJ2Z7T5hY_m=9Q+^zJFVh^r0`~PwsOlzwoe}q28G+HRKlNKR$zfCkcTC zhVx)IZx~(L?b=9-BUE4!$v=rRw$1JZm`iGFhei!sePd40G$0h^&cKisEpgJcy7$lQ zRQF3PwGP}tIHE`^KVr#3B&;EB474dnb6Kp`S?99|f&7Y;`TO6cP=l)~s)Wg=b+F-f z9HK1%<=8qR@dP*ofCG1niDmP7AYk}jQ-WUtPvmpru$vfR-S-A8Qb?JnV(3wA#vR3N zD66UtT+EWQ2>2S0&OrF1rhP?dU{94(#mI;FDlxJGGDBmd!wE=l;F!liWTGLIw_57? zLy=D|^|?tO0W%f3w9kkWbZ%aceVXhU=p5Q!1$Fub5Ed$(flV%2N76J!@24!>Lsuhd zy!U=4Ve(UzS|(v8pgBr*faZ&=gYcAOE#cY|Q>8%>;1i>~2ZDY7%Z~Z z!q_^SqLtgPetkDghsGj=>TfVfOUS#E0FP^o4IcRD2D2Z96b_QX3aaaJZtwo-*(P-m zHfUi0u;u%ilgM71W}6C>Ywzp9cQUAafua zF<4R`FJ%OQvVJP5=MQs51Lc0ZV=F3wBe>?S8AcK`TD&R z@Fv1~qTd6cgVh|s^RsuE6J3Wu6e0$iaIImG%JN?9fav48lzqj&8BTwRc)@m$spwc2 zQW`?iL8;);UA=&S4HR;U;VSuy9Wl%HM(ytX%S8T{pGM@PsH0euBxJkavN9KYPCCW| z1M)y{XL_3dtuh}VUlf;yGI@%qcrv8!=B2(HYp)Q6TXV@fKwSmVEvRrTlcBHLL6Kb@ zrK!NMmPPuwvulF-yy>45=0Y~u$^z4L^;vu9P$Nnoe(rvA^H}Y7BiPk@9%rfbqQ5~X z7ShGi^oA$Z_rqdroAI&Q8LiDBOgA_!!TzYE zZq0{be;S0%Z=xs`fe>7eKzUfPlT;!KofY~G^nfr@i46V4cUQ{;%k+FWy$%YRwI~UfRWIS60 z$mtWDHGSSr&?iNDW0~JU?5M0I?R}lilJ_d}DPncP*6LY^8B)kcy9=#^EsO zN{a-j)v(Q9#IQ=l4!*MAe0*-4h7BEUeF{(8n&Kisr)6ow`3eDOOV5<_MFg&q5-pLHY8oi?EY#kO}=)5J?NZ1CwW3I+pl}Ab!;WD zKbf9jS&-mW7f04_gdTqAk(<{83Qol!6$yP!Y8u;YT zH#@ajEaksiz5cyd;-NId0K)p~T0Z)*fq{xxQ#dv$Q&4e^m0Dtw zcYx6)uaRszLF{=4Fk5TX?zU4;Hw#A`vk+V#BeT5_+Y^3UfB zbAvtP+>NoN#cYl3T&-SqJ&o7dnYAxc)eLXKpa?Q*#8v~uuxTadAeN~DA|8~iOg7a~ zO=00FlvEtJ^)7)g`zx=zEu4JKExEFg8!+R>m{Gnfue`Ppm7lNh7w7w1J=jxd`U#z; z#2ag54)yC=tz@iHBvl8Tk{Yt(naM?yY@Qidb6++Y-F*)8^`n(28_HH!2c0P%rnq`d zjzjr>SYs}v@B_lS<)wH1UwnX8rW>o)gnDAhwZ!83laESDm$I>pGB}f=ha5O;8O@-F zX>@A*yZPDj%LDh3SWvb&^MmOb6AG8qlCi3zShjQ9x%wa~%X=eQGG*sjXRrz^LB#L1 zSZJ09v+}j(%`MiqLp{ME=+7-2N2?8&V`jV zsDe3m%VI&IeC8y?ro0osj%?A_EA{-5u_uPkW0XIWq*0s@E2R^Syi|a%DoHf2(;j|@ zKrpR=U==A#&XKX!IHDg3+0SptiFRoHqc3VArix+*p1~JIW-|#DI&2G@Mmw?`B`?64ij2|a zelisXaqeWyvS;*Gi{==~LDE}6WMfKzIWiL>4+3>+o{EJCWF{DtWv7B78~W`bO`}P{ z)skasGGs5r;|N#N;RHnop$vpqnx28?Ds=9RgSSFKajjSC#u3~2OMUCVuMyml1tc4i zY|fS?K;8tlS`h>=U>e^@Sy0QHHTrd`2rL8%57h1-#;E{l1oF|dj zNqcLIfXkrKh3os9KKfv{xexz)8YX`h-EkQPHWLj2BdK0&<9GnZAp)0=UVnVzb93-! z99Z?CpWuoCc@u0eBdh2GX9QGSWhvN|@cNY}R&e=cb5${#?uIDx@9!F5xcB|uT)kZDN2wd{|1S`30*v;UU9g%k^D<@#*7by+c&-*9i0puTm__;ppE z4!fe;!gMZV)L}=2&9XU>Z)*G@pfmG0k{8y9PEW3%g(VcZXtyDSgM2xV>$4~qLhy)d z>v&7kn2E8h>>;D~hj%W)&b}VK3J53qyq0qQly(S^pIyxy z2SB<41@=cG1w6lj+i5u!7hz58-N3!R6^CWxpavaD9tN#-WlX{5cEaW&AuWe+hr|DV z!h^v-;jm6T?oQe#7guEpzrb%oWXwQ5`yF5`6j}wbQ-2Nx@69;5A8PeWy7Ng?)6cMg z6+6hD091gdYU~i>YVW(S4~Rnm<2YOU?AnvK^MPnAQu>B>$=U)_d*23ExWidN-7h0jt7oFldx3Dk1th^Zj%~3(;e)S7P?^RuD4u@#U5rlf>V95b*Zv%?p z`9lN{hr<0^Ye3+!7YEvJy*yXh-BiornOD{G^_DDIrj>@&cDj##kxHKX`wAHQ3ICYo zKt`dcRwS^+Z=wKmK>M?8x6f=x2E2kq4wJslT(sm7c@4#=U+N9!Q!M?2Eq|4!&DVG; zK&wGDBTjDq=H`0odV6)*%LQ%@X#=QAjmB+y5|q)8i7ET!c#8;r$p}SSvI|V@&+yqJ z{9y_yNE}z`2d{mFnWK7~L$Ox$A)P#pW~Z z8U8Z_f0vvUQgr)1+&at5xH;v>&AUZJ*+jJZ)T*~Q73vxU2qTwomnRWDk{$-mS1FQ5 zk+U%b^##s$JLx9yS&i$fy3X4-N9WZTj+Y>LZH>2}%N;e_||^o+(V-@~Lk zI_{4znML$jMOj&F>1-{<4v zA#Z!r7tXmDkrf8ZBA{xE`dYamcm2x}6GQ@c+ev+cxKH!}Zh|7g+LE(Alk4MCdMXp) zH%=DCg66&t%onW#PA-%qth|jSU%c}XkDk$n*rB3aa9pVBY&749arvMAv7FhCN}s9(DWi1yk~ZoY+YGS%F#ili%@ z@-$gT#ES^>p=5!2gjw@@_ zAmslpqupaE={XcLnB&qduX$%?NP8GJx4&#l64k}k*`2pFXx)6{irEZ=3X8|1-)TvG zw`5!JiY<6qXaZ=kl5O~vuO#+;3!bOphWv?{o`HbJf(Vf#O=KvHZ-K%g$u^hzPXCCf z8bas@B61SRWf=ef0aoJcoe%cMhJlvT%GXIT?xK7$HP>!*!O=(Nd4e4f3$Vz5u`>lyGx8c;pG~xP-W5Xp?D`g3!+cmj@1p(Wmv+;W;e4yOc~wPdu{Y$ z;IE{E?@yKTev;E}g>VC!Yw!L>`(l42X5b9RBfIxrt%*;sN6r>w}NYt--0=wn+4jszzja zxyIs|Mm)}b-eZ4J0zmw`41P-e`RA!08Iqk`XLaVsu0@E-^QWeBD zBRS1x)r>sOeYp;@N5@|)BWc420m?{BnPW%y?21fL$U&<&=7YW3mhfJ=pdanp^H&Jt zf4j(aff~Kc@@>!-ujJ@|f484uj9$1xoaXWJak=9R9l z|6L0C>i&(m?WHjA3P;``|IR&D?3yBVM?~e|N-w9Qtp$dQprwC4ErlgUA%CXkSF5bdgPR-PasPp|UN!-1tRrH;~|>r4dTz7DS%9}>77X=}l&&`JM9{V^TY;zrSFAK&jnjbKiag?<_6n7#)5C<2y4a{u&t;Chn*z|X zews-+iuOFT8mPFIz_G{=av?f0@hUj-a~MM&O(W?i_p zjxL20=k;AH{Sf#fp>kvT=%P%F=ELoHmQ>=1@C1k2Cs3h>WQpq^(SbUg!Ho|~1RKtf z)rg8ng*%rqlC8Ag!!i^N!5ND*Fn+C70v55lW$Bl=Jg4$ zKy61Fmg9bqTaBA%H_SPx_h_C0jHukP*-fGyQs&}r8RDo;2JLItOZhQQH+=WIOX zp&9hxoSWnQzQTk`v)=y37RE(kgDe)lHh-s=BOuv36tG7%-L7&5*FG$%U3r6$OQJAO zV!kHEvub$dJb@#C{vdryVAii!6%;J9tZI6udG-JuV)lg;FmRY{*|wveTb#3dvAD=f z_s%VT+U3S!E0a8j>GE80=BBc*Zau!GZ^7RQ;?zHw>X(Aqf-*9y)Lc{D%ob%2zSK9o zRtxkra<++x?{ONt4NZ-c4U2@erU?V2v$23-ai;iDNtsxFr+u8!HvIF9ybALG(T(svO z-9Y9dV%=`qMccjVZB-bQ-{=9fm-cD^#5_@ZpeqFgr1F*=ud(HXZE{z0$eNCkI>0bm zSfP_kmW^}_^~*p&&dl^!Ls+=~tE~#?)Rj8?&hcQR>-bUacg^`2v}qEs?Z2H@Jv1@H9Co+iwu`G9^t&SEuxZE4 zOtGm-XQU!x%0riwaxJL*EJTiP+esQaPmfKuI6oHLel92qGDmK=y#{wXfUthALvz@g zJR4Oqin;4u#muPnAwW-|*6)VPO96_=w1{x+7KvxD=rEG=SwmkCg6%AP4TW7}4w7-1 zm1uHU<%U_+2cmeFm%G$^lY>K%(0JN;n<>msv_$B!=*@i5ndiG)gU9*NbZPL9-|qx? z1=*H7$jz6eP#kRG{KGmdAP{mP=w`m}w^q`WLaEiXes?pJGWt6q4wmIyAF-9Iz?MyExkii zJ!M`UvB9`-tVS0ASZPr){{uwI_a$DL_fDmZl)%mWE3+He0HpW3sk~52AthMa&7dI={ zGZ|tKxyqS60ztMQm0!V0`@C8;pOh<$V_#L#_e02EH@9E2{QCK0?@L0^j+M?uord{U zZO{vGX-i}a_&*)I<)!$gyE(M!F9sK_bf8MIyBls9MOn@CUvZlmQ=1{|a$OmpLUIo^ zd{adrHgz2kaVe~dr8s7$TCr#VU~$S>&MWO{1dLec*yTPvxir1P`e_T-)ZzC!c2KJh z9t)6YtXn;`@@@60kaD|AeH--e=vi)nLksWv!4+}X&0-{qGahU2QP;}NwoajN?W}Pu z`B0n~+T~1bE95oEVA*3c{yKLNJl~474`@q)$K`4Jyk;#Dsd6&?6)fP=K>aqP>vpji z@nj}=YUSpRwL3`K81LRTbSkW#XjT>=$en8eR?hz(R7iheTx8#I`69%pbA_=3FQ^BS zN)!xI2g+T-kmR%bJ7dEJe9fg>?YN@OF4!p{a;X)y0)-e(*}1lk{%4@1@swF*#2&+3 zK&-o1qfH_006>0qrV%_8ZI#rGx0_cuy$;0#;rt$~Euo(y%;uwO2v|IUbD(ES(}zN5 zkzQWMZlj4*eDDsuHPS!Y_rGR(W|!M-JMCjN@dHspUCYbTe8zkBLY!~ah|o&DW5Vb4 z^;=$L*Oem7(lZu*z?tmqdQ*LfbzwBQ2Aq=Rs<_-%`58bmIZj8x7vx>Wd zwGmj28pZx7As`MgpPeic?y#Csd}Xgakr*=4a^iD;oC^Yy7T!vPK+NYv;c(Eo{5E?# z-ZOQgLMh%O#MIOr$^v`o|Yh=51kO06T66#$?bTzFw|*#RKZIa z6rilbia9DjOUDo>JJvL20#M}vIBPubqTOkUnqU& z1uwTo(a63SnigQp+l7=CK|8JS@2o}nZ65{>Sq;2Yi6ChyfR&)!mXqNNZ{rt>L*=J~ zpJx-pz$2c?7}5K_UcJ&;nGdc$p`UUUNvdRYYGT_@!V!NqZZ|YoS5#f`%eozV^Ot-n7 zFh$=9hvija=`H!As{>U_>9CMcOHJs9tvLIrL}3Lg4UtTWtuf^0rtTy;vNVMNzT}7> z_2oDD?)Tj9CTR3~0qRV>Li^!chVxv;X5O-&fEr4;wTk&TotYe{m#+J*oeN+cBW zGOJXgcfmm_;vEDlJvDex6);rXl7$=qN}sVdl37)iAm`9$&bq~`d;p1L@(@GRz0$1n z#FsYZcVJ`&dQ^#jGM_R&A5D;`tR5*vD(HY7rwS+*>ODPPDE(yFG87IPia8+YQX={9 zV^9egR$p3Fp7;S?$%3-&)x#dej`Z{8CLu-ckGhtHkn27`x^aM>Co}%qh8KX?R!rDZ z#qdWNpxPv3XHYrR7M(S?+ihZbl`y@u_FZjD_(p7zD2P4in(Lrz8V!i+6f{3~ow(kU zav5m#^g?*qxBz-jjJxim!p(7!K11zyj|Tp70^v>7XTc9X7Y7JYB-aVWjmzw-P{mds zpsY`_fr4s?=0@8P(SfFHxlIl2U7cFQhf6UAATBSY|c9A87Sr~2O)YLnty*?quvwW z+se^MsJ7`PGX$`Q1;YjEy)QjXkulVrm3v1o^3gRE=4^3@tKHd7T`m>RgQGz=zhzB9 zxy!TuLD)u|36>#pxlGuQ@*|Cw5>PUpkcM0lb)jnv!Uh2WSrA(qkb}87jXrs!k&wanlR%`k7VwYU=yL zZLUSCWMm*Qkqj{#X8Z<6nj9NfffoD>P8FZEK@lvDbV3)pT{-1Mgbi#++)9drtHnUa z!~G0DX~?-vK)eP5IauKsYuUqtjAFn^L^7uK`_HlJLv|3`fGZ7TkJ|YyEDYbevo=^O zprm!)`>u?gT-U;MN~X_p9uV^Hu03+CLx8TXrb1aurz`=K-KILHB!pDp9gOJNgJ3N4 zZ$NS_IcM7zzNdMjZno~{IpR&U%}aByw>VeZM3m)FZb9l=K1>x7!D&@=%VeFj9LsA# zri6~_(K)K;MQ0434Ro(y;u&&0>@qyhr1|!`1e)Iq_mSlbn{R@J%*^95_udmc%@gi+ z+r@Gp&?y$Km{7Uled1Ax;j%ZuQv1dt2)xXjE{D{9*%}^XH0q!u=^jQZT1kb)lEWX9KzA2F;OIu)gfHk}ZR^60&fV($RG6JcenQRkLa9PWzyEV{UUsYhmjhF)bFATGsW75ed}MJpC>-35;<&qidn`3jxDKf;@v+8v+s(cIE^&R?fmxy1ZMZ?E##nSp@i6%OgS93J+MkQfo+_ZN-I znWf5bpMntEzTNmiyQR$XwWDbu-v{|aF7<_qey*I~yB!5hh&XCrx97l8QJ5lrtg}6q zR6!#buK(74W%%Ug1X9P-pu4YTNN?&nRXGJPgTekgj;V|QuSoQL{-C`9t)SOwHG^tSRid0d3fofNJ6 z#P`IM?v|m45d8O>r^rY^R&JPi=A2e(Ab#OnAm5$NOD=tptE%)v2?rvdOaE^VU=R2 zaKC;H`CXpryupDMr>+Vj79QE|{biZlWnt`+E02j({vQ(q{JZ9exyrD3W zIyqyZdeja|0*tkVe9%w#P((lb7p(}+ij28MTyjVDqm&T;a)R=;?E^Oy-Dw2 zYZ&-;0r|(|_{1(mAifLul&xkZ@e77ICyL?zGpH;tG6laD@y@i`z;ld(oFaDyQ8B?9 zd5H*LF?iit`Nww-g=c#z_$)R}+%dU&UE)KYM1EOY^Q42Mqd1()?Kd^&dwP3Y3waev z1N=q0T&7Jvr~_D`Q{B1U{k^n#Y7+Wg7Fi)ohj_e1x8vjo*d2{WA71KP2yh`(BLFho zG(QLGNq4c7jIKQkZjEn9?>Kl}BHg)|SlD6FX#imkkL(MN1f>9!-UOQoYM^H+VOs3( zlZ6^xE>z06WQsD+?ycTep=PU%zpNUV{j=Y(Rc(XRsvr-*tbFCbEp1T0Z2@_D1Yxx# z^jxt&KdEbfmKS1|;>P9^DLLYAYEJi!=j1Hrm9;fq9w!XrUrxz+y3tm{%*v~XkeGfe zvKd!ETvbpn?s-J?(Im%gZn4-FWxI z^&3Bx*lOO?kzjrum3s>!|C2LSEGJ=>VG}|=b~)H$!3+Ff`+-~t%Xx^(uZSq7O)|H zr$}PC73?NtM=b;8gC{jJ>ovv!00u@88vA2N<2D|KHPs3U?aLjMdkZ5pG0Z?^ zQlp|aPUdT+=rLsEKlOx(>bveIbBK_o#r7QBmVXBWjAHl+`I%CMuRBai|Fd9S{ey;o zya49bb>F=HH5xi0kDIQLEa zdLbOKE`tB^a4(SvRcm7Lbwg`H7+bKQ=H40?;%$CqqpYeTCvk zi5-Q+%5PBLb_}bMQ#HgHY@Bq;hQ0EJ3z87ZIRtDfaVe4Uj~B=Q1?k*T(PgFm)Qz3& znetY*&q*5q7_NkS|KQR)L6i2>R^4oEqf5FD^Har%<*zAW&ZT?#&PA7a7 z^trqcbnl>O6plYaKU34X;UoIbu@1Ye$kQ~ zdE60>ANQTwOGSH3eiVjbJwP{Q=WU@zIQquA+t21lrhSL|+yc3w2pE#YqaU7i4(0k1RF{rQH&F~@`2;uf7oih^SWcm-&}C7k9a_ZkjkfBpn#qB z)QqpMQ1IZFMe3<2TC=vX{cZe?je62x)1Zxz;+XXb_DE>Rwk3EtFGI>%>MaWyBCpF6 zbmD*E$3UxYFqJCy|0=ob0-IA;s7Cn8i5iluYCBKz*Z7ZzZ(gaRb>S=&u$tz$`a4w8 z1j251lZ#w-dXy+zt^`m5U zp!gh1Y@ch0uc+h(-E+u+G@*tudG8=HwR~a0UOq2Nehu2d)r&!0B2>yX(?CP0W1*r1 zc1~$z>CeEAi)Ws-y@DjH(v2_IXRS6~raZy8_|3!83-75QDkYE~@2*)%K!(X|d3Gl# zEPEu54df>~yb$_TBW|2VEw5XBfX(>4>i{1xBHTQxU*zD8(fz6qjlj^C-+BYsov5Cm z$=;{pt2;DB-L}QgMQDJ~V_*c_R<;2>lfrXM@7XB20&WjpkYZ8$Yb52NJO&5XVZ8|0 zpdNmA@d~8#H`w9&J%r`%mI?Gi@XHfGwzE*9PjER|qA?J`E1jIZ{*8C3h=l8Y(S7$9n#9#GXyZavWo zgk6fizc$zgjv+f&WhFqcTe2dHU#nWOxqNs8KIs&|sTZ}cp3u7kZFLU5ThHu12urMj zC0$v%YrXonZW_9$Rkg2+99hlHXvxZ1bGF)jR7O-+N^v^7^EI+PpHferdkiJTb>e@BPtZtlB$Jtty3A)vhIbaN1AGW8D`)Bl^zDYYEPjP2& z*3Fi+Q1(x*5^|dB^rqL@+1FeSNRx&Yu2=5{hkk%k!fN`o;MC9Fxu1bo3km{W`@NBc z#Y^knFp4V^Tl{E%zcUO2U^j>R;JYyA0yyZeK0o+w2IovTb-1(7p~)O0_(ISeNMaUhMu=8-3y;EOs?w8#qxj zt{Fc*T3&-R`_%)O%Q=5_TSnC-yz=pRQp*($OX=f~uAXg&E)|^==A)DVakc3~H-Irr z_%Mi+hSDSpKm*Qfwjy$EgjuKdf++(=^W8E;XJHGsdt6xVhyQ!k3H}9t@az&Gx|Pxn zKC9kxn;dNE8A$oVsLbu{NWr5CawcN9qOili}+H+8m zS?w?fT*{y6sylu!(k&fi}qYl+cx|0j4wHLxt!`+x zybo@yqA8Ye&*oE*hUvFm8h135MNB1QSL+#j`1#Wzil?R_8 zUWqDm=Q{29Xtt~a+(41K!?k;mdNPh%-OALQUfWUG*sTM!kows%?N~)1E}4p*JMLm} zj^jk1LtHvwiVS+$%A*K#yM?kpD|NaTE$UzAL4) zP_8NyHlQE=Q?CJ#PuNqTLtN zIub@6{FF}L?RV#oM6ccA^xLX+Ew`7a3A_MJ_0kFMMaAl=M6A`}r=&5*EAP+mVC=Hi zfG^|Re&xDelS>Pj$6sYorajx4_GWK2SdL$)`FRPzW1Pj1IxZ+f2g#y)auQW2xZtT} zn$EA;OWw#qvJNH2OK*2GL$u|o0>xm)TIg}W;Vo7k3eBc5(Hk1pH)`*|h}6t-p9}xF zKPi8{W*?SqHp3TphJ!vxuvOYYeCY=df2f;!$+T84%G+6*+(+*H2814X;^YVGPHPR3 z1qHp&r$V1fU4%p-@e<^+r{7$mZkn$U@dpqiv#uc-@s!KV;Fn5 z%g|x%_1nGLq{%w4ABL1a(h0G*5X@x%s_vGJzI4~Y?D<75y;ScuZ1w|tiCN%1gr3Rx zE;aownfC^3sm3vw!4Vm8PcCu7ntA=dHPb=I=g|?tUCkz-h-fSv$9nPgjRjB*uhuMn94L}b05wl zaU&{3NkI0M01M6PQbm&wWr-8M(JzLeg1zZlYsd(#L0U07sXvn`N}lI391r?@E20aqy~ZTDBz^!RsA!jEWC7-?RHLvsO5}sC z4Bg8SBuN(kJx_vR1Cpg@z?9`eswXz9LjN5Ra)nZdO|dS1$Y;qBnvt>c=g5%Pyc?Zm zDna|j5xuF#G3d-2Y6iy&y|)V^RW}+%u7@I_<^?;Rv$$~bDDxkWGHAEYP65R`cy!NS zu31Q6LbCWza0xhU_hLYh78GHa3Wdx}`za@*VtI_l+1p;5web@wG@dxpG9D=#U)al} z2scmzWW>);v~#e(cAarNqDv($AqFc0ZaT~0d8z#9+y6*|`+~51lO4$C6!-AVUY0i8 z5D-fc{b57rXeX1QHPs@75fz9nkCBw~lxSBH2(u_z9G0$(a@I^v%cSqo-uWUHV1rk@SBw)Ux`fie#vRVC;Yl;*`!m~%9KpV{wD zr4e*tz-c~@!+QgmA;6cd4x(1|-`@^_C#a#!mN0z)CE z1;m==L|b|W3iue%_Z19*c4gVeiAAB|Qjcf4Uk{X`8;Mx>B(}+R?etS(!qrf89j8ld zwkhTgnaPJ)HQYg@)|Av42i7Om$66&GzK= z0wysW7kSldJlRhxR3GPK8*Sno2XBYXb{l-!qr?BRV)n;JukpLqKvQ|{qyV*+0jRtF znb&FgZSx2b(cy{i5bZQ>Dwr0sLhGzasX#s2e_XUv|MMvq8-URV6Q4%HClq*G*=|tW zdBN;vISUa25t|F&40lgaFHcuEvT8%Yg1r7d6U!o_Z%`camPO=a3ybzE_Yo0>(9U2) zo?M$!dQqndp69u<0=#bDAb7%{|2*MMtr$x{w_fO^L0ab^7c-G0&?CO`FEi=jVf0I) zG3=8T45TUS)>#U?>9(+D1%{?|afxBZebB4Uf^K?#W9CuJ^^Y(}C?g{u&Kyvljg1Xa zR{a!jMsTpeo=}S(7JhnaN!BmFViC2iC*K3_o~ZYwo@`Z%+jyEkUwe zyuS&AR2)1b#~T|k;2FMU@X;m6yvgonYk7fadk(n^Elci1dRkJequ9A7hEh+mlH79J zwwjo&X%1Kx!y)Y_u=P3NZ_w{21{AknFgx8Dei^+dR}6z$7T#*73n#(5$3fh{#&2ZC z{w%vY&TAaD$}KhXG)+w#L^G9G9)mPVQO@uJ+vtI)zm$$hcjrkw7O&zYESW`-TI0x} zdqAb@6l^P8riM-0zvAF-0N+=K>Ex^F;4WS%a{^zI5r27ZUD|7$jk6uHnYXE9bBMNC zH{TEI>%DeaxmFGV@WFhO7; zee|q7KgBNzIOTX*YOk!~bi{6NbQ>te>!RC@nFw%UpI5a~qw$c^Vo zH<^`{6~sl#t{dX7Y1FpO(J7Z=ZLUFg%)*=P!-CDU>gd!Nvp<{h0vjcpcp{-KPE~+- zU!vHmp!D>;s2+)+s0x*TMJ$dSKYd7Z@HO(_{9bdQ$O|eTr5Be^in2Cej4X=!2gj(G zU;4_<-NVgIn_wKXYsCGN3#*+MJ1mOC*8BL&e+tZM%WCr(*{siAMNfMr@sMmzu|z+- zJshcAUrdZcAkg;;_)-Wq`X}@d+L-$GO7h>GHubiL)oi*O9?1iCaKl5ihqLp=-0EeW z;ZmPbbG2VV<8QV);v5=32>J?dE^s8(HxHBs14{PPPZoLL*d>HajY>bXRM->W1Uh}> z8%qr8Ld+@J&%NJBF+mAW_=i8@@=@b02kP^S_KN9uuOSMz4^0?sGx@u0BuFFs+(zx! zzVNlOu9Z7YA85wYWnXWDYn}gs9w)ZXF)TYU?;{`b;dbSf>;M1!Zd>sb6yv`&6>~*# z%PqC)VlBVT)oNx*H{U)f@%p-FBe({!bQ6G5 zaBrk}Ush%1M&`%Vd3~noEYo#n=wE(xQ##tlVPGW!d3cc|d4>8U)SBXzhxD5PA-E)0 zXh>e-C0cQ3{Qd^c&1Wt%uR8Cd%9ycQN(O0X%-_yFM=^1l`6z-D*}1BRSy0aHj_}#! zs&|yi=M}mXii286J}R`FE&_F;ZG2j+71{a|X8~t`55jFJ)9&xZ)im{>ks~3v`Ahd6lic1`quT0G#RHm-clQ3E`{(^QjBT@;qu&`>U|={N4xTGU+j*Piv$0P;i$=b zWoOuEbZ|RvYe2CokTHMaFnyOE5vcrBGJ`kl^z+h36J8Y+)#qD@5e=SHwwbNVy}DS1 zYC<6^Vu^aE66?Dj!7)`59my!%vDW%{F&{oC7a2%LFnGPgHpXgl#&@20&%{m=c%H$=Qi~!Oypf& zIZ*%Mdesx#3Zm@&olRRCZk>A{T~M&PRZADZSiCq~z$)}-YYla<7hX(Sn;$l>LHk9r zogME8vY>?^B_#}L&Vw8=su%L_qHR8~;spZzpUWS$(^=0>J;>B-$kcUbs*`n~PnveJ z4B!E6N@hKa_?nf`QsT9*VtBLvl_Ag7&Vbj0nE_NWrL6s)EbYr3ipZ^UmX+wEfiYfIPb}=|P5dUkA)N|cj=yMm zA=h{y9H!KWm_|SsLsNd+9q1S0rNr(_iku%lHYyraiEqMIB=y>hr%b*TZHw_w%#*IWs&8rB9xG)pf-12i0r`s!sl#wM#wuX zJAPr~1qfZqV@zzr!iG|X>$vd6nB}C-l%`eBrvWlL-W;J+F3H+4n#|_nU_EREkX3m& zlP#qD*hLER`Hr>r$g1V9MSM6hyNSsKGT2Ff-^rM{uFapUh$)q7!mHd0XIY)tUFPwd z6BuSm_hR#3i~6VEpLf0v3&oolH1)eYV==r9MkNX6!D`OlI_6?gI2t-96DJ)fYx^nD z8qP}wYbXO|76rrkKIfxI_`;x){Av!b1)VIQ{-zwIRby#Jw$pTN|hY|t; zv86ybY4x5qE@-kOztrk-;_b}du(_AJT@qGj5YgYI^&-^EnMVD{;ZkyPd6zo>%=URd z#xO7XyAGMxT%9et=rnf_6^ux{R}iI~W`uVXi%1zai%$qgow}vZoTHxk7h944#AFrr zdy@!cBL#&YY%vRt!ZbxXpm&+QwGY7yT)n7mDT26k*%E`_nN^8TOl*isF0sxZCf7Tn zLw1$>&Iqa|8m;Zhaq(GEC3fuSi~5hhD<&=Ocjnf29!%JTDUEL}^I7S_o?Vd&i;zF<3mw$eJRB&ixR%PBHOCOi^))E7rxnZhI{7B$qi97|;=+4Ih7UJ*|%+!MSz^2%XqmC{qg!4tt>6YhJ z4@F?p!iLN*pf1p+C)96#h92s`Qk06aD zWrf(wiN8BGlniD2!_gkn7ZJ0(;B)s&O6Eo?X_zOj3wX#lNwDLC#?OaRz59e(k&=@s zrmx`+S7O*)NN9AFia@uLgsK9B4u%3YboM$H{TMwK6EN_WVn~vSQvD{&Sg6sDe@hN6 z6!xNhP9r{z=xZ|x5Xb)f&Jx-jcl4>dgTDVOVVdG^{%>?~{<&-k?)(eGr7YulIoCBT zQVFlRS64k9ooz%+@hhm%Whs)cSUzjb-S9@1V@@F9{{MaI;cW3psKenhdFyZA(Quqzl zv%In2w*FqjW&kTsNJU~xFFBkwl3T9Cgov-X5s2CB?kuDzACq8%O*P9)8Md+WTaUpRZnd-$7@>iN zuGdCIY7pO%zR)ZRl&WLT?z#4wVLkfWf<2=C(Q>Z`@*G(H&9KcZjE zs&P3KXIma8^4CM)c$;2kMsibS@)5+P72MXk;`SYuhTL+2Au$RVK8T_?K{%n!n-6)m1PY9SDmtZiKCAZU#q~XJYVN z$T`<~C3Tjk0c z{vx7Z17c0+*9!4ZvllUak&%p3!sr8S_+S?48x{JH-h-7va##z2Snqu*{pxfKjNQXn$SBYL3|LmHC`Rd`g6TX(C`_!4EZ(|sjf7iN;v8xAum=Vipx*JH-X? zqxj~d=2+4HtqUF;^BB0ytZnA_5mU?Z5<<^DE zh`^nh*@wqOT}mn$TFVk;f16rfH!gF!dP>L#5vclzQ4!)Im8`R|D7*y<>|05t*=5t? z6Ij?L@;h#GEZ2$Y%1a9d3}a1fa3*4zH(HRz^ukAW*)sErdJ5Iz+ z?!;1#gp#sg!Wt>T$N@ehIPf}uDEec}!T|yy-WwiTmQyOW=x`w%D39MhppepMc*4w> z!DZxCmYHAX95Z#0+1M-s4=?Po;ZaO7br`yX#)HeVI} zr$uo|`r$1Qu=aGDd>ESUxoP~vUBS1z@(AJqmshN!!8xX{6ipr5coFQ0OXek|&goiw z&wnfeeGZa(7ziy5!;^VYcy4yAgFB*{rn!@6 zpxXQ`(!C%=jhgA}-c4J`+Xa#eUp{%HU9t1qY>g6uLi3Vw@p+2wpLrR|$p?pCTFgYY zsxz-)l(!~-UAztZ)`P=2w2!k$bRKgGXz-&fQ!!CFGa4P7uJqON0!8LPK*wqI+m$L- zew+Q!@34fZZwu9J;~ndDr(*l}fjcGJuK7_#ryZkr9wc@uzsfc-NiCpPmhvzTo>yiW z6-RyBHj~`>jr+8ZA@pEibcimNQ;FdD>t$|a-DP1ndl4qYEsp(Jw7=%+#cel|c?Sws z_JFw*$?-lJh0Gz_T|B=|4@eosV#L6*Z=K46IN7yq!@R)jN|Xji{ZY;QsxQ&R*a zE>^Hv&(!NuxYW99r}VSdq?t*y;Oduuhx2PP8uud* zGfk^#3S2-*=a;`**I;?hN)SLUUIpnP5QW`1oJo9nzo$COobIp?7{~`qijOQooK+-r zV$EH?+g+|Qb^FdPnZu!w;{&(GeL}TDhJ8CL+xx8V`}W$0lo<2G`+t=%3Yex<5RSIo zjvc;+2faU?6Mml z7TaGoJtf`Vf`o^(3Uv;#h(#WAN+@|RM2omZ0{fJz87vG(%#EGL21n<14uQ79{F|syT=Sp79Oph%I~SWVbp=mbexmsqPXPLGI?AG-{1=a7tT%B3#%z(7@b@^ z_)m@BlDD?@;ofkU6gY}_AmbwwmsbFKT=l7GwWPG%vVvRf*(-QV;cr~1cW$Xjq=T}5 zFCb;FtE{y7`kq~H%Ky(b6ny@(R!!dHGB={Gaej@Ky@2j zxR&0w`s8hDFapHdBq2>miIU#DOYU}j$oh56(T5wF34*u6_K5-(KM@EdBzdx+#;AH0 zmPdaA<1sYb>u>jZ?U+wxU&=YpFzOhIKzzy8){dH1AFcaB&dRPIeAs!%7hgN# zPBA1W5P^~Q_Bjo;BSpbm{}!ei&u5)M9aVb}HQklr`sxVc+pDB-+(Lz~$f^$gW~h^h zE;Axf!IGiN{SNCjY$_qVa$TEt`2t{M<}P&~A=mAi!rK@QjONjsd@q*6-OjbWZ2B*B z-%Fi4iFiP(ZP?@29_+=B+qK-JLEIYD59eD^<72#*PJB{d$ibZ`H#b|0wac1YqJmtP zA_U&wZ7)~-akSjIHw;sYW?J%5gVCRa!Ado@ zS7!6B44W$`#455w3JttHumMX)=WO{wiX`JPJ3m*~bEa+Ie^E~fX_LH&2$X(6zeyjC z+q$`V9C52mU;8@Msq>I-trPF3k>$r>L0Q>3dazAtKZ?qdwT4;5*t8*f5SwDS##C;F z`H}G(4BeMS5THZ1nW^+k3)aYFGPtpS-aroH73gy0I{DHlSjvMU{WRT-{L zOLhKt-_^5-Pt1{i49nqOTX!hGEAIqg$`@4+srOmE{*pyZ0e-WywGkpv?GQ2rl2Z=n zydJKz-`MC?uRq~V&C$Q-z;m;?Xdb3sg1+MPZjQ6pGQkXtZF~*h>W2f)%7wE;)X?gi zu+{%}z+rXd_P=6m%+%LDrK&YF$NP=j}l`n2#8*t$z9cgUs7*%MMmB*84$%TMMuM z8eYG)Qwt(DV%S%f6ATP_<&_Kuakij_ray}$2<9FTko#s~Vx0UuMA`2>WAW&^+93_o zo$TmY+)Uru7@s2fH}AtmH(!gKScOF>8`<;J0EeT*o*Y6?sSsbSKqZTc`vmG6W2MRc z-5*$u`xW0w(eO|q&TS?c?zp6Z7MbebND($Q*YPI8uI14)CzAqr9= z>I~pQpUyk@^s^ok$-Tdbr;MKqIw26v-IoQCXSqo=m9X|$RBJN%DpiH&uUKn%PyP^e z?!G=sXq~jwlA}%yPjO#26{0{KNMr~)k`ic4bE=FfQqJ}DkNuKwH05HeOG*tTj}U=J zXU@{Rak6xgh2|tO;WL3;4=#697mVla|HEokPM;YVy08+Y*}k&iK$h3m7%?|c;C}{E z`-0l<-i~(yDSFkMFMQ|tHB-M*t~qHZg*0MF93fXBN0k#%a~1D}87}dsC#nybE7T80 zTf2E`g4>NiQz5R*J)Em$1lFXmQ+q~;Aq$V^Ww5R}cC*r5kkq8I>89{f@(jZwWas$Q zI^fsh0!oIiF4(!L)13mH`A?)DoJ73N(D%R@gyV8cXh6!M8X8WT{Mlym;sjU+**RyV zH~1}sf?D#n{=5&L!_$(FgD~LL3(c2N)0p9YV#pmH3r}nrtl`RBZ^<{>@_0{jw9vsc z5{nb+-EEAUc$RlGNZ^3EuS`zw1+F46j?@bPsB4y%CZYY(Yff>WK0Z5 z;3Zj%!ror0thMn<0~>%*uUR2YY=AV;!Yy5Qk@sdR1u1&M)^H3VT%BiB z26Bsq#tkd}k7qbUs1S*DslCBQQ{9#f45L3b5lgNR;VZ=`r$i|yDg&4@zU9eU*VRuF zmUMj?#IhxqWC`+?xuKX!<0AusxBFe_;>OjsJd96Tte4(dC$ZK$?6v6lu1}^)$#69+9@Hu?cOFd2EOS-6NJeP9kf4Pk zfuE@0Y@O8sz1xRlPV&qQvOaVOjXt{xr|*PUNe4TZs#YG#XYfUGRV-gR*k24_4LBhB zI33oODw2MSw;)4?pJF_XciC(K`>?4zK4dTly6Fh46V&_g_1p1@2@OMw6()0TV6O72 zOPO;Cz8rtN-g$edf%6M49@Xc%s?Q@Z{{JQRo9%F}(9GIV|X@PN)Z zlwce{&rS0dwoXR~S;fgvExBr4u3GWeB!3aH^f+9J)5Op6`oY4e9FFq)e>XFlR&g}S zbz9pGSq%ZJk^ZcQQ^li^yPHf6PNgtbT`_R_$M3oNDbw^mTMFh?nQ$Mbq}2R7I5ZH} z-CeM?lrmIk3~e5%B`$}&SYr9&*FftY?4x)3^aMNRDqYOUH`6;BZ`M)^MCMu_(0Om;Pv;DQ`HVzgh4u;~?a)1*A zEWE^E)%<%Md41~*L4C@6j~f-Ov7$O%*Oj`r@5R}*_^xYDO=OtIJK=^j8M&enT>ubk zwu55*q2*Mk`#axSL=D_1!K}L}vn(nvvSlb@Sg)982w)z+xs@vF z*}De@q(*$_c;zbGc1nX9>$;@;*E%#SHfx(xndTsd|E`)&SDqy~9mn9*op_{XJVud| zUsc;KOMKkSjT*z;wHT9E*cF!l)@m|(p&K2UfkGWczf35+y(UA3W$=cUIFT=%;{)%g%O!Z zf^jw1f2hx5mAiaL=l#Dh7E4Kz+uWxwV8$|BZC`Qs3_=44rQ`Fy>^wY?a$cV9av^|n zhOw(pME?Mdoc?WFY;IjyB?PfxXdFN%1p^dWzw&k9NqzgAE~&F>RX?n8U4U}{!&RR^ zqwKW!xBos>=O^Mf(#Udi+u=yp6LxveasNH}gHd@LWffIBD-Yun!$}_1`5>}pTfA}r zB1oEWeNy|r6y5osZA{dRnl9w}>jYFx;Wd*S!9#hL5?CRc5(Ve`bcuJvghkhZY-W zW_S-;gs}Chk~^Brn7yTTn&r6a)!TbRqyF+EJ|^YkNF%e3X(fVs-8$kEdCwn0{)cEyYF4Kj-yjS1z}P7805 z?>=eAB)OxGCaP;Q1D;?!G`HwJ2va}mrQ5^B^P&iJ90=IvLQ-Q;idn_MR0A%2nb%y5^X1)W z!@)PUDfuUs!g8?oJ??FeP&Nf0A2nSH`~Jyl1sw?yM19i1z$R%eE3rWUAf(>x@U2kE zQFqEKi}M|Wm}q8e`@PxiVatkFTNnUlJE57kaeKQ#zAnmKN>HPKkDCD2s~L7n$9vr_ z)^C}5?NUp=Bh*uS9zpWAx^p|5?jJ~3DZW>Zg%Z z2$;Xux6)-5?mzNxhn-kH)IKx`#85n|MQX%}zC9h9= zae|Gz)9L0ZZJDU7{a4~F;&mXT0Fn}M{kC|PO;H9C8b*oqx!+((Y~C1DS+g1Buz#A) zQZ5sRg|JV~+QV8jHr5+fXZ#%kt>^ce%wJe&SsT%B3hdG%VB83pGFLv9 zM4j>h9I^1WKyKv#Wciu9Q8!^$Vhzh<4CM<5!feWqm)izCA#Cl8VIEm(4&}^2toLD{ zzXu~PdyrKLfP&k!UaxM!1jE4~BMMRfe`crdCQ$1;3s>Cwa& zh=GL*%0wt9hmL^=mJ%{0{_dMqfj&!p^CUANV?Q=T*76#Bz3BjVP%Dv>vOwl7%LTs9bC0pcw;R$zFY z=S72{$-jjL>$`GLJ=YI!1Y+cpd5+OQsM39z)b+va{)?#clYdT90<3gMZfgFGySM-T zEM+$|GcOOE&`7~(=M`7!m(O+NqjI{~-R?&K*}hYj;Lbj8-@7un zI{f#M=S8UJeVC@?Oiuf*hCNaDCGj7-8hpi(-v2%4$3^vTb=~~{n)#mz{i#Evnun>& z@kAihW=g&N#C2??<$jDlZJ26_jzc8g$~gs>Vy+`ew%rG+R@(HN_jgYszI%c{QnF+` zhQ61AvIt1=S2P2r1>~7!(6aRYTPBSRMDw;@WWXc4cpJu+`dKUZY-NluATBY;%aE&Y zQQ(Qlo{W~)#?N`m^9z|3+m(tYAgVvR$t{@y%^IB_&sT2n8_Z#;J;P9f&N>j@WhKRV z+li;pZa)Pa`@5%p32V{LLH6t0oB_`bb{3 zSI@Z%0JXqom!Hg>LZP_2?DcO3gMJPk{7`8Cd?WA!^ql8a8&nH6U=$3q&4#Hu@0_JY zn3`Ruq^a)txF_1F!GVqa>?q|ltAvY?Q0A3Z*{lLlj1f>2V6_ky%I5k%TufBV$>y-@D%)CLn*Jp$+HQ@3#ui8_Pfvyb=jh-UX2L z%o@M7G^4Bq3{ySSp*4#|4WS|(lPxZZK>usV3>Qh*G$Q``E4o zrRCm*G7rM>F30z0s;;!&NIC=az*g6B?_2H;i_wy*&M|QK(7@#wVX=YAGW~{`+MBPS zSZkL>XNQLQO7=h(ffAp-kqgiqzUNu3j$NLB>F3PqJc6^W*SKWvFNYpn*gX!v4=yAh zO8RI((j#tH8^p~Cv?4*j2f<1(|LhGS^0s<66a@K8?j#hozZAk3C^CQ!Uq6Dl@+U2A z`Q=pT#xYp2*L|KRV?dw?<&RsRt#Sk&4BzN^kX?FhZG6mr0-Qxmdm)fi&LB)KH6BBJ zcVy1Fw7@fe0e12=>iNqdFi`FVnsIYR21XIJEz#kiQlC!)Xl(CRszVsYN|@Ib$oRfu zX8~Ke-TZX#^LDZyU`T2@DJY~z2746@RO&b2>Y4Vroe~mM$-zbkG9%qT^hzluqgQ+p z#1eHXjxH$*5Dyg?>>PM(+f1BOi!owjgWnLSj zv_le^5=OIzKle!~p-V?XQkh`$=}Z zyeo;QS6rC89seT#%GcCx!EyOR+w$e=eHmSgQj>mm1$^mS>VPFRTTrb7IqpE(fr=1sShv|M__`V`!-5!*oCRhHmF zB3twSV+-8u?{Gz}w{DH@6YI7H`CGeen7U@(0@r1)b<|sEVOX}{7GlZHUkK^%^Dv-a zY~`AA`*B;TIK?ycEE=_jU_nDS56ZB&(Ap{z7 zg~AM_V7V|{$u&K_&YDmL)X+s=S042aM)Mk;<%4_o;TV%3F zss<{|^HctN24*Zcf-I^d&=2AV6IrI#n5(&k6`lSoH#e|gZ ztj1{)Xadmh;?5#&$(sK`M=ELKvxhuvohmW0ih!)7lyBP0DL|>($=Mxi$EPKN=4vGR zOm|^pM1WuCarh@?i{@}Ed~3mWvqG6V&{{GCcR2Uu;QPJeG0pngX{s8REq%kDy!&4&9puJ@7GiL}pvTHI;yOs) zkcmlVgWHrBGgN5oq@YCQ3buO%ov9IDkZ09BX5nn6)(tXMwK=%I1^K<1@3hY*FqKyS zOW8Y9I2eR9X6fQw!M~Hi=$mV}S4YUO3s=P|JZ6qyl#8n5?vt++XRNg%BD6fDy_n*)2o91HBbHmJF%34#~>yb96Vq&njQ(&pVC5Q_;QWBCLNGqm6v*+gcB5Y$tzt{*>YviG4bR7+kiO?W8Hb=l{j0;W!*#OG zUSwc!n(M<oh-)N&xd#+eGe$8!kxt-v54=!bWp7B* zAzpuPrC5TrVnZvD)kOkHzZmH0l?EQ>QWpn2ZL*;?h4e{DCpL4d&}1;|kQ4ws z%c_x3bhVV&L7{Fe$yP{6IadoWe~{*Y_u-1K*SpVNQ}O@ux)IGpD6%-)IBHKs;r%-Y{CT^ei)F=yLs!8Eu{^aV$F*rI5%lO0WBaHBnpfwXj zj3tAQjDZAXMu|TcHmu%SYKGbpFQSw+CnOT|TS-XW<6m-7t0noPulRQpI+^PHcJ?oY z_77ki3;Bsp9vvK>5LUkS`?dYU(E$SYPc#G;H+xWSFN1J6a;-C?*G_Y`bmcFY&cFhW z65ysjl71*UlKf22>5}g8_1Du30BrYKgb*`sgj%Kix_QpD%1*f+PkR_(ddH-VFb{lQ z_T&2)=9r(XxcnxIg5yH|(6|VN!vD@bXua?@v@7Zx&P|!#R52obE6qS5b@!;7Ww;{7 zgXlC!bp~l7oB`W}#&MiMaVLpL7csu)`?wb7Oh#7zoV#NbUuq ze5CwN!O*hxXepcZv<2;PVH4vL5d#Xl@SI80p&Vd#@*qsA#RFkzU5>kzF^UWX56L(3 z`;~yjWrvGXG_mtDWcPrCL90V_b)R}B!+&~{_wKMqH_?(}!!KVl8+WSj>Jna%m5S6U zz<~yJc>;W!0+zUYt9^9)(!p}TVaitb;_$0(Q4SJfs*R0dd9<<#-gBHz=__c_2XtrH z?PoXu40uL41UpyzhloE0K%l8999|+XpWt5(dG50<6&Wj~VZm z`K`yS0ZYp8bJ^WnM27%I$=r2hC$j2rXaB!1M-OZFJsrhfyQ!ygAYCk>lcK3jku~F6+A(>RrOfi)yOk5UZZ6*$9l+1OxXa=6EmsMH zU!M6899Yl6K{wu6?I8qu8uUa=@N9cxLO8&`UwD~K{rCGr52)TedE-bAAv5GURbou_ zx8e98h=Ssb1f-$Y81CBT^pd_e^B9pnbxd@8l7op26c64(EP&_=6%p|=WDGGi-H+8ss$N2d`}bxr+$GC zLIk91-W*V&usjViTboVB{qIWywozj_0L7rJx=d7`p0*o8BFaDgZq?s)9SGiw*b?$J!kjUGD~1a?!I4hD%>QJnqBfu z)kjcBpFRyZgf;9yGt9ViF4B9**y!G_OX4(C)y-0%&U4(oNCG-oCUQmBrA~3C@tv~J z0>)UkZqlZ_Zx`=^wk;h(Se}nZKfUyJHCwh)%$hhhi!S*_$1xbqcivjp(hi$-Eg&IV zi7CjR@Iq^}vn>8140QEgP_mb%6kV^Zi$pD5848N|lAFuBLScG#QO0pfS-1#H#(AIqZgTt*zR!@Cb)HpUzJ4o|Bd|IT0q)tl4ZJKm) zuVvhQ0ZXSS13*7=3{`F$@*~e?%fgV>CpyvYJ-X#xxJhH48Qb9z<4AO;y#xYb_%FKC z!pBE;d(LpdJ(>8V-_hnC_6$t#g{a=8FwZ}#__|PIsKcYcC^Ivw4^716U z!)rRelIT0$W%p>NQP;MtUQ^>MKs9X%Xu;X;#5s9iW0S%K2o64@LYr<}mzhoH3)M54 zz3LY(GZZH`4!;ZzC^UiGK9TDJy$KnveFmL`Je(+dq;)s^VFbKtN1N~C3`&`ihqo0~M!W(4 zwKz+^nz+%)-FY=VJq@ToZ%-zTV2eMB{Q5uzO40&E#%)0-0BwLUWThnoH64EImF{BJ3 zgMdhPHwY*yATS66NTYNsAQFnGbV~?QDlIJ_AX5K&$8+xYKi_wr``mNAzO(n*Yp<>y z__Mikg6!az=V+~$Oix{|;N>{l5jFqVADi*Z&d4Qtz80PEdr=$h|90c+(i@TFVR)OV zOH&C6ampYIuTwWTC_NAXx{UH|;VJXpR+QcELUOdfhbmguLceX-X46F8j{3G295u0M z?}`!5q|Yma%CX@{#j?RcU?LBuMQDxi5rUY5Ug3r2X3kb)GoT3gWO-D!Y`k9uZ22F* zIv@tv5t3b%r|q|c+s~X`+Ac)+%M2{E!55yBxpnU-{3MsYjM+A8`a6gtR)?Z+b?Iqv z8gMj|SEU__v&I-4t?b4)KoeVSwnx4>-Y$|f%njllU5*%wlZgxcX!(V zQ&J!SHN_|SAr(p1n^R@>c$)@Bx#aijmTNV-z91}a7`cb6Pk;?NGX!0G2E~@WgH@wT z*UPnr>}{30;08;i+){_vy9RriNm1Vgz@T2ug%r_2UErQZN@^4Y0zhZ&GwuJ>bb^uw z%9j-}n_OCBU|yNHq>a@b1d9@)>Wl-ojwGuW3$+Pqbag>3+k1cS8HtM7yTJt@)ZUxH z6pY{F$z&6Z`vlR+t^FT*=H#n?;LjmW7aO;o1sNvFLh~Y2vmZg$r(!w)LAQwM%M8F9 z3Vr|c2iLb7n|?0-u1Sl+C6^$vy(Rm&$J)F;KeC{OH9WL58&tswM3{7hgCB){3W56b?`zTsUfwFSu}_=4L{cT>TZzWtI${)2G!gIdDi_ zt{BQQeezpOAF7i&fw+?*c|b;-&AlP7%M7(&{G5(WR|cx2HRVR-uD>c0M!lc5}62FH9`Cz z+^uDWv>#$UAnDwUyugyzH&0#&ZlPS}h_k>I@hwm&)wX;9>__H%h58NA9zhwVp;-z( zRvn+Wx-x#A58_x{Y(t<)o`ZO%3uAO2(qA62w$0{Q`_#^WGPykJ9sdo{vG4E0D26gM z9=tDZ{&nV1Ud-Fq=yp>#x6i-{R}a4y8Hm9T(dk}*F2cwh5s-boheUuI`9DYJ`&>6H zZvw>R^01HRrAIz^QxBEki1h+Bo7G@@~pj6$q=AaxkYcH`*-^oQiH3gP3H>HUpJ_P^3&W&POo5E zuGu(-s*(b}1>tqy0C(G1#dGQtsCI+m9CdgHPNSTCQWUct zvC9%Kvyt0ob8s`ewB+po)ok;BKjeZqzp{GtY_wJ4!)GF3ipa@!lG<9}8s<$Jkqwa4 zj~4szssxMarv*jalt_{R_^ppe_eenjrPVkt;nGJP4Q`==+Q->=Jj!eOqtHDppCT*d zrm7D^37Il3-l7zS=KR_yzC1^vbho7ws<~?DGNGvM!3wov62+D= zgYkd9utBVY5B#IxxM@H}pS>c~^7r)LABDR%^e!mPKQ#g2#;Z80Ry_Ve2u{;`u?rIX z|G+iT4vi|mk^fawn%{pNoKPOfVprK~3X2G*|6)9edOsz8PbC$4&I-fus!JY{JvNp0 zFg~SU84BEBQrjXNYlD6wQzSwiXu)0c^C$HXP=v>B#Kk!DLpgEkqI6xU%*zjuK9}ci zJ`5E`u9Xgi{A1!0P{A*{dcVqU0Fri_WmPnZr#wpIt-Y$s(56tZ9t;`qN5^?pwKxow z%Wds>gte#@euSKalnICNUt^v9iFKw1MBt%cy4CL1Eh7O%NJra35xV|uBh2O>J>OKQ zRaGSHTZz*f0%+!xmqOcFCklj*p%QA#p4`Zh0XZ-gMjh!;bOEZ=P#&+-oYkPP@5~>g zWVK5zpW&7Y3RkH%95r_uUNeyYV|NP0@25N0&%F^nU)7%-z?Y=X4C$wST=`Ha{Ap-G zRX8n}FQyQXrxO|a#i!TFclf>-q9ZQf6FAe)bDz8Yhu1L1c%-QY5n)${OXVPIpokkb zkGV;$U>*KEdrwa=$<)xJT;hOn0r~^nU@?S-LV^NbY&AS_y5o=@pw4R= zQzu9KmN$Hq%FVpK>)9#f!oKKOd`9JGJ1_RWw((NHMJN{^T5uHa)c{7|Hr zJ=d%tJ;Exj{;$q>|K->`bh&c)7%dd?ikycZxOco1IXnB|@ZSyk%oc{yW-v>Sh2gx# zEZwYwxW}~CqP_G_hv!~pj5!XO0E6|c-YC2PuRXfRL)*s47afYH7C5Tv44`<`wU5VK zh$=W?*}4BA@s3lo=_Swj)-*)RAjPkjBM}o(LHitdDb#ut=+O2u^zmSe7WioTC+rc1>gx9tv;=IWujGG7|~qSP->yN`o;G(r}T4S7SldjaLn;q z;r()%Jeec599~AjaqkE~f8{wM1*G4J>07%`L80##) z#!_*}+SEEWBcFE{jo2s^4xK&ta5$zNs9MM`>d!GGE$Nok;WkN)IgsId350uE$cfs6d{wyYqd5F$ zNiSxr8Uek{R4z4jvRHpMCXjsKQR7_jsR0TGkfyvF9YLz zq>bdMA@Tf-2Xy{wT>^7tbU8C%+(pxJdvaeMKxnr<2G;L~`&BxUumQ^S%qo+VbhR|3 zz(*pL`rk<}x7uG}c_j|EBst~^b`VIesQ0wM@peRWpahx-LWMjAHFgAk;!g@$Oc(Cd z{jB0Fzq83zr%-A;h5V%b<<`q|9V9ex0&Ewl zZuC*itvRG!9d%cAAW5@$u(Xmd&bE!wk z&RLL`#{Lk~4}CHTRCBajO3-5@32^kt{6fC!>ci$X*KbV-HR7%MZ=O~9IQ1Kx_vPms zL>Il|-bb-x6qWr;Y+mX}gcoH>y2|VyPuzP+YLSz1OXsykCm4kaX$rd25R0Djv6M@= zg^S0;N59g`d~B)9;i2AX$vRw|(+SR3PR^LEB0NQ~T$7}Gp;*x(7=s1#!@{)(iq?O9 zB6W%K97+@vjP`yvCgRG)8HG}#V>ob z5>bAV8A@`|cE?Exw$;NV{Yp&f0cKV{E<9%(Y z8$3oG%BA0YwI5b?Mvisa2sRAZP>5H;ZmobCIS+35v@BNkx++hmXhf-vF z!`+p|>4n<7Hnhy{521JKwSEG$Hk8fuW0evO(J#>~f5JRMp^D#k3{ON-$>7p;ttkO| zd`wLV%wND=Z}}9Rajk?59%EUn;(F}25H7pT?>BH7-aoUaS~Yudxw*6cYi^@6Ir*5z z1=;=2(_&IT6mgc+kE^lsaG^CzdahyLK~tA?9H;^b&4Kid|1;;2cX>^!W-0z34vZ@V z)UH(SG^Ts^Qx3&f95x}J_PJh|sHA(h`o{Ait_-c|=MV1r#5~l_1f&qYSM{?aniC}u z>P>#Jq-FXUyf*#BoAsoy2Zky?=&x+V1 z`FffJ#>eBzV_4DR^Yozm-u73Pf*9?91_stfj?ejx;XiQ?k)DV0U)fDg)2soLB?v^R zsZo<#2S4?83%~jEwFyQ=R#-+TO?pp4P3P>v%-HX*3tO@`xlTM)ca6weS&@o@5$XNH z9+Ih0`;Q3EE86i2?vklhUI%gptGb03pr^-K2(*1}%eok24P;6zr&K*0qj*9`Ug?2j z1a*r}kO({Y&R9qOZ3jZ8bH03CUCpZ@fv%DP2M|>bVN5k(n^DP^rzctPGKgj$XnK!O z;`cJs=>Ag^z~xW|T)8a$@&j9L$GTW4*bLxfmgv5v&k%7nSJPAQ|rp49%~&JUtbQ#2gjIZK>}&t<_Y!d z@B0GRj7lhxYLB7gBuVF5lN#=P^|(3y&tE2w!OROKYjM%D$U&C!@(TQnH~IE%n3BQ; zzX7QCs)^8Gve?t$#j5UH-gqNI4P}f3HRgZ^RIPg;S2~`~k6zql8wd}5jqGum^BD$L zM=)0Ixd{>w6^dzy`WZX54?-q~fqbufzo9;@0g53|3HPwrhzA?PHmN^X+=sQOA4Y<} zxD4;1^{Bt}MpyhMm)YxRL)Pz|ZOV~Z#MpPz9zv<5YiDHfbgx4_KgNiFG^4ziQZ7|B z%>5i;h<|XD2v7eXs{;kZG*@NeRxI#cvV_qh{lZ9*6RLruFZwRM(luKmJo8};5H^R5 zs{1(~>afqJKji)ii+t0%jxZ(>7^4>>n6hMpZ(#kzLhmjd!Fsa%AVwA{ub`SG=1x}8 z(=Xu>0WS!K&61!91R#*RXY6~z)A!VbvQBh6CrG0fN~Ih}16JTd>{+D(pc6;l()(gW zLsY!1e}&ykeN3-ijxC1m#7PwY6;1lY8p}wKo2r5lIvy~wg;H`aWulz}7I(?^w&v_E zhl7heooYD*)=3AYWP<|^Svuwnt8RW|HFrA;$Xx{T8AVXvW#|UNOVkt!Xnp4YoU~ei zDGQW!p?A^X(ifoMt3@nn4`x}2+ta1*J>A9BfzEGjD@T{92}THc+_Fjiv9eVIaaGjW z!j7vivgPULzyfmhxe8Avc~7+TtJ^^zu(TrklLDxJFXtiD4dc;kDh4hLjS-YWt>j zxbjs>m`VmKfJlN86bwoDu3rWt&{9NZTW&uOI^;|wTyw8sbZq%9{~5!p0|X7|2^DW< z#0IdO=~Hwj{tq>Z2r8Jv+Co`Vxh@r@k!xWF*s1~7h#+QPqj<_n5TK-17QHP4ldrf^3prtNlv(D%EI(rroeuP0Q37iq7LhIau7w=I4{ehdDZ->P8Q2L=?*uetwEGNh1Bvac&Q-VzuR-qa2M0Orrf&{5a za%C-~Bl}bPV+a*1Fl#~npaTHSNc?gL;=qWleHrujS4z|kbBHygppet@=vS6VSI&qq zVr}a`qiOo0li=ri9|Z1dOLYDbJ1Fy#uI_urmPZ(_>cgfYHQx|l3DAzuSO%e=(WFf#HNqB2R7Fh17_;$Y6Lx%{ zml|nMMCsEnd0webk-rrpMuBtYE|r8S{5?@-s{*-^fk;Qq}J{ zk^^ca{CvB6Z@2|ETvW~xh=&8|U+ci$K_4bjafndQ%_IWUpq~>rDqL}^DJO=yS`Lg% z{m9>IEx=njY~3k`*`@PqpDC}hQ$Q!*yMDzS#Vjw>X{0kSfdsOFD9cvv8`yqFA&Nf{ zGd?90FRzrFI>4L` zRoQUMXiPLK&_>O4X!rSsOSdRNptMA)vdb+sG=;xD2M0!-MmNes1yAaY7V^U=wUMW% zCgO`AE$&XG5g7B#)0A^VGA!~uU~8Ve^}ZNjP%Ukm8jxEP&q6$BnAFon7U^O|3C@jj zbhw@>Qttb*Y8V7_7(gc`fB z>jTJdZDk`H0A{nC{}39$m*^}|oADhc!9(O9HP2a5n%`OA?j4pz1T-}ouu~pmrI-^F zua~JZpMCv}17avMy-pMbJy)nTq#whq1pMeh^k!9-e{qJ{i1yOn>T@J&3yM&Oq`5|s z{KoYDWO`;Gw7dCCj;%>hQfTb>>I8|cXrILMZ;pr?ghId5yB~7bKphSrZU~?15S^pb z8UZmGme*MApiilQ#{r@ApWrM!mMV^p0HA2AuR*`Fj7e9({bBM|#HgBLr6b0k;R;C+s_U3v|MDT?X2_oWKJO)Vw@ z*}wl%;95h4`6a+qJpOyA|}W)TgN`0P@YSR=Y`uZV<)1u z1NqoKYl9`@vtR&dZ)NT#%*rQCTNkbkj++Rkh%Qo2N4_Su&o)cVn@Mi7%+exn4bU^E30I}32)!BVg|`o{Y?^KIDO1?xT|o)wCXrc$_%HhH+08ULW= z9FV1v5+YfsFwW5#mMRPrw21f)Iy(7U(SYG|5=a&rae2V@d;s=rr9I$BDwX;r4RZ_PsOk-R)7p$ zBzv!>%~7pjnxvaJumOQR=)0zQBaB6d@;abfpIiaN7L*`<1GnoipfJN9{9|6D{HX&6d6(Hf?NHqpjH*wD%Mo2mzj9Hbn1pnIH-heZ3j#(23!tjNnEfI zdaDK!p*PN;Lz}u<>U66!-x0u78NzDXY}E=XSUSzVJVZ>QxSO4I?+=>W^Vkp(!NUr< z7S;H;>M^(9CGs**G=lH;zwLQr5XK8LZTwUC&^hG&FA_7xEJ zq)4he6a6@=ggd*6YKj!r${{E<#CRaOO#Bj-(2Ma$Vvs=w4K87gGRQ%z;lk%y>j6hW z`TU!JFn5YNEh1;zo^58Q-uZD>Nrku&CyboA53Is;8gr>PMlVFn2*hyEuk62{xFYLt z%h)OWLPH*j>f)=EH8uf@=STuS=*z6&WbbHB%o!s0z&d-7ZqK=@5#F!E9jWGkMBGum zPYo6`!B~$*&X^{}694Zq<`v3nK&UXl5*DKU#7qif2!M5|(ko>4q2hq#3V^&k8*3~j z#Pb&(T{xG8R!ilRGh2eF_rHiY$R1;mm8Fs=X?We24>$@nPqC9losPZj8UidsP*n0lTR-0U>FSWxs?eBJ9U>#r!NxEpi(lZo4!JrDh1073Frw>Cm-miys4 zo>UT`30tb}xVYa`Gf$9@eoa9F1$-LJtAm_r{x4o6hz zYYVuRkHPWUX>3_)`SOND&7Bw3Z~6=iYCBq$0T^cm$ID^>(O{Fc2x%sE8;{WSHIVmt zWDFA~GOfr5nit8{+rdV{_2RNPib-AK{()<;Wv!seL%Sxc2u{I!NI9%gp?G93G^Z3s zU4@T6Vh|{A{#^IDk`ptr^emvHrpTX5!#h9^FqY9tf|>w}jXaoe!^)SAt8mL46TgnA zJJt*u`gQbx(yL(@FKBP)ph{#+0)e*6Zro-lO6K6?Q7m0eir~) z0>PY@fXvo|6tHsgX;`@wM9yB_%c4G=O_hsvS~dr6Ydk|jJQjve_0dx=Dd(QZ1GA}gn2-PpG?{^oX%!fa})BKr`z|3+TPJLDSFcY6T zA|`sZ{_z(%gqmlI3S|ezMoFne=l1CvWWYt|v4#Z0CkBmI0nsM3Y!I*{{$oi@6H!@T zgQEka+#Z6U$~ZI|{{Aie_f?AjHikbuIZCACzkkU_%o}tH4h&HvQa@c zGVu1R37^6#i5QU} z?&Xm|L39l5pa$iU9c>(;H40ceX|}z@J8su*PdOfrNj*k_G{) z7OaHsjqY#he@>KJ|H&k;WecDeenF@$I~5_x#GdJ*@;3v9+8`L9g<`y!$sOSf&?EoD zw8r6C;%SIt^Dj;KTn`1Dao8_<#|3@T~ zyL?0R$AFl5xw4YMF&ATSMNq;K3s}0u0w(QQ4au2q zqB|%IUxnXmdd`G*k02^xmZ;Dx$ai;m!1q((qx-A>*eYnOxpG+9k)^bwl^(Q!&iI&B zrrf#B|NO5P7bMZ>7S?zbY>>Ya-RJsfIbvN1d)5#d&QSV}J9~OM{->>Jc|uv4|9>co z0D0Z9&6SEjj2r}2@pu-1!amlNBWkv_P;V1Ne`v~t$EI+8X6{O40`ir?hTj82`P{$O zQ9~H;MZ#N`7Taiiti-95^aapXsD7?ARrK-Rjbxpcf31*a1fy$Bc%PUj=dLsKYolhu>8PPb(S5WDlKMN!ZXxEa;m8b7u|7(k~PV^%;_*GdW z`~ll%W(~v>zEKFzQTd;8Q~r02DrEX0M>n@7);0bU$u2~uGkaQ)6SmStDhj9+&CjTT z3B~LMx>nlfx^)!b{TLX5Y!&2^R#qS3luUQIn`D6cqEG&}DUtl8xG!O2hDmm{iQU)mIxl&#EXlmG9mM6;{= z%MmOABn+Pxh-Jj;P9akgi8KEX`v$ClvJYZx70RkAoU25OX&zz)3IEx+e`(Z5!zU)G zFIF)p?XQpP6|cWYz#5+V@2U}D&hNu2eu)A+h23#yn#^b|&|6n)z$Hx~>*HbSW5#F6 zWFntygI^)Wf=45MNM!SI#wYRp8WRgJO$o)uP|r@Y4t@hq6Jqzgr;=`w-M&Y3wn{V8 z*np9K=UNeEzkBxI?}$#@eBb@5odKv#TvOEWjd{{n4*nXEN3i&D?BZFk945TbU!ODg zn2T4@zb@eLp1+Kml~iXKB4nBFS;(rkp4HY2x0{3 zNul45D(YiO3=!B7kOlAQdBV{FyS(kIUI&|UyI%_1Ax~*O)cE4kM&a+fr7<0IJ_dYDcukGW5t|WxfSQ|=#Ir%;(#7nr|Kf4~FCL>T3qz6P z(_eI#y?N%mi-3xUM>hGlKTWpwB^4PhS5AvGN60b>=SSv=3lJk7pIq*j;-mAku6H3J zoMqn7Bhc8u1vUPTO6A+zrd66SegVca`HrnUuj|@%hA=@&N*cR|bTg5RsLU#p)$Z>Envmh|eLxKkYsV&>aEVPy5|2~GieOj?H| z$>o@xi*cXwcP9yybfW(kUdEM8c8NA@y|A4o3mBH7HUQNs^iUw-tI4Y#$1ozoY`VjQ>VZpU6$KkC0o`9 zB4dPJ3P_bT2kw#GhDr0{c&EE&!k!`{tKWZ15j)pz?h@U?kg|1)`=sMhO@74{HS*i0eUW!o4+)Wfd+q52qJl=AE17B5WGVqfp7a= zJ3R}rE-Y;ob7x*#zCiZb=3yFvBV3esY(RFL@ot_ zdDlyT66Ti?yT;8CnVQ^8&T3bhr`W{wBw?~aV}>z3yt&FIf zC-{DehSVRVN~V85>LYdWV*S_$P195~!B-#SyL)|@U1aFtp_poQ;4td1b8|Q>L#=kW zEb}!4@U|v$7twMGzd_hv0tVpC#x001b=GIxSW-wCJ zLI~+uGe6iW;5f*aY-bBo*}T;uOBO;;JXsio?}=`pHoW*@gUEzt z!ew!U=yo7@fLw;QpgTl=>C@91#h#NhDk%{yt?(5&)6!0FDZCl0Hm2nh67{hmwrB9N zLiGCzbXQI-N+m9cOUPgf-jg9lWQwPMie5++q1>&M79)UIck}Or1UK-+ID1cv*wJ1$ z_n59PNmRG#!7ddJ@4@#<{vcpSNyri2{5M`LKzfggAw6fqbmBuaBB)KG&5|akO1LYk zC>6~@U|4DnsB4I8yZj+gF{Gwtdq|VKlLBo%&)Rsus((U*rVWXyCnG*^xgeOvN3%t0 zX6_MJdTy4)>cR;XqR83*9%XV>tck*yZ3Z5q$lsA@e5!=FR}szRN=lqIMt#jLoLTGQ zag0Ep_xR2=)H;F5p3|&+6#MV#Q@ejSQ#IGX;Zdi5Oii(Y>N6OO{lbi7!FVu| z0k~_9{0biL#T|`tb5Hv6rT+xcHatz!PM>|gJ&W4unyo@1R3XjR6F;{`J_nhCb&u6o z5=I(Ef*wX#P)LosWd)0dMbiN=VNrh*0T*(wVtRU94EVT~Ws!N&s8EZBWPTr4@cgc< zW|O)gXw9(}^E?&%OG-=}v*3G?J|qfUo0rPamm9;X%?O&;bPA#{mJ`r&EE9233C0KH zG(ZBy-PQAA{e$JD9&4)R=4K>Atq)JUaJEj41l*k3}zg^{0N|E5^6dM<}uXD=4mwu|- z96%3qHC_kGDI{(h8o(7CG7d)(d(Y(2BQs7pOm{Fa8T)TRh(0I}?wue(@@D|~Q3Ue7 z8c{@bTef`B!Me+q5_XiDLFB6F9D!=5m0f=tP7>;rWkXZ&06YWvz93X$?^q+?a)D> zOYj;RW>N#{;jf6xH{?csf2V(TE4l(nTS7_@GP3r|-v*Ir_}Mq1e0K!@0v&zK1+lW# zqE}C5&C8kcp`p31HyY?D!462Wb$Nh{sv(+5Tn>_7zh99PS@{abA;rg7$q%x$krN++ z&FD@;da?Kf8J<92pC?bBe*q>@LYYC-;@PbbW3p*NBeHDQAF_#;CGjJSoRw<|0b@OYh zXh@Y@-2Lr|OS`%I)7OvRFeEvB^)lSG<=5@06Od>2`?(73gKA-HH2F1wv0uZ({k9$e zKL+VTuDM$i`H}-aaYfi^TRtH8G9tBvXrs*RNm)rGq-CS}%Ga|>=9X)Bh}9H@9V|Ig zl2Lu@Zg5hd^@yoMaDwsF?)~=qQxjjy6(O=9OpkdGo#Pi4NmJ`}8`155Gxw|~K-gYc z3EaHB#<_PK@f`AwV&jIrlh@bp&@<2t0arWEmfGLZX~lIWSB6UK$Es8IaVy z5!5lvf7SBk{IfDzYehV;%hvK9+Y8=CZ;HRw17m;Tka?+y;wxz>w-#B0|8T8!+()Ie zUQjGRCbw~wx-jLxvj@ROt^GK}Q*qJ-I2h{Olt|CYyg--3T*bTsDZv+AsDz^K&u`+$ zw*Of%U=2FoXFpX6&qXZU^n<7F;L)dG@1>Bf$sgXjE4OTzE7_{8L z08W{jyYZvr2B^!Ovm6;RaB^w8qd#|{-??_obGNwe9bMq`dC^R*>D86}`jFLw?Uk>g z&`K=nBJ<0H%#f|VY0~)=o^4E0rI5){h_!k|!*#NFM@c~C=aW>I{48rJ zPcCX1FgE?ybM+piVko9%GoXg*2E3cx|KJGxR#TwLF1X*dv z#z1z4y=WQbHuh zOb*KoqL%MCnS3i%M0NAEm%&x$71Zrg-=f9|6^!Op9LV|w(wZ;C&x9BqjEc`DF8kZf z&*P?FXNkm1wUDB3eKg^(sy9h|-=z5S9>4z~wFIWahfm%=$#n80-EY&A{GMMZUbCwz zH^p0EiuF{b^WL!ck9`&%9ar;lz392@<9kA8s(AiZ<+Af5`pvH^E9bRbV7Q%zWrESLRlR9GChxL7nZnI5xb z|H7hT+U*Leq+_-DpgUJLRFaZ4=;=)=-HR)vYn1`zsgfgwI3uH0r+`9&Q{A_A^8yL_ zpQW=3x)$0r`qy-IEyU8Mx(3#YetvL{%|MsGuCcuj!sM1#ti|#Ap5911u{5*=ojzBQ z-S080y}S;-y-A# zGUJ^K;yc0LgcIYpx9b8@RpbI)U!0{!cG3%7;Jm;-M9mxY^a>62 z_L7sw+SiahbM{1y!VXK3y7y!}s@=!pZ#s#!y?G(4Um)PYjs(^!-*V!*_A(!c#S;)L zdZebLsIQ&hUy~CNy?G^BH&LxnC+->r$}mhT=4rf)$>1%$Pn&Aniee?S_rklLaWYSSh7BqRCK_|V`&{Qn zcBbmA?>0I0gVOqboXUXnWma2Ro3kLUKtMgWJfew`0E%I>s>eHK&i%FfB&`NVfpuwY z%Jw1DXx^meet5S^s3a9HDrjN$(^HGr5e`lgscA%#P*|iJcN2#ixhky_>AUCC7h`A-40suIHxLq_|nJ$6fMe+d`I!Of7dPw<=F4W*}xEf4)uP+?N+SC03BX?a044@ z!%v^Xr9y-QhU8zNA%&sA9!7;{n|pZ>#EoWUYVMyt2eyf0biF|Q-MeH>glt-EBhJ*4 z*I*dD@0@f0gDZQZh>7{&Jz@ADdzu1`dLQ}cxm4xEpDtWR?GbP?3!E9zo2WVZQad6`Ro zzxoF4#-DjdX)RhWnT_;^Yjiij4>m7uhW(UJ*+A}yU^r8~7c?-td+&$<+(m$gkzMwC z?84Q)L(eTgKN+~PTd-IRgInF>$F1!H zPo8eN05#Q-e&g}^Jjgvixh8om-q1@-rS`#OFS2e`e66CD_!jMk(vG~o-rv=~=I*t3 ztA_emKcHRz9~1shL^x;> zI6k<(R@G&|Tg)O*G%-vG)-8p+diR}dISgv}JM$JKvV*V0k2ac!%c8`cywom3x}Yt- z`tU~C@(E^4TY-wvAedmzL~f(a`2bOGf#zV ziX>_B(;BgEIna8+Yb?R+cykd}z>j1J-9wlXC0kV6;CE^Xi}U=uv}&c=81cN?I&pM; z=vob8cga=4CRKY4*@LMv+5jyK$Kn*CxP1j$c| zNA+4wggGp}SeDj~vlZ(W54+p30qvkqU81(W@9Fe1b`lHqYbfsvR;q8G>JRKO`bU*R zXUVPg#8k~XF6L#XurwneoR(snr0*GZDU6}7_{Jv5u+Vh{Tp3ta1<-v zIP;bA{mJv}4eA8?aB!156RUMqj;L8G9G`6MjV$DP{7VPyPZ-(oLbRobE8f*Uc$JNS zyAy-6B`(nDa(R7NMt4E{-TM-n!>G}eni6e2(q6dhVUgKiyC0{3k-L|QYTx>uM9^fR zn@>fCa+Z`4O<(e%m`DpncH|jFXCI2MaOhIV%{2nM`De<`f#CVnw7ZPxMY}H-VBq^D zpFchaTEsg}!sI+Z)YOMlB+LPL$Y~fTAsp`i-17~gz@Td$o7pNfIoH8f-fxItS~xwq zdsB+UMY9o+2h~O@+SZ7ZA~Ynp!thEpo5Zr~C!nF7m$N~d8bV*mx_Y|vHPk2Ljr}kq zvu8pkL3I$9&jHmj?rdLo;&egDLTuav@Rx37AONwr*2i+_&rnO`S~>jvvb;Pzn_ue3FoO5BUfF9R8MeSF9d(-~^oVSn|dq)E1cYt#4h^7{LQlDI@QQlP%ioQq4&5vt#g(Zeom{z>dSMLfR7-J9`ex2{9x z+A(e5v{0jkYHBMMzw~R-G+!3_-%)Abrn3_PXWyI!JG~{Y^q{4!JQ19=8RV!CxkUk| zNc)ev%U1^UbX86{PQn13a}-8mEFh9bV11vYPU?rHC z1SwDJm!MddDL5lG9%ZV9f4pA)E9EmBzJ_nn{SRO)1mo`u11C>EE~7X~J82&#OD`d< zjqqfW{m|A?tAhHTvt9E*S)YYkKb+sonN<%hT%#ZI0GT80Kw}-_>GY()xa(Y?Z$Na- zrY+Pma1_8><+JBiCEpd4^ez9RCe(gl&^3*NTxsPD=JNU%nVSp8-hB@-J%w^!r+?MM zW}!QsA#2!HdQKs6Q(=$|`f86<@YQg~S9O}^%Btb=lN#6DT)-9@koHge_KO9sxB*7f zd3Ky4aS>|9RaU+-lN2Xvge2>st;6kaqk^N{6oL2_N~D;VpTpCjfS9>>;m#h0i1^K* zYFQdfG1_DVEl_*ud)n1JK!Tg|zfL5^!^bgM(| zOXz(oPExnx?dQHn1dJjfAAu73ggYMcYKAUwh@ZQO3K|jMrLXBh=cZ0OB-bo5J_d^F ztU6QPu_N-E%?f6dS1zNUZrk0?+qi#Qe*_5X7FJKUz~Jydoi1OOvW|3@J;f?q72Tp#=3*?kHFJX~w0V&o?JKuc*C&M`!q^WMfo|7Cr>eyJ_;k^$C zUarHsD1FOjPAgUEcbXp!<_7QF=9Db?w-=q>ySqA-z>Srtbs7gEuGIEj|(VH(pn@Ik{Y`EUWno(9<0S% zsl!=zn_l>Q^L93 zQX#P-GXCl(8mm;}cWX0tI9#t?t5UPocF&8z#_N!br>JedZ3#x)QgE-+sRckUrRz zUEkQPtvjgLbvvkN4}2HsHD(HY+9%Zdb$x&4Jn(6Z6onbwm3FMf{IG*s(sWjz(Qqlq zw@ktn0%#i5??0yO=e8C(&l^#yoAqx@;|vM*PQ^1;0e_5TjPnlQ-vO^HZxSJv)>s>L z>M+h39M~~E15nSim6rjUvn6RP1XC|9{npSJ;a2_32zlS=IEzF=-zGN7MS{2Y!Wngu zNCDnZgVqPRs3~9fvf*;*VAuz+Yy}KmymJDEr{PaJYth;m0=T$JHq#3Nf=t)BP+nvp1n+iQO5eWSy6co7myT0o;D_W4?WLU!5#N&Fv{I1csC^I*Euy)`r zdn>sRT)UWkf}b~F)8TBARmwqzfR*!hlD91-wNhOOR(@8#9!{lD z+Hdyu2N_)={dG6t?cL%Mf^l6->k!-6S2aO;6hE19UeHK8TZ0YKGI}D1^tsJ5Liluv zqO-eye2r%d++8@BKlBXgm-fV>_;f-tacn^l{EV}Eaketq9Nh&>Z>J{_o9Xi>(*-dv z@J@oM*-P>qz@%JD;f@@Ab8tOEsX3zbiT1P>^NTP@!#Kh%@x|t-F$Z&r%Gy2sBdF1m z3@+W6jOh4Uo(~_!!!V!_SH@@CFe8l&N!cX}REP`E5l-fc{K|lDJM!y!JHWFpXJTC3 z)lXtpV*v%WK7;$-f}K8Z%rby34y9B|UeJtxBVmZs6<^u}x)9_ota=0o6g3vpT(Y2? z_)3YaAbRPP+%p$wAh*e_>^GAVlMwC!JGOSmP;B8>{2wfZKdqG`MAN4quJ$5Lr z@__Hb|BWD4EjT*V`%#~9sfvoHyNV&08q9LIIO?U^YmuAlf9w{j z%gf_iU#a9uwwv6@Dw^5S`%%>Y@t);8sp19o+@Y^u^oIp5UQC^e9CUaCUdUH^`pbbH zRXy%W%O>V!HuP2waNz9ZcBzW00;gXv&i?S0s>HY;Cz^j{z{?TcBrdZurBwH86X-!GE$ePi=fVpN%ybCy z>4}|pZk`2IFQu!S%f)*S;?#_MpBsPaQcQde2Mf^zQ&e0$MYg-Ru>JJFPd2q~A$Qrz zVM(xh5&8d+fKmF+=^Y!d9Jify&32Ys#U7NH$rO*B?fDTWa|aI(n`UokZx$p-KC>wO zr;N8v&}!^mYmQ4!wkJ3rZZow{x8;kI_a8w>-`dYkIPf>4FYoPx`K~R(cnly#WKC(m zd}V43cv+(P+?Sk(dZa?yx`X1?KQ3?3C{1FzbSxo`T$cSD)r?CoEzbtT`z-P#$iRC1~vrxsn#U?cIgJ zeI6R4%O2qq?9S)%h{4Uh$6F?yv*_|`A8WG`Or4%8awvmI4%De>6;~3w;sa7pw#|!}vs(c%D#+dPUyOs0mP?9L-Jp8l4ReWN!L(SP*RpN5_Zu_m z)A8E6>v!2i62*&hs!6-!>#~20kJ}WqQ3F{z%IoTii%B>%?a#k8`)I>vWd~TTJlC%J zTFt0-eN)tUGnpE*?;SJP$cWN+_eg!kXSw~|MK<_OwBw7GgOy5{WqXj%xlI?iE;ROa z_Z#ZPyu>ZK1)M;t&<(Bl>hjve;>eBZu?=|ey;yH~Y)oJrL~1=A-|gBn2hvC~_zr%U zV!}F2qSZw396aE*y~fpgFlVvAnp9Fd;pN@0keUmaTMxW#BS{ zd|bT!9^&W#GSUcYGpijB0A1Jif%XpLQwc`RESjC_#xK9cV-`O#pYxeecO&fyu z)_^=(Wc>7|eowu-jno`5<_5$&j(ZDJwkTX|!8NT-zE`4R1oU^aKJ*yiRTu({( z2i(~2-+!>_>H?aY`*6dx_egT1EiDpN-T?eQ?sk{7>)0Vev2HQ1$otRWgM#B=MPG>I ziom6U1ZHXVA#tqgr?4;X;mv3IctYER5Vtu+3JkPxaVIq;B7n0E^Xc z=QUUZ&Z(QEcx};Vw*9ZTTnCntooU-~5YIA{XtOXLR<$wuK=#uCOhkU!f*K7iy~A>5 zh;^{u)f-jbx0G9$4Nje5xN%@YxW)@|GiiwxA(mA#8FekaVPu$T?#jD1#&?e&RIMZc zHn#=2NA0tRG$h8Trq?Q^d|rFe%))7$HE;0e@!2!1EK zkVk?Nj5GfG8H2>^2RW_)fVz@;_|?Lw_e0Xm2R)1BS`;c~M)y`-!%a5S_OB6*Xq=beRaYUxp2gOPlLywjQa zV9>qHdgcFYuC2iKdR)~|QOo#hA_-6wFQQlH><1!BUrR<-T|b(x01@h-YR`pp6P^V3 z4zM`6Nny@Bh*EFK%Xs6oq3*TO$_}Vt+I8tWm!!?U z{B{fz$S(v)_(}06_)ZrcR-hQmK$-%>;W{dv-p!xCfkec@)U8Ojo^iD+>V&Drj9G=` z8#%)<&SM9ku4E@q{LVNZ65%5GTEBz1B_!x$eZH zOc#yrVGal|8NZ*yN!IsNk(*sA_e(va|7HF(h+1wkIUU{pm}a7Rd>kyu^031-g^ZOZ-Tss zk=4u$Zx*_cUU;fLy|3K!QGGN9&f5*OS#G`qjvd}n!>O?r785qFa9UXd&}nIsW`ud# zJMebzDiRuNRl7#d*4pF4sURu&$tWwFSXpzrh?QjkNK zSUeYq6V;uoA?We_1SV!OT*Hj?efkn(HdpN?plR}PSx5OEV984_R{Y%!22w!EpaM|m zSJ4*};f5a9QnsQ&8>*C|b@0Q;jsF`3?L)=4g5f4i07&buq%CENqlXuJfo)}z1 zLlFCrPnqARJb{(e*GtEkx*8yJ+2C~h^ZA*pNLU{<#yIB`Rvv$u+U5b&RN8j6&yV*v$mKet~&uX znV^mGVJ5hyUUR|D4?SUfq(V1vy4)(Wcc2u*#F26$pl=k&xiXBJ{O4UT-f9ujEiRDI zOlL@NN1HkBsbkIPe%xlqHi3|C9gD~kn`6YrAE&0&bl%v1TRzva3$ zlKNC$jnGZK9TNaN3$^+De?)x;R8w0MZs>Mwh!nv>lOjlw4wj1;s-OWW0$xg__g;dc za4m?2CMBRCAfYKS6zQU1s3HQ=0!RRnPH3UNIsWghw-$HZ1wzg_vuDr#=9_QkRK&Wu ze|s1D?2pI1Iuhw59{@GjR`?ks`Z*q5?f4A-(iGE^#FcfiR+~K&-4?tBOX@!-_7Ds7 z;(n-wrOljBaB6}0zZH4&Q>3)4MAKDF6uh~^rY4rwMgb>+qC@$dS?siahK&FDf-{O{Poh`6k70A!Lm#gcTp)mLV=g~aLf+b=`b zzP=Irr6LBmaO=MZN^{cSv#AM(<|EE&syTsAk<4BUR-HKlv&xP8234E#?`%-BZ!g}H z{xuD+OL^TAdf8HuVoOJ!_i?d~8HSlj(A%q{x$M%+!?rf*?=#E#$X#dkPfbj3W*FI~ zwLIom$XAyPNh>BA$F)@Wz+>< zF`?cK2UT4%XzOe3ui;Nm3R!#UXq0Vy9$JN7Ab4@uN#8;4Qn=yqXQIkeOS}r>jTIYb zbqj#lxTR-rHnuPuHrf!{J!vnKb_@1*+ediPwxRMr(gC-D<-+^4fXHmq+xeKrAgPlc zhw(oAIlI%$Z}kAO$a@|A=iYf17&jA}NS)rXoPwEr(6sewQYbK_%ldqzAxOBZGGP?3Dqr6 zVD(d-&zAWSc6;LbQ{lTvWc}RY>qP-nkbkGs*Evf1 z;p@s&+qg=yPeNh<%I5uM!PHvD;a?yI!ap5+_0X`3@7ed+{a`}GaTW+js)rp@t*BBz@{=hRm}U>9D@m5@{wM&11V0$mNP*u=wl-BUcn*GHff=)+MJgykAGG}LLa^S8=`*HGAtn&3W$ z3hA4wPXc=6^v9A)S)@=FVr_;=iifC^1Ng3@vDI1MC%^|EhP%rI2#$Mw>yE9o>$E_6 zmdPicuxmyMXZdcOKa8^3y*V?r{;5D~3&v2E3G`)u!cOgrEdR|3mj^aOy;t{?*)br_ zOycYX)CYBscz-&#Uhl(xj#!&xbONBp9VwT~19L(=DVp%6obv=Ox77NHfFPd);vL2I z9Fkd@+Mpr>5HV5Ia8-`b#;Z6>BrY!f{=pn>X!QTA*`Y*HESh>^?SI+w1y~abCBNQ| zI!J}2IU3o`eHbkBwDt*7R#q>C=vl@knll5uT{Qm&)ls$clg0^+)&P^wWCPg7Oa0|7 z5*5b^_>R{O$wtB2YW3e-3u&A&h#WQv(qUnV&aI-c04Qs7c-tL7*JCS_MtgHFp0{BX z4Lei{9>wkREY+xCe|}r4km!s7`~DNEYCYROdLeq9wpe>mHe~Q`BOFOK*;>6{`PSx7 zuNd?v9cy)N_X_fR;q96Nrf`^;0TQ@x|6nXP>|P7jc^)FM?WR9qZ7l`#V(Zi@oJMzw=+%;^3hEsRNArKy8?h8U^Bd!!z9Knx4e9wMy&*IZy{^ zt@NX_dl>u873B{iMgL>p0!;piR$2?0**?j=b!W8UHU^^+vMCwQi9io4y3XyTD92Uy zW6U9uDv4M?L6Z49L%z6(6rKMz6ugl)ib3M`gXv7j>m2Qz=*@S9lNeQa1OffRtCko{ znn1ca>%4L{>9p_69#K>+^F~U~)_ynfQ?os-!mzh^4au*2>V?BEQDmMuhE2B~QE3#P%iCuF%}{0~VdX7nDohmP51NWF z`p045HLSvLD*n+oh$Hf{41F&c32Ql6x8jG}(Y>Iu+>zOM#oo2ATNYGpua5g4=*1m7} z!halCSJ#sxdv9V0j;9b*U$?cc9}=6Q_uobeawneA*aPDuf&8ValQGG?D&+ndtThJ2 zA6DP$Mv#(`ZKGzYo>xF2Mm*#Y_6D4wBc|@ZQU>fU4-}=`0IMjZaT%RCP<@LKW1e&2 zLsuvK)j1V)Xx0m#fLvW+-B{~(PoR&-_n#*3=T8UEEFiL+aN&7A#RYvg*;BJ<{2BTl z)Vr6ku%GMBs3k7=By4s1**5O1OOS%VSylu}`qs4zES0tY1|m99+#CKZd$>RYD?h$NByX zzVi9aqC|@P2Da6e&^Nh4!UedT0#|2Q;f#TECFMi}sl+6AzA|_!i6jPQ@w5%JMLwj| z%S;T&%(L)DCE79vALB*QG_85g1sm+_J9%UjviVO1mH}>2SnkP~hSn219gc9`A|@9? zZ)Bv@XLep~e5J`dF+ct3-|&g+zhNW2ll(Ja^RTQ-)g3n~!l9_M*e)8_sm6kOf>aWE zYD!{v)-|`zFy=PBHPdS5H0ePivEq$6v3l9f=`tnnOB@c>djHwq7`Rbal`o$aM-%n= zxK-)5fdh*g?Dso^M=fW>j(8g?I$mohDLW(C)xEAEybI3g zu$Vx0)Um;C2Z^0E!7#<0=$$_?G>JJkQS_`!(b#XhRQIro*bGZ5%QhwdYuor$^Zoj> z_qcJbEsINQlA0@7rF_cU5c})u2RB<3!%jOp=N)5(S{{`3I0a_1odW)Co?S2#>C^l~ zpAnu?i8VU~D*WaVcPdTMdGHeoSI^IaYPPY>j4#5uimF=F1UC-nSyS7bIlD>U&A0z~ zzwm=eqw>E_18E3P;Q54BxKd8^4(cfC)uVIL*VI}+jBI>0z`cw$XulsmL7U!5b>5lUda4g0264U7o)%CDOM}9f1tKGz{>}pA<3t@ z4e~b83Jw^Oa^#iu4Oj9(DCRCsy(-G>L~_>EZq`OOqMPQnwW7PSV9@% zHzm;BtqQ1jUz>{CD3kK_MoE+pP41iHf!ou#%EY-!kkj=&-E*xVK0d#|3Ad{~kND?l zjuy2HSNi_^@n}&rKG=Wm7FcEfJ6r%hwv*n_IMPvvW*4mDX0QGkU}A^t0Mt7n_c{D# z41VAzUuAqLZhXSc_7zTwB6wj4Rhwa9hAt^JAytu+Gx9;{2I=BWeP^=C;yU5PUM8z= zF`<()mCM7hUFSzN*Sjhg)>)o_Ge07fss=9E6)kuw%`7dhUH4TAI5e{@6W<0AxcOJn zL?r#Qd8zz2YlR+Et?b(=J0)@N?zHSqf`T~Dx$=BJg^p@wtDmsAqt>br+7zo@0kp{S z?b8n2^r>0!1SkZc#O&bw{USaJu{52+2 zf}ySW=M%z=+7K3$B!{B^$k!`R|-QK)dwLVR^&8eIoLE1uR=w3jyb?RXs)2(pd z)|8Ig$7^pidXBMJJ*5ky!n2knN*DAI)tra$)y~|LwYpHh7Z6O7*Ej&DKX7-5A=t?N z9;tLc?UQ&l4K>OKF;-@)=YJ4OPMR#%yU8IoP)5}*zC32%)FfpUz{9Rq+cD_WT2!gxk5Bln8DUI5Huh0Ym0^?)I#Sf8$OCV??D?&M&5&NVk_a za`g0{I|p&CLqtC59Px8qGw8E=)w`V_6AoFstC+d)IRhx7o~oe$Jg4AH zHc`CpS}|bz_ggZROIA>1&hl{%yi*E+T6bIkWmB%_AgB0igew&Q=G-!$U{rDbVjVab zfnmc6WfnawDP(@6GcL=nObGrRl2Wc+0lP7`v9dQ1=!@QJat$2~e0y-B(-_>*SUX-R z0AqN-aPWEi7)QZe=)91Yk@-=0rVO#B%DG>kR-L(AolnUnHBYr~ zPmF9E>A2dCWLaN1l2`}D`7VF2ByK+mbMJ%UHEzHrOD2AN_Qz!Yab&Dxnn0fX3n6&n zm!MiuauY{1)c?xb^XL$Z_eGwmTl+fO;TRd4d$Cp*s6>d1ThaZS;{_lE1DWXgG_G9C zqX<)|hK}X;ANfycYg>j>a4xVA(Bpk%;i$Srng^f80Ij1u8BlaUI*&M|_rVI*%c0c# zq(0ENs6qe|JW!o4ng$qsm1rOY=)_7ub1)_q00m!|;m3-^CkCb`HDr_Z=(OMeoE+wY zeIKlf3LooU+v6D%J8cek(u`Qw7lWCo-^z^Zdnkei*oXKWye?sXZ>Zl(68+i5kT?0n zkTP5xvAE}9B6XtMw}Ds>ITZlDMh@}oA?*}L z)nJZBL}S;w!uiZQBiSqX=YFSHxl zD1$jnv2!%F!I5hxHHsmgL(TmjAmV?uMX|m9jA4$Y$joWN+XRjx9Rzk=y?$!;Oiki`VsT{KbJ}TyYxTo9eP)#W zCDp`0n^GsM!@r0^HAq8}WX{Jzxn!p(Ceznq%^_v}FNuqu1FO>-sx6aAssKBR{wz(O zu4q5N_RAKsim2eIvrWb_!(8PuyHVeE)xNANqLKCax;h`(C)j-!-s(8oRl!wt12scTiD( z(Yc!)q9Vu(3)d9lX<#oAD^tPXwrf!Fgm=_Wa03;=y_yjA%}%8`YD4?bu`*u7o8%jY zTI{!b3Y=TbZ2n?TFUZH^uUs#a1))*|_$Eg9xM1!SME0%JwA;Jj5?Cemny;fd8~BmR znn-6%mv6&4;6miT482Sgw4)yW71q%Qb$2&ke8=ZYVwPDDLK`_mnHP40*?_%11_9ns zN!@vZa>LbFvvo8g_NmAXc%XrzrV2LH-KXVeA6#&U2%Y*l2T--Hn_5a1kw5Aa#%YzK zS2ccf8I3H)>2oO5kiS=7TkIgqy|tskIWr$Nz%wO)T5lj-J_$hZ&M~fE8l5L8MHXjZ zIoy?eM+FM|>daK34tp`=Qzw=K`uvXULcLl5s&;WH$*#=MyL)EhqVJtD<15hBk4mQX zcqgqYaGQG{e`O7QEvSScJCis0;&71_*hdi^|D4nq>D@Lu@XP>4SKiH!$n1oo$Kn4B z&mV^jVIDU99xhD0<7;HAL~MRi+mb+5f}B1WM$u$L9} zO$jz^@2bY{8~P5U%AIK$-`jiHEnkoPgN3LS$#@vJerNnV9DVqJ#C@o5sLqUQMnu?i z1>o)P{NL;u%~4WQ=@Qw8x*IoGRnJe1+sK7zrug={D6nPD5-Xy>n38vMr7 zY4k|bB&2oUlxkiyhZL1}BzIoiQgCKNz2X_*jhyN{@pSQ~!gE7k>MX5ZyCPQ{?Fmi^ zvVVxNnNZ0S+~YGGc!XRi;4>Kf8a3tR)zP}31rby$ zr@tN4$ZvjpaA zUoU397_tJ+u3VKJMOSZBuga!l&5s7|^xo0w${P+! zyFyCp;f5vK`lPmfot}Dd)wF;I74E>J?~v>4zdZ7B?cn_0Uvh*oxHALmU^959$P&ku zF1MQS=2IS3a7tVo!=b{n*PZEWS6aOxZ>ANuL#1QCQ5SiI*Q51ntfR(HReZ=g4-{@T z1T`RqlK>iiz}eb|z8z&~9G7Ji5(((Aj%sxEh@fIEc}6aWbaUk;3Z*Zvzt~J)i$Fe9 zEHTu93Dkyg77@Mv+tZV)$Un9)^5|knB$0?v3m_)ki&RCytLVQeavM3)^RS_+;M^GI zT{W~#G?BTn`*Pf7>wQ(HR!G5KA_voL{pV!bS7LxYeW?on zFRt)E&X!bt(m-@Vd1{4?xv;}SC0hFs>Y{C{t5r{>=;tkaXQ;~rijYogneAq^BxTYK z4zx?N{-Xa2l~8TNG{^IML1PHd_M2k$?AdLXwbMXJQl~yCNHmH6FLi5GC=I+#PlL1? z&ECz4x=7zA0&q?Ly29uaLTN?dPJPbVW@8y37H=eAs5|qHZT%%?L>4Oy8Bdq0R7m&rreu&ep|kw47CQQKV35Ydt%k316fI0CB; zQ694L`wPlf!I|jP%zf-<09U!S*vK^bQ-k9=0!|;dMzZsWtt&ILBkW2fShmXYwh8kG z56Ws>kej;!ewx?7s+d9igM_3rQtle2Fb{FAzR^6M38nZ8#Gb)|8V0X}R=9cfvk^Zf z>d5k2mcrWqrM6%7j;o|QAA&PM;?epzc$z|L+rVrTAH?bEir`mLzq#KMRbtYn?X4xw zp@w;91k(U3V-HuR)x#m>@6RdpyLLZtzgL2iw_TkT-y)r8_l#0tn%}a9ZOIduBM%MBc@vy&Nuw)GzwMTGMYTahb~~- zBLw%7#lUU2gH#krcR zqahnr+C2NN-e2H{h`iB$07?sNEN=giK!B>Tm^i-0VHx+JtP!p8Ar0b;v-#1aToX1$ zC*W5jsxoi(jf5=7Ie{^#xYU)0PUldyPmt|MSQW$)7r%Sw{!tN}J^=-lUF-wT&CDE# zvKL?wOlHisVvqUWqt`KT=J2}7_|XO3%s~wT@%sn+WUzIezb zftJ0`q{!&Yo7yLOP83#zChP8eYEQD1@#O(C{LqIIuwv^a$$>Pwl_u;Jp)cw=pa-9; zTor@t&IZ8^9g}0KbLve28C%2Nb1bn)k{M{od}=_R`v?$L zJ{0F@6m}gcV@SRkxuw8XCY6JH24TemKf#=fXb@U^H(pA)V%ZwE(7sg^!$%x-lb#AGFI|AwXXFD*rHH)L$Sdy;Ta5xv-x ze;(93fMK%>o$rNPc>S2Y_Bi+wboUH}?sx+BW@AC|4%3#@h5~myvu{XoSpNXd<5}Mc z_}%M0WF#RE`EK26Pwl>ZSIQ=QCqsc9brFBlm+*o!Vc6sZSvAn_borFl4_^WZHULpb zV=%jSp(IDGvWSZiWz#fNeI88+0|TD8kE8UiJRxflItqq4wsM{<)feuT0Y=qDo?!1C zDwS7|U{foltX6XkA2Kte$U4e~C@Y^eFeri><|QQ;*jP~spP~336_akSmbR-wH^9#; zq28O~;bGAPY}Y}+o22Uu^CxS$BmS{!C2i2SA>gVuymBJVnwGngEA66|M(YQEDBmLn zG%TcH$cDv_Sbgubh0o|ueGfG0*)$NoIV z5wWR$LHC(TU6cq}UL9Z~K@$;%#FLdP(oUBxMJYw*pppt12vE^|t$wKGA<0cTW+evW z7P1=>R*)JX)P&aS+lNpsnHgdTTcj51_nf#GHenBG+>GEvz68$!x2+@-3{Qm}RNiwo z;w{G=rQ*7oIV=(Dg?+tf&;F7R@*@EO@HsPX(3)=zMoq3p-3LMX8_nb6upTWBi4M{Q zQ1TwoYzi!rJ}$$NnguJNyxpm_`Pzc{0B~++o5V+fSCtX%tGc8yp!q#$LRcS5s$3lz z<>ycPXBX43UzabEz^-Zpq~_}ANEZ;NkaXJ5{Um%^17LyNK4?EocRWQWnNYWr(k*_3 zm*V+>kM0Aqj)O`o%%_o6`yC7Ncd@rT3RdlBaORFCj11k&-^ROvv`JtbHJK_bA3f4@Z3%QG$mGK>YvWfmDo+fP;3_mmm zD#0L|naTSNz@)0dh@1u{5}Tkd7BWBY z=+JkCrIwt`rKJ(DCJ)(^F{W>K^!s&UQfJrDWLN;c{pR< z_=>j>;BfZ$UnO4%)6y~;huS0%teWR;ApD97GW=ens)4M{)(Vk1Y-UUpYiA1Me}U0skYg+s%!R$Q!ks*h zn%@(&b*XxJkP~zQr;eK<$fyD=5_@ZxcUC^}X*R-V3_scYqP0C@I#;zc#UAU`dc2b_K7USf*|t76mFnpDM8ZogI>3V2==x~ywvahq!&iZ^fVt@uD-#hK%# zZ;4270dxZ4ASYW3$<%>p4xe83S)F!h{7mbw zNu#+-uAfXed#W&zR`d5VS^z=&{y3Rn((ad=Ks!@a*en$DZXceCPtwCGt3!OE4662v zJ21bC11Q+B07cxug!c~$Boz4#7pbHOJ?ulcM#{0QHy9|){@78XEM##0J2sQfD7R0J z6Gd0Mxx&L}nM+6n>Yv^v*)T=!YBCHPBdC>;z~C;<&T^XTXRO<9zh|>~w8T-bHmLsf zuG*oe&fj?U(MPu5KMt0efa`v-i6eGPf=p>*MV=CKuKr>|F4$@_O$b-Byc<=^o$DQ_ zlXHP)j1&`-%?NzASeH2nX?9&1yDuJ!1)yEn%PtuXVEh$E z97w-e9D%lld^lNe(7nv!c54PvvtC8 zj@rw|pEbZH6FW4^3yNWY+Mr=!WjS{7c2D{7XT}(DWw^`BSJBkX-#rgYUATTd7Q$KM zYnoNqP{V;g$Z+R(q1RTW-bi3z&}d|V7X(Zot~mSnw7=g6BQ_fis8hoB1&QPHNf(im zJ$67d%=O;+duZMNCJwewT;j%W_BYGEw0B7glBTqqDI~fg?E6|KIu^5 zI@X>q=1rZNpthAf=ysOne+IGhMOU}e?6lbD1GSq<%B~Y5qk~Hu5GHc!;2?&Wl%%8d z;9;-mU&}XdXo3s@xrTF6ve2B6^0i-`dan*aO^?1@G(($FRD`Nt;JV98KWw&;M(y73 zaK$BZ1rque`vXU*x9iHTs`gtzRXX&n|J?L0c2sFLG(4{M-ige7Z(~XNn*taZmj~|N zdnFHmht;KcS|0j9qW#6@Tc_Nf)6(@86{fgu`8nrFFhVuyCwD#}J!bE5f3z1@H>-PO z1rn8&c(H0{*>(-H-6ibVyWXb{!YsVd>do^N7f2aj!P!J&9cQV%ls`n(yQqQTp(~`* z6~P>c%jJu)(voM=OXyH8Hg>Xke;08zi8Zp&PM_@lyJng*8#_V_jsjDgURT$G@tEy1 zbF}oeOzS4TB3B`FQ$}0q&|Fr3N|q1b!QqEcuf5RS4Q?lX{GH88dml8>Fcze%2nj2V zJ>!*w6bKOhLt$sEgI1;9vkyb*J042!{J!^iIh^D``RR6JTrU znRe;^@PuXB`i^q}v;Mo161<{S|JU`tIgK`Joa-5jl!D)D9P?i5qi84Bdp4)Y!4V-F zlVKtnyFQu#4LAH-erR)rLs`A%;6YU3mq~_JHDiX;%fm;UXO z6a=;c6>hp9cn+@j-rfoD6@xpr@=hyrv#T)YY{7&!&Q6q%ufQjmwAp2?(pI$H5U5gh zdQll=Wl4C0EVzkLg7VyoH`ZA$WonAqE1F2u$?4S1>1-Y!54xbJ$jTOO+C8&>5vZlq zG_vrgL6FDALEi81$Cyd-O`Tox<-aRWtryy%+w=V>7J)r(D8#tZE%mOYiP$#Dkmn{i z8novy#;i4)t=Aa!)3f_;94#I}S#2}S?On<7m;%(DQy5}T2y!1KFs=X76MlUsIsPL;b5)|1IVc#WmRFGEj@Su@O_fqs~gw|c^_eG6Uk3&yD{ z2^VYc_xJX-7>14wx?KDA@qB@a1fZU))k|$D&;SMWa2UMMS6NM?d4W>?$4=2jMPjjT z+bDAM5nOgEx*_RU)ITwbN}l zp1xIHG&bm8QjAm5DYE|jg~~88@inn10Nns#&l4Ark5B!72VjADCpeiFO7EAkpD!_;$wfF{(V7X-S$i2ty6VuR!-X3s?xeLe ziSs!-_ep)apZ5n^q{ASJ4`3Jz4Upqn;hsaEBeb3M_CoOfMyojj(H3D@K!WthqjVUg z^FT&mXc26tCcZ)9FyYTbVcQ>FUH+8CVkPW6?o^`vRvf74#v7V+7Kf=pVZRz@Lw1H- zT}u`_H9Zw!KkkeCSKbhLbhWk!f@@v47EWC>(9bJv`z~H^XR+VRHFrDUh6Cv|NW#a# z6xQ3{RRihK9QT>Ooy1NMAR)4o1x7|nEKfYA zrhbYZg3YCe*4v^St$o;7Z79&v&gk~nXc^53#*esBKs5`$jE;=357alrp4Gt!fH?Co zLR}KGK1@s9h^1NKao<(gQR7;-MKg_(GCR@ms2l$#)XdYP81x-VSX-ZlP_ikhxYC8t z_x%rN!X@Zqm|FRJ5*O$*l~1m5+e3SzrKJz4q$B})eBRxJZ`Fb}B_Z!U`cPN16so<= z92?q6Ni4UL)%C2ApitOW19hGRUyuLo#|_pn1&Z6@bW89Fdskm!|Ji)|(5m>3w=Etw z|7m=}DCu(=t84Q!sU$tfT3m?;X1wqp(rJFO(e2{uI^H~2O;EI|kv@*vI}NnxNC*1r z;R|jUOi!=6M)M=5{CDzyR3`UnpOrwWg=NX5FVSH_6l(E-ce{6cq8Ibf+n1(*$~PsG zs}oekdFsCR_6~eC41vApn!mTfRl~OQ0)5PX2u=shgZskSyr8@SLD&{t%T0|i2Bq^z z^ZI&Yo~NQb?R$_sg}B)&gu9!>@$&%!k+0%+DwknWPo6kY+&M4L%$3Z_k^p=X)V#3H zw(9*Ue9T@J?LRYG;2?o%9At7AJd%Ufm_~T{%^qLGkRip1opJ?66PGF!zj6deB^|>% z*d*yaF~&Lk?Tn(f3d*`6E!=gG}me|lB{1b!?84k|ovDOxg6 z0CVH;FFY*;9af~UA61KiS6jDk5v1;g3zMtLU!?!I?CS>E=NO@M=&P!GRa#dUhKZ?+ z&E9N$?E_&nmVQ+Hd22L4ch1!qS!4A*3C8|PZTUCv9f4k`WmR<8P%&rmS;Px<(c4B- zyl~CyUA`tJCdKE@vm_Y9`7`tXJ#7Z-hRFhop7wzN6Tzy;@m-jLJSMkKE+()dLNV#n zAneZ}ieE}P0)(H&Pt6v+3iDe!nUj*SNvw9@a|1i-6zkh7moDU99vDiYxm)x=PMyV} z+HV#c$D}(Gz2Q&KoU4xSO6Xayyk%xaNh#9&S^+;OXx$Hw1hZY_wHtGkRp;(@DPjSb z#%6Y=`fuE4(j|)J`9z*U)?Q_^PW~j0h(;Vsj1ptk4;P3>l6Jq6;^N}d$KQRv(9^Rx zY8@u(UrN?VQ!G+1OZ2CPo%x$QhD&^#;`D;nzb6KUGUL~A@@<(BwwO$tM<8l%^GG$; zg2SYcIx3_|eQ@tWE}Z9^ck#Hd>+Ili5C(~b(90+SSAaV+D@~6V^7k(}!{!(ERJ0S2 zGRQFPv&i_F0)2E7N_rt}1)vKQl98nkkmZUCOvx0A!p;C6t8b)(zh{5prJkGw`7(U8 z`DO}w``;t%eINFC;*==Xq-yXmC;!q5r1EoT5AZGo4N;q7aEud03}rHG|I(o#b@v)Z zP=(T9vsOXb0O*eBpEef??42O#7Ggwn zE5rVAH8FwXzend#^1JfuclJl-8ak~YS3TI$!UOSHyjTo&p$Qze&X4Uz$$3x4BfWFYYxTLU649;4()*6 zW}D&%-!|z%rnEIA9}E3<6pH;&qbgCnP)vS*?xeSqO3GM9XEU^WXc;+pd!K<|!OSB6 z$xfxUqr(vdz0J@p1o?uPHvqfwt*ZKcWc>#X(C&fA^pWn%ZEm#2-6orqZdnEN1w6lS zU@K@{hE)dosc}a+_AenpvrpCCiBNfRcBmo+Strifp(h!hwZ*wpZ#t{=SZDn z_mF_U_5p@+Kggt)ZqCq-!P)9qAY_I%7PZGX_wGeC=f%!Z0BJu*#9z;U}Omm3_YA+~2y`0^(A zJ1DCp(SH4#oDs*xfztimo^y%fftHg1Xn}*TyU5+#?l!R~uOXc{>-kMh0!~CtGZ77-aPGafOlox z5Z2W=F5bo?Vk3>VU4;z8m?Lj?;An(Rs=M0PwiTz9n5&Gg8sD^AtHU2tzh#Zi(m4P;$?JR$(jd=z_Igi#T@ zsoo8|Wlz>yVt$FanT6|acKHRK>j`ka-@y3J&bs6(m0Tnen{1StK-WZYlZIYB@XdmR z31yEBTxlxs_`pd|3#Ni>HH&!jn0Z+ZR)e@_mG)a6M3M*ZzCs(>iSZ=xl@#Mc7=tsL zayvhI77e#Yt=pWO$2hk8SGt|3LEdtPY5VE(l#@tD*gMJXn|RH^50{D*0zU2d;Bg%v z5jWm1(wSdSQY`+6nHMCn{BT_WL5Ro{@vS&EIsRvI`~u_9a$^pk}Shb(M&jxniEre5U zPHnIqCOdvL9aWZIsDQKuNK;7aUv>ew~Fn}8o zL2rlPadqp6f#PAHpdG%#A_exX|BqQPPs?BP^czXJ8F6X70Ff_rI$&*W)!i$%Pa^;I zr_pOA5FdkfJ~w|^qf0K1OOc~$8Y<^=F0#j>bqWg0g?;0FHc0&ZF^m4V(QVG#1Nl>S zYG+9>CC5d?@d(s@a4(xT-!_;b&Hl-13-)+i8*(#!Ljfj8&wjTFuubg|;@CkekTnbv z3O>ZeSWYt}VU$UIYHA6{NwV^rT=I*szP=cb@CjK$o0pg03+VhpQn_uLm&I|C?eZ>76>My7Np6~Y(@&!8hVuml%p<^D?Q4}NlAWFT%%1_XC9;h?hJzAJgK zr7rln_@LE`E^>V3*7#UsCdrK8h682F&*qw)2|v0-jc3}zo1>DbTOn0KJI45{0!sOn zTXLE`OKkIVLJaqy6A;6X{N<)d1TL=E;W5Cm3~mCVatPIjSCjPh_BKs%&Q6efX0guR zS1!JK-4N?|?%YR5|BpNegta8|%#0jX*CZ#Zfc;0~VWh-)*pG4j|7zqHl`dxamn?GZ zr1j8AxYY=7BZoPUxS_RHzpx3_!KHOMfWDeUbo~=Bc!rj4u!yZX08shtlyhEr zO_lJ$T2AB$Ci_!C>odE%;c!2-uf@4&upREmzJG}A-O|-e&pv_`+z;rPnTu%#s#QpL zSpElXwlGtF`L_J)u1^@n#rXUJaxo~zySjCrB;Sh1k&lPz#d)b%mijwWb+^IMPczJc1gVB^yl+%S5>SE2yD;TKp{|nDHR%abrhdAHKJkHQ7^-n^FU*Vo`9(V1*QD+yP=2OGy@bprI{Tw#<6y-yw@Pz{o9!txeS5(XK#~Jp78Nn zPB>?PQwIq!ec7Md+u3k_KkW3x-agqt7o!?FHnL?`%f%r-J@V}(V zhr*)K9#NsnSnqdt@V31z!+RH^!0Oy!>sGM8*Bq6QUqBS#Py{*KQc#3XFnn$4k!zgu zVHRhOD0XrQDuW>~vjO+W!IoNzlnO_WiXZ|_*B_t?qD}J+s6|rDi+AM*P|CJaiVcO%n z9%1ycDh#?@BQsx!d+ay;+nBDbGWVwVczAnbdhp2zTi? z`00Mt6uw>)#_oUvNKve>-+eqf*q=4xgL%O~#ow!pQ>#?_@;*sGU3RDl)icF;1MM(; z2D+vzM6rFD%+^o?w?_n}uzZtHBhYjUItcRG!eyZiH1+Tvc;x!6nS%Tx#|RF!bfg%$ zUg7Q#YtuOt|EF;UbO=89oixOhd_kjVtNz~ZJ%<9Su?-$^ z?&{QLRoHK))F5@J$-jb6h2S}!(W#HmFDx7f8wy@~-uZ7l48&VMvfHCRE{j!3ShK&M7Z$7PKkI^Z#rPU0fOZOmHNe90?2DY_ylVbx(GuD8 zgfwjSzbEHYA>lrteRfkF=2^^aoO!Vt_s``4Q8Ipdyg1|}+`;2$G8usB(Ott2XI$LI zwW)z;R{cuYA|^`61@J zOuJm_+j-W?VY;pS-%bT+q%29NY2(Xs4@uq7%+*<(6J{hL8=)U??9=Q57x(z`+E(nB%Lp?Cu$uPHx)~R|KR7hT?$aJc zzSuMOX=mPyFG;9Oh5dmQop4;`xX)DiuER%!2lU*53v=4C1FMjX*Kgkw!ref;({;6^ zwD^5?^oe;q-*!A455q9tt$WJ+-^C_4BmLkXtEvK%gi1+J*NCT;Spmd?p{h#!SS4P2 z`Hy-JI@ja!uE*K081^eqE*bY67Qe@>DAlxd6>%XOtIY^>nEvr|=>Il+1VtFT?|@sG z4CNQ)L-u5XWKSroKBv6+qDn>(HE^q%CS15Vms?QK%vwHE(CXsu?%?b#$0vSd@i6pz zH^A7xOp5*CfxD>-0jG@~A$#&!|KM~w`G!s*tCg`CW^!NSb{eR(t<>}uZ=fqLZT**! zn?5_Fzo>bH9d^l$+dY%fB7yHn!jISj9FZ1Lnq(t40bsY{V#8L&{ZH{*>M(FvZv7wo zxUMdfk_(EE#3vOL3~gaD_$k_t+((<=l+Nv_B)yRo7V+F_tJp#uO16`FFkrdrBT`!) z|60RM@zA{Zu*`6EBX%=E2HKH1yG>2Kaai4x;S!$MU^(mHsn!9yta1X{cG*QPa0S*Zs!)(p9sep{r+@%?cyc4|?Gxp3!HmIU}Rer2V0+N-gF?xk+ zr1sV5ULL@1IN*mQ_Q42{MyifaN^ZF z?GS`|f8H|G-Iy;o#$dp(*`(8;?TMYV|J1*_T`nfHTSgEXiPH#aIjYBZvwH}$k2*Gx zk|2wdF|6id=xhGd{G)wkPJ}Up>`l6jn#4JYsk@3CmM=hq?!JFzalJ~F@yEhFpxPr3 z4ke?fvd6=Mz9YrOZpCiMueMnpdGWy12rzHaH;n+;>5~Jb9?GIZ=9MXZQaDL;+3E+(#CB7^8EGW z60h1WbA%aLog0UNc4^TH{u8(K;IzyyDuNbM1$cBb3ybEyKYzxGob$}AEt>!IIdz+u zl0JUyd&&BdNW76?|F~GsEbeU6X_8q|hL~|&VvPY-3#x}M7j(^>9GiY6AJaly9TJcp zayZJ=!6a_-Sp%{rmASD{hZNlPg%c!zj4)-2rVz3!t$b_o@yPi~?DnixxLc4zHT;-OewB1SS51 ziG>+MtjNvRcX^{!yk>PnQ}=dHE>X}xZ6jce{Lz3|tV3AeKs(u+WfTAW@Qu%qykVMX zogHGKMBIIKhg*O#aF@<7%9td9T^p}^H>4g{4P_AsL^TVX)blR@W^ z%r7Q_T#WX+GS+xe)I)zRCOGra-<{Ewe)PU!&gFrLUGhqU~n!tw34go~&i zCtq^BzjY!MH$xajB%b4$tL~m~k z-G`PKOAtCjpOUS92X=TJcqS;p!`L%mG1|t*Cra+IhEG9L-GTOViyk{lgLT)whzy%A zH^%D0>!;!23TmFycFyigH@G~&orm8%58=s%8d4TWhR zznS?@*=sP^dUQ7FY0f&41trt7orn(8KCVGX$hCG+rQE@9Tt;^1#|m;%t8e_T@DvhY z9OydEEi7=#+EcqM*3{hnwsEFyRXPG?SqjrTacYNlg*zkAv&7`Pc~#|I(|F$|;xkoF znChHDYc8J-q2$cx_Hy$HGvv_Q{eM6GPmCzcW-P8I8uNR|L5>K$3ym`d5I(oHA9 z_z{i7gxvO=L|V*VWLrDIq>Nh@`p#N=uMCfaUAOP1LdV?W;wE4OOf1A3nC87eMGJk< z0w)A=6#1Q__YAxRK8sKP7lp+mbau$1U2r|Z{eShFiS0*4G{NnSp_ZN+KhaTiJan6i z97#NdO6#n_(_YAgT;TeZ)-Em7Yq-dTIEDb!)Tnpy8>$v~upy2evurP%{=|)1iBkl` zMn;J5eW-SOptqrT0(~1oO2a0rKjN_mYss*2D2CfV2RA!+vWjR(?bObhUi^L2aPud@ z#kIuC>jK4nt4-_ichd3Uz0;zMyifBC%l@#os_S^oQ^W=y7+r7ZhS?nSka7}8{89<{%|JV4(7VS(r;==TPSPJC-Y2@YXamNE=r zKKKH#LC;bYpw$shTw*$jhS{Os0aUcR(&2r>-OG)mN3+_GFcn(lk@3;X-8mvv1x0Xx zQy({QquR#|_tbI69$ekrHoy-VEN&q9BJhG#)4qmII2sNje;)}V-b@#FH`*Xj)vX); zq+bvCUU|ZX0aiBCPc)Nq^I~|p%yC0GDV=+$GNw+m_`$6^D=XTJriy+uiwZS9vBxk{ zEpvL7Q%>UMKK3={A?Ol1Y;CjL)<1Oc;e@{?Me`hD$chXiaLV}QE=(P2e6;*#0;m+g zYA}M)#nr`*oW-@LwixCOKWkHkYG^9mO;hXa0_#gopu;mK^-iMPuHEiQ(j(>4td*LIHrLHQs<+#ROV1aHF!(;rfB7rYJMwU1^$c1-)bn3ttV`M7 zP5AKjJq8JGLvePfwW4UKy=^=@9C)u0JA9^}A{6TWm}ha?RO>xCT?KtRD7T+Z&cbum zRq^RtRh*0dTT4|!6o2a6SZP>JY-X%yQ`5%P@OC3%#(SZP%L`wGK3A3197UAWw@$A5 zm)v~JGTv83D5#_ZNfx&H%myV{1`~is{Y0xqZpnm~Bfwfc6Xgbhy||j%G=5dWH?&vB z_d?#U18lY2>k==DmImS;2YBuzut6`?>Hk5MEQM1tHSM`0N>w9DP~;ArSl&R8Z@XkT z8%X5=(?T^lspUgC^Y}(!mMnkm3~>sXkVr7O&ouw0ECb~hU+XEVsf zcn<%PPII$E`)piN-h9aSKe(*;W^k8O?! z;q(EW-ja8QRCkE_EcLL>LYj3RJo_LZ)UXSR-E6GGk1-Q$A~br?gWG#{$(ZWhNiaLX8}OFCB_GwK`Fu+eEJAHy1QmsIw-c@@^W}Y z!xs2r6JYknTs)YN>k3xruC$@$M7?@{QSN7mH58Z)B?uf(uznVtv z<>Z#fAA%!Neb+(lmx5r7+g!)PC4$@9;4B;mJ`dJO&*9-K)ZSdpv}=(p@Yh?;9bXn7 z0uWyelT0*wS(w3sdiT5p@DZu})WKTgvQkn!loQ&gR%hR2Iq}!-g|adP2B;eaUFjMQ z|Du?xCzsrYCpzjL>bM2D*)8@6A#0uQ+>f~@jue@88ZJWFzVz?&cK<~w!c%$TVoc3B z|A(qCfu}NiAHR}JC7MY^)^e>8A+CLzrgW|2>XNeD21)ik*=}P-i;(x)*C|^lWZ&IV zbP+|e?>Dm7wPpW3@2%$h|GyufnRwrG&U2pqdCqgrF#x66!OMZ#-;ydH#`tDcg^!&Y zVT^1Ww6(M=4N4zjfa2fTVtSuMalrmE!YbD>-nk4Q$kf&|Y!DIUy{~Vc>$nH`sX63A zoO0w!fYYgbSej6V%tZ36J_}1s14)r)mY?dKpK4~b=cj^2IMT~UQRnG~DC{d7i#Vs* zt_zxY>Jna4k712k?iVimO-xWv%0UM2_G^)2Uj78Srq{5k2It=H-%lF3pNX#6smycA z$G_RR^VIMu7KI&!=KG$b(D@39?L6tUL@dS2&V)nZHFx4Wb|5ZV= z9Ez>r+ri#;f!TW^TalP=ZNLq zJ#MCB+Hgg=Z3!wVH{f&z@LLUXMI||}mCn8i1D$4IS?43(mnhZ9Qs$xC$D0U$U^E}*O?#pVpMvUE#QzlScL~cdK%ZR#eF)Fc;s%#BhSqre6`U#j z^$Hx8QQXmNpB4L|NoQ`Lr`5s7n=w3Rp!9*i29xS^i5oO5@M1gP{o*awul!5eP6Tk- zFa4Y5DVJg>>RM;c+;`0>trA19$JY8r%1jI3s={T~ff5@EU z#1?eZ*V8&)Ipy|tXNOtjoNLq^DQ?ac8_zn-W+7Iu4?Kh+^=#gx^I7nU=bO$C75oZk zmzltk%E}4!!DSQrOP1=d3X9dsuYFw}V0(HmZcChYRs%-{ByjgH(zj68FuYyhJ}@*K z__dR5ShUltodVqQtHOrXKf_ax_xmi(iT4<~YeOaMMU&~=Tx1lJ_qGX8=IAuOl|0)& z)YF>$RKF8< zkUwgzNtQWCAKn#^zr)-Gw-q>=vlB<2?&J$okU?4JEf2b2eK;gn7BCc5M8b5@V~ndVU+%f+ zGsD`pWO>yjT}#kTE+Jj(h#hSIiNUbD9*5N)G=fVQAG!kt^$@}>trCzd{0CHQ#JVqD zrf{>%*|mLC>q~?Z^msMstf%)iWRv9-FTp0k@GRc@jcE1BeKFW~OU1O@f|LntcvR43 zEMaf|=2l{UuvYUnbCFgIX0HgFlG^#sf?V@!#AekT1EYs8M15%ypHihF=s)>Q*o>od zx+p$elt}b~Y#AK-0ND!Q1jxM|@4|STNA<^!fFkia;QJonxo9Ve}CDkU=+Ow zACrOlOVR=rlC63>NPz-;O)|1}6HNq@nAjrg?9}Lw8H<&IHBABF3Hf_hEjiu&}=^JR{?Yv}}o0Yz+KnSl4yHry{v1jejwO0W1e2F|#I^~g!~Y0nrmNxga|RA!}3IYykF6v7mX ztd)#(^T6s=ufWfVuSJZ@9(y2$Sl=X6@N)w56N|j(XG~0dc&X8nO-*U~Eag`E9rU-ZQHAoTvK|SL zq77ne9~RyPLY$pnLN)>st5}raL=!L0edkmhVvYDQEBW>b-k!uL+ULO_tE>(hA>YRl z>*FZhHJ>pw4L_MfPPaWaEtP95U5>h>I3O2@a6B!ny*E{Ey1_BDO;z^?=NO%D_mRWa z)HdIeqT0hiEFKiEA06`Sv2niBr#c~8agtVuPOs3i45l}GzDt6W?6gt!xNEx9Dq^z( zpWmfh)`2hU!{_(umvv|?j~R$hdRI;IuMUY<^v!zK%vpqZC#wau-F-Z@)?Icw5lal1 zNTcV7C{JGSN*2RgblE2?4^3C%2j2Uvx>0g+2%Y*lm9-10Im_JyOzGJG8;*(jqv#2m zdWgC-O;b`SmT$DQbrx@#NUur<&Wt23MJA4V&z&!G;AW>TZ&=Vtf*2)Ji?Rs(lFtbY zhJQi%WJupH7Q0K|=YnfT_P$e~%A?A|0yV5DT)^$G=J5rmI7Ul9^ilkwBnfj(D7i?L zC*ukK0}O=0p@li0E*|A*_NF(4}C3vBKkn!jZ|mV(!qtL8>T z6-EAxlfdufwk1D%pEHgu!R1d^wDBRJGk?vsPk6HLTznMBD%|;eonT_d#{-6h>c&CY zc*t?NQP_D};5=gjKBXonU>)Gfv9po@5cNLqVcQQOB3%~n?=PFay*2wUzZ7=%tJc{8 z5MglL_1^>PPm%)K*#zu7&cxbc*1@R_H+=c=9 zO+HvDiCsw_*!}Dun0?#)c>tg$NaX_b5N9$yh7WQ63Kt=*k9n6nk@lAbY)R2( zQRu#e?THvbzd3hXd+h%G5kSpWe~P!z%R>rx`ZUw9K@wn5`>R07IN@|UuECcD0|{bg zeBtsZbWl8QZC>dO*nhbNCb8*^TteaVp%gYf9FZ#_g2Ylw?Gwaqht%sep|?|%2YK~c z?C+z(#}m3sH(yiv!*dERGjf376hF-M{P?4NGpW z+c}j2uT;nYM0fAXpSi&gxg-GRwAIvK9EF0*XIHrJd6DpP&T95&4e0H1CKRi1p36== z2V>*hy0EL-yrmJ)+d>No{;*r00@{}Ma0U;2n`lFbG2^@6&ZHu3ZJ^jsxb*Jne$TH~ zOoCJIs;M8bgDu=B0-m3v9CN65(;I>Lr|;{SBX^(M<<>E>j13Y6WF^t7n(&eJY0vgU zw|q7M>avfHKm%bl5Fi75P zv5SN6SmDN%B3XrDk$-(p&8jM&ap`DgGlI#+@bTJjG!{75|a@1d~BsfXRN%X?Nxs zySB53bLBMF@OgNKt0bmdPgi$9eL2#Oo^5#Z*H$$j(RF8`2?m$Y>r<&_hDKk<#pT9a z+*Om4Dm+AWYf{i&R~`bU_chx0m+r%0vZmLt5qN^mv(1}TD>K9^H{avEMSU~5F^)0L zWfXDsxt5LY6)my0o8xB~uMAbh4gFvA_e_-}uU#9VcN9#R5>B@OoCetSs}jPLw{D(#Y@K-hqN~M= z#R?5t>T3-3YEMa8Y?kIEOJjp8zI_r~<-NS{UR*;?&HIKgrsbX5TYO~6$m=(-?+k-y z3Ir-UB*3HrcZE4im7 z6*O6;rk+{npD_9$Y>3D3eRRU-J-AZ2=sn+)`@-{*E@KBTru!N(ng3#PI>lgZ(?INO za+|-m#yO8nHsL zS1LW1%{`y(>Bvr{Ct$f^caZmO>t+to*e2#%4hZ^~v}$@tvYUvnzU*|Un2fp7)a0Xm zYqiY5Rz)o~_HO`hyw{ar^G$FP$G$PfNsF~#^q$JoTtrue2$+JAAX=2ZreBAg@{khn zFP^9@*(~Pe#KA5d0^5;t@;n;C4}z*8S9sn~Y%O;^0fBbnr?Njel%xCiD-X2d-OnJ& z1mKc}%Tr74mSQbqY_tz6{V~DIe+PZA)hB@aKz3Y+%| z&L$N531&utK(Aj!f)MCK=}WRhhm8}i$(3*i?J{X3{WZvS=9kr*ptE*t$9cEaN6Ftw z+_!xO6n?iqWU)b!Bprosi~hAoN=9&?*g@pGRqIYX_f$YXMCie&o*Yk%vIVivcE|-K zK)TuKML83EMa&j8DvrrqV!nwS9dCr4y{msi`#oZ7F)>VvdzAAM2#{$2rVPiE`NRRR zLUO42?XO9@{mN=v$7oCi{NWlXXjrTk{|5w_`ku$&9;k`_gxiPXWk%+4e|%z1yy_yU?^i!!p{tu09HYmZ?j$LCuEaQ@q(#FFC!BZofm< zO0dm3H~31!H<%-?^bT+;fF&sHPoW#y0C}Hw3H}-erIRQaF|cbqH#m~(6a0I5jZ$1C zaFu+zf5!LhFI;f;7ug9&%ehZm&>^CI)QIApUw$CVKH zJkJz0!yQ+^0Q9;hHHd&ECL6z1q>a48O{ck4=fae;8GCkL1%ouR7K-g^W_}G;NZ>x< z1FEa3yTJ`dF~)Qq^kSze8x$O_ScnEa=xb^T{+A zTHaXBN|==mp)}&WOn@t}OXgaJU#|wILKA#EkVHR)(!=vQFx>4ie!;K~Md+CNXRYjc z&WHwZDLQUgqd1s5Wxs-Jkq9nd{mh5=PlAbNc9%*A*g3FTjaG$nC2;SrQ0Yw!>9ysy^)dC(QI41@i@?NL6 z&}-<7^Z4JV`~7{-Ai2y=A!0*G-o^O_Ksp414H~JQ34TjvMApE796QW!M#BdgdH|hW zHH4eWa6DHDF@FN?IO0JoaE3@8XQG35na|!wx#d=CO6UobE49+%6-u--5b=?FiXphO zIDUN6vlxD}hg&mA>aCAIKRg5ob5j=gwL$K3FFfDpwqS?QKcY06Idag}guOm0nkx;o zp`uhS@ZrOg;Lo+(j&0;|&MQCateG51uf$I1psLHMiy4~khJPFXiIbG)Q9BOqn~Iw@ zqK#FNezoCxrr%#RiC$)l!h*W2syvxF1BXDZ_GRawoWtZRtH9$8t{#m5#&myi*~{dk zz@#nD6Uz+5t4w2x3f~_Fl~Rgwf@Vs(J?g}h0{IOXud(YHak9>L60O!L)u{g&#|5$1 z=W9tNBN8QNa3I^icrjJ-$UA1VH{J#zv2rZ1`H)}&y%*a|fcf&*L{59UH-vwbUSWcj zXiJDuQFlL%&UjjP3mc*1PT^iaL7UCQZtJ3>$m*lLdg}s^j_uR4%idS>%fM)c*NDL+ zKsdHGBd{5$kOqO97d&0hZOgPn<7M#Vt@ z@=&i@`F+O^_|rYCt^3f>|>gHXni zaz_`v;<*|MbS+c z1*jT4vf&@W<_Kkg^<`Fxv;gcW06qcHqb;0C| zG>>GtC4vCD4h72GHGC)i_?yOgw$w5B%Zh{~&}qHU+E=nFCboUj6L3jtR@A3FPk()l z=@lj2ae(~^yWI9R?{ka7TZ#c)T!SE_V(+>gA60uB!2S>yH9KY$HUb?{J{R)T%P1

tv-i`sE8!o(Yqeto#}Dk}bQ&J+ScR@|yj^H=?Jjp{GmTA!ahsZt z&N}HaDi;B9;814T?*utLgF*zyrcR$h^JK#pHm=_vIh4XTio32t6Gzkud*F{Yo@&W6 zgU^ya23i4e40_U~i!>9`mv8Nbckj((ZCp4;nN6Bx+yH3F>_jne<{+PwJ#}e6e6Pc# zj;#|;36cmHgWG*0=SM?ubIy{pGH{a$m@*tuEheVW!B#TaKpO^_Bd*_ge=O}08Ux}i zx-x47TKPEo_cso3;{%O=-G@Ez-#f!-d977uPW=mtr239`)DDeQy26@$^_QKo}+ZzH?wR zNl~CMqtC$A1^+-{(T9*Ua0Ahhh8(u6dopC~1OW17k>amN8w1wFD7CkK%$PB^gk9c0 zLq?DVunBIM>nQCkU?TIY4bm2In%`$61Q*`OL{28^S6&oS-Oq;k+zSSiBvLLA?gx;s zWX3MXl-Ga~#w0Q_)B4`zMS~Ld1LKB9OJG6M8P_hr_Z|VqW@lZax%;E}M$46fKcj#@ zyNi_typjQKaA2dN>)}9TGuXKc6aZ&}3H#H}p#VD$U=NrSTRo42rlYX;pK%9}$PdhMj8RyQfCph6GN7GO- zKU5_@o5B{}EF8XWEWXMHt`_;}dx%!FDc{tl6C4D6skm&7vq;lDR~Ddh3e>l@6`e>fOt@cV(X zmjGxVTtWzBbq8}|rb1=|20}HAToWkB_WhvAy94VUcsK4?X%Y@UuoQ!JiA8a209kl1 zxt89yZ?Hh4Z1D8?EZXOY z!{|tbnsM|J=17@%@U&noMHr^MuFF6>#1({z*I-ZTUmzx#Jq{gclW)Op(vwicJU(5V z4LU1vxdCe6;*{M4gP@um4yd-j?FxF@$Y>1%_>tS2gEiD)oRq{FIo}z(U>;33L>VBn z=Ux3^nsP%Yr#}ms%_L|p%+(T3&BPRq7y_?A%*vlNWrWv^w84X>A&CuQd=LR$-JWOF zQF(l0aJ;&avi>>ezd;jRHIB4#K^!uMZGa(-y_}FClqzut^(h?UXMrjEdD!8OxHRP# z0_H;HKLZith(Y_UaR#?QmkAukuG%0L1b|0jC8V74L|Vo+3+-NoAmr<~Q7-W(EBIh7 z1y_(p(F&tI1~F(GWwBL#lq1dFE7GnJP^^9!K*uPr1Y7V8%Lh=MNgA(_Z*WaIru@>a zQZSC5AOfWXn5!%M+>z*vKyPW;jIO2ClNgc`q=vx@FPE@pj&+w6FX%x(o>V+Ir{PBg zm4>{>*BYQW_z>-tY-E&~lel=(B7(pMv4dCh+BF1{owgQxL9w+^w#8|6uc_I9JH9J+ zh@qHo95?Wky4lo9p@**|GZjU>0H^K)aUL;E`1rehc)?T~3AU`JeQu6_%hMiWKSVeh6ItxFAzeUqWwa{BTso(eN;Wc!eZwFRE?Ei5-gZQN)I` z>zi?bWr+q^A{>zN$X7XcHXdT<2HW^dHxc03g8hMtv__j@Pu~xF`6j*aCs6wv=L6CJ zoK0PmgRr~g%ykUa0rUsC!_BOBV0V&IFiwd;q1&PSc4%Dxj}BDjeEuwaTiZH9o)u$& z2Lq&jWCAD{LU|E}%HOfIp5m$lIH!Q!-6R)7#yGYOwL=%V^$|$$nn#&UEunV1c{4>0 zGP6=mOiV%&!9W+*1nP!pgu28`dqR|cQ(<_33`R}_MAKyl-=m_5N1;SgTEG>gd2H8j zK+0Q7l>;*uEt^2k3aDVnBH^5q+LRZwh18IXW^?0z-JWR~6AZZ88uT{&y%(iz5cgU< zUnMEP=e{xb7R0Zamy+q(cug!D-z%URc&@7p*da7xEqDy^?%K5^u-gK6AGf zVaJ5#I46KcICpk3@-a2U3`V$nI62u)V_`#mc5fTacS1VL8A)^z7;j(cPYJr&_q1ZX zvR+a*Xbu$lblaaCjk^@?SQl;lhPW6O9z%zD4NfQ|t#Fcs{quH>?pnGU5youfvql$) z=P2@<=XXKL(t|5376H)vitpB~18lo^c;kIS%V29If@T-O+nnhvFYybHDcVwMPhu8(22%QzgrI@s>+#&(JMMgtWwJ_%?_=Nu?)K)stF8)jkhleLj)*KN?QkcCS8 zGkb`3U?nA4*0)K;hp%1~pG8rhd053*l+{#@xY0egc+)v|7bdekw|!2RbcXlkvv??V zW&zQ~%;i0qhWOfJ__HwZjh7Q3Y2n|zL|BaD$Em*t{~FwZ9gYbZ8O|rFNv5s7!;FCj zS8XpPP>^)kM0;{1M0oGN?!oDQkpcd7YmrN}pz)74*FDC;IE-~kxjvu1a9U=$up zplg<>4tFJ_e=+}!bbQc|-`DV6x!(~?oPHhRZMuW6RXF?&T<(;I^7L@6ev=dgIQ*Uu zI57$%p9(gI*M#ABJ&wLxGA7(!d39GFu(IFdpPxNrp+{6niIZOA5;fd*s|a_q;n%QR7>&_{g*SZY;C2wwECT>6LGk$`y2vf#wgbGHTCMr zJJ!d+;qgG!FQB6wFok2(&-%_Z#KZDg>$?LdzWKG_PJh0Jfa)Mt+3$|y489W0$}T3^ zq&i?Aezu2BeU8`M$}Xv%gc0gCrkyG#KU~>(#)i?0T!Dpa-fq2Qjl&jCc3d6-&+Hhe zd#Zi)T|;ykGdv@3ttLenQ$T~l;>QvSl1=45amJZ6HxH=OPpdJywUZ+kgo;Io1N4x@ z5R{{P%7TsYu1PqkvS%eEv1V2S9#2g{kDtT6`0pt_*XnAo++%2S*eCA|T~cy3z| z8ZjK{s;4T5_ZvbTB@=(I(13VKaGC?7mk5^NDsT5$A@jYjEC3&@V+rht+2!j zIzDFIIgFKTOpKa!ay>h#1f!7k{}5Y!ffb_s_2$DjB1H$_1!L$;x2qcm#o>e)-dNj& zOju)dbKu7$kt>~1qpU7ig<39>$7Ud+h1_~N9D*zDUBzog(>a&}w!vEH%!l%DH+~F% zhoU|#hrsf{W2w_9Fhe8Q2wnG3Zbvrdm(K)(UdxEDN--N52G9$(KRGEU8;I99oAO}b zj3OeW0wI2bq{&o6un{n0>1(K3_2cc9a=v4&He=wY+kXbt+1;uj-^VutO=8v>+~BHB zxS;k#Z{xkL5*EnQYR{9i39KL&}{qht{aOpe|Gp;kB zh_3j-uAl}u)-Akw70SDHv(A(MfDFX#&evlcmM^dX{3_zqXj#ZiBsx`Z&#Gid(D1WU8&tdxn44why%_>X zufDCtMi{#Pv8ObYZ!~V#7MR zKPm&;%c9*`5LrMqdVe(@l=>N)~@c=2YL z61nd`xWFe1qiOh*BnYQw-^Y?Ajl@f6Y-3(=gmfM;3ur8z5w7gE5edAUm zy|Omx9X5s;H?vTVzhDde|L6$>v6wg)7lW#GveQIlwq9Z=;*V=cfYu)QL$iW@#nFdF6MWKa^RD$~Tn{o$`97MUeK zv$>_h_i)6Mmmfb>5i0#4d?5I8OThp=sW$VG`Em!*Hb=zFbQ${SWTi7fF@tG68;>{3 zP<8M4qpTyWc??r((n0S|rGfoI-MJh>m-8)P4Ph+`T|iz=AG#=>60JB!JCFfg4Clp! z_w$#*sPoG>vc6HLmzb>|tGOBRWB{}o#%UsSNxY6^oLIo_I06w#J@0-OJV(f%7!e^n z<`o|>$P#E2;H7z42(i2BOl9JYN`q<-*+y5MM8_Ns-2DCiNZfC`-1Lgd#8#)VLuh6a z(`c-$52-!3cY#AsyJiPf9!z_6oP5BF%R_0r^o+%v*!2iLbCusxoy}v-4A;(-pA}4j zFdZ#*faJnb1jks+TFs(g4RA(i4xS*$TX&F{T$uAaP^q@K6Kq6j zrf9mAN`n-kEz!JVe3*tfXAAM~KqsBoI*2D>siseHU&RwV6f6dKHtm@zT z5I)q;Y!}t{jklLj6mK0}-;1{tMVX}Iv3&xd=~3mvp$da64;%h24fjxUSq%}DI6rNd zKs9gHq%SC@izW{Po;cjj@E1LfrEB18&!cF*+G*i}Ob>iKF6Wnk?TmbWnMl;G{lH{u z5~q0zT^G4PkUNeJnS*THKzu~MxS>lmSKGfhBf9PrzvlJn&%b`^o*Z6QC#SzXD=1JM z?Nh-5mKHPq#mN;360*i!y?>g&XsQq!^niXF6(v#%kgkAt=;H(^`kOuiO#-Wp2AoQU z9mNsqPp3qb>jZe8cMAFfbkxzW^~LKPagu`ZP11c7`WU_y)zaj%@29=P!^Y+|vc}G- zK#@g9dQPJCSee@PNx04ou3i>6U#JYVKXIqP=EltGG8Vq0D)h0ymkX=?StgKmtJ+7u zIpAEWUHf8mYlV=dspMbffthGf1^{t+si7zN6(FE%skB5^#C&s5+Pdy=NuO6j)EHw1 zYH`74rd|3unF7_FJ{6Nsa~vQ$hZ%kuAV)hq;i2`%j$YS60qd z<{5Wt4-tk2o+Z*%ldY{QoXZj|8?7(KbHWU+hldX&ShJS*eu6A0Mrmf&2RYox6V7{e zf1`T2G!6FC9!2?j_`QHY^TEc|5+F6*=t;6?M8CvJ#WrUaaLapbmm3ZVej9#cUozp- zf}SmjSx(lgF`yP?m$9qABkZVbWBStiCi(fAys8G4r!9h7^*#3H+J|%WhllltZqOdEijYN0DRyHS}v+o$g_|(n40?Zcycf`$E`ZD|5^S()i!^}=Jwzl zi*wG}LH^ZDZj(D;dBhqwP6mr7UW1+2WpJa=lQjEPVyc=WI=0r|jhIh-%Aff3;Dqxd zwbQdVo^JN0<2@D|8ylSP6t&yV`UfIT0DF^HJx-nK+1^84@pj7#i&@Eu^M21o3Rh0r3Hs?xL04)Kf%Lf~w{u##x9|C{ zDNJWO46UPR!5n(wf?a*g(UO+8v!%jH$2}QB(So>}0|u=_MIvoq3pIX(nxAJrs&Cp) zj7wU5CQC1={l#n@I$VjZlVDwd456>`d4`Y;I+gd6ViU<#h_;sd3dE6(fi;w*fDZ)0 zmB$K2h3#-Z3OpBgZXcaZ*)fis<_{eX!*87fWqVN_93*hG2U-J$wmvM)@i0H+$k(k( zBUgO9yd`}Pl>SBZLus#0dN?ZuLbcOVl@*Qo%KGj%YFg}^dD11WKSx`UeZ6rs!`IYm zFf>N~O0*y}(mbR)pjfe5dS!5Ru+L*N%tz>zfIxk~=ceF_jV4xJLym8VtymsvpA#qL zEuob&J3>bT@U@~ew49YXDk0`&(sl2CqnG#0r;KdM(&=bE7vAxK`M%UTzlE^XPmNr* zkkCiRCj|!JXnQGN&q;XXf6InMs%y~HD4rmdQbH_I2HF1Ltiz&tNYK?{brVR7CNYX0G?5U4e@4*2ing(sH<^@8#{3{qqA$2Fs6O235xs7MsL~{n{LsnS|DPI5Sq6BnT7?f(G56EXeq}C^*zRx(Mk3ox` zefU6w|Gn5S@3q(|%?~dIa*=A&|6UkWE6)nS+3^tEwSAQ8 z^Z$*u>y*6@7feY#7+2nL8QFl7+`c{3`>R9ns^Bxn=8F8ClcNMmLC{XFQn(ZB=i`e&1azJ`aZ>5hdb0oEU=hQmZga$UtIRwuOZ^KAFGp^F zp-a@ea=5Dv6L-o*mvKOz>Q>7x%+jALM&lB%kf#}_po5ZNDQNOzyw#U~)z=+_5D&qE zBy4sf-MCAzwf9ndj<-IVFjok%U*Q;hO?C4WC9eaPt;C*Y%&D68{Tc9`&bVa~as<4nSn!`@9|p>%Mj|DA5#JpE^I;7;-rSKl_8 zc+~3$^ItmdzP{y_SI!{K;pFZ%kDvr))E2Al8n(P)Bh_CgHA_sJH!PHfZA;nHo(OwV zNm5&%pNU|#ooHFVQd6U*uLQg4Ua;le7hvCVndQyPkfuA3>gv4=msub|H8Sv(j?>R* zLOTSH2+qu9vZdXuv8x-P)8b}qNI4XW6#&f##h zC1p+mkrQgMy3MD9<-5$QQdR;#hx-qoVRv7UN#oAwdI(CPJcApA;enE88rIN2K5B;n_=iaeS>mf* zSPg*OfT4e098#>d_Suw2*W^En?qGV&n95x>o=!WU1^yQD3 znyHyzRb(!LLeG9*nt1A;<2}ysCsiinPZ%nv(ay9D#b;@(-s)NJRxpmy*Ic`MreYLy zJSbSA(?Rx@`%*Nn1|CiW{5Mv}t~yHV!Ka|!3;H-l7>HL4AFW~t3~dysZ&w^1*G+ME zt{vWOXE$%%rbj$gF)|KU_YfpVCe_DiLa#Ad4g1_&*TCT_8he-ht&akkn3&4dzd~DE z6;f)&Bm5TQCs$PQNKxCRrm2U=Qp>N(`0yuzrFurTU-^R7l4VV*%-iYOd(K`c`4XN< zW?0R0vCmH2E888raZXs)_lMerQje2@#nPt1#Jv3kcXvIwKI^Ic10j zo9J`dZq_y4r)GZHe5Gee{Zn=H1tR70N|;BpQyND|#;;UGzq9D*dd#{t44;EG0y$D< zG6oux9F{7RJ^hlgc#Bin*CTY;GJ6{lesO8u~@t}k^d{(8H*`FFV$tXjs? zoqqI1ec^YxSAeAe&oN3`=)?!g(LfBpJp~0HkZQTva7;HATAj*+6P|6qzk*%U2)3&U zlh`cGS=uUug)HUwH>8n`0CW*hDfKkJ<5MAnLaQI9>mtv3#~d43hP0pk@^lPV7OhBS zK8G4Y|9df?PuW1L%9)Sc%9b?EiiUv=3!J5ma2L`2|K61488YT=$xm(fv-gdW5TWyg zA7sRMWEoWL#YwO^$^d#a!SuNQ2ish=I%>t9+Ci)735q#dEW~_T!hi}aWXMFa_ci;!s)o&yKl75-fssAGzQJyzMLf)>SPN`rcT^^WX=?7VlR+JQ zRRR5PJq>ejUPBUX$g^F{l(n3OW(++NpCZjx5D(rKx=7{U(WQwU`b^|%MU_q8ilO_B zKkj`8M0_GhboCT3Np(?_oV{=WpAt!bN5CYaBcyD$EG*Qt1^wQt=^)8&8Y(U8vv4@b zFJM=_jxY>OR(Ut=-9GC@FxAiL?WlsV^0}9N+v+XJk;rVhfDeej)i0skq>h=v&Sq2p zo)mS)ivi!^o@QVAKUE6{t!`R+&&}LLfshmTo}aUuA8T!i)m%za-+E?ub>+kg7F0ul z6m2C_V}d>NZy!y$WLR>KMK+Wr$#4FM(Kq2b=(AqYS#qpI@&xojHNSXiYCJS`gX%xD zAQZ1{QLfhIKkjO|5Zm=}V16jI(9@V7L*2Fd5gXft>BwN_c1fxh3G{fp;0d;ZcR7`` z8-$6OqF90{?RNg9H`~6O`&QqV+&1>}M46M?qPB9YdDT#MFwrjXRWO6fE853z*kq1mpSho<~6%L@ytJ$3lXSl@7%wHiQX{*rCYa+_SJ9L1le8 zVu9wsnI++`fYO{Kn6ys)=s!5trn)>2@dR@}0oANorTh|HbK`oGGgG5&WkVEA;K>bW zQs{7ua0WN^oLaF7Jy=NPfn^yb$61{z$E0vY{E=8#A$E*8oT1Uip81FAj<}m}G-QMg zM(K=MX@tQkw3G*m|H_6=wyvMha-A7U6oWebl?m$9?{I8y$AUI~>$hETmNf%@%Q={i zc`L-<5An!=Hjo|I(rfU_tGc2A*)H2odg_py!`3I+yk?oQ@b<5cSagTT1<;*eBw6GB z{ARXWLS%IyM}d|o!s8kQUZ(df6e5IM?y8rc4wmwA+Q*J@y$7dz=40n$cVs5=jgq|k zlWd~s(?5oMuP>kS-b^SeUhldx)T$(<#EPvt@RHWRO2;!8*lp<_0_7MV1pB3J$UPvT zMHzTT0Dk$0al$0dEn|lgm#YQiSOAB9&IXL%f_lE26l&)6_LR0EX|@(l5Ji0#Jx1Su znlICrh$z3t6ulDWyxIk4H=@ThsjE9CaLJ?t*ov=nDI3DpxrchbXp2t~-i{Vs=GA~+K*>lAF89)lJ7sRkxk zXtkh;$o5AUwVF3QEIF21apgfkS%h(Cj2p)F5xDr8^Iz;fs-^l}sa?#Tz~TkBKPeEn z^#|9Vs}Z=F+rTh-|7aO7>TJn9pfeXn8Y%u}i1>My0youU`g5+{NSA@=^2jUW)c{7ymv62r!-hA9BqB|M&d(nM2c=vZ>ZB5pK6>6sb^ncME zkdRRvh7Px zT^*23e2NGgwE?%@lCkl2MO_ud%M4N^je&uU;g&f$w7#Jl+4_e7T+*FPych-Yq=nV} zZ{C#MXSB_ipW43JGusnHLK?)-v?FUFEg0)2x+-ErF7sdZ90h3hgoKG33y4ko{ z0{@*{sXWF)-JLTnrrfXIG7Tp=53W2{gB2t94w?G?!ZwlDs9o#!hH{Yk*O&$Hh{oHv z#8)3-p{QQ8%yoByJm@*WM=ea)pXN$HOsdvwU8^}F{;K=y&y z$t>W4J#AonMdYa)pI={y(;CCh8!$HUH{CHwl{wc7OD<3*iC-7l`hplGg`?G~%=Z zW|t~P8crvTuu^IE3F&!#d}Hcjs9#EUQo=K4uwCa_79chn?+CNM?Pev;M$L9epoa%j z%smEfE)Sig?Ni>jkhe0Bvc0gz$9QI#XG?g0?3=l6$%B*n^KHqi?L8jvUP)1twpNnq z`_LsVatD;G6gp1@G0{fv_CV%y5t4ZG_fGP+fH{u~nm71=-)x_vsR1a!(4iyS zx(wAHhW;WcUzforPxXgz_0?PK>T_%tGkpmiQg>7;%~tq|u(c=$<1X^EQ~b4|8uR;D z(hu;x3yfd_bpvh4xCMFo?@kJtje!(Te5CFGC*akB7G>ifP!_JEuyQvvZv$~Nq{cj} z1dPyrNJ<;TUJrNDX|TEfEY2h9qBKhgB8F?hLrhwrepFxkxyoa(;y7%mOsJ=ManQm?jvHpr;#%R>Ypb8+NBXJ9GJ5LDwjNV8MULe zpKqhgcj}$@J3Acd#~e^2i5f~l>cOQT`}G?(uAcZt zt?`zm?SBQJ9;$2Tdl}ApqvX9y;68L8F%|QTwoiiIl>g{d z$&8j9jn{55V&7N;MfFFN;|&`C_qy0tB#K*ldZ%obaM3yd87lKh(eL#sP=oU^dA1}DOd9U|jWIB}spC75+@4%4w9t07QD$L3ZC7J=Wmi?;S}6C^o{9PDKA?ye=T zQU7A7W;N4%iFSt9P&ET(a$<_qIKmXh;k(vz*J!qkKtcyjH*n z_fYpjsM$=0^ z*Ar~ivx~gTTh{(n1TSUo%cX~SkDeVZk$X)<|XT#PHL+#Qqx#a%FRT898W@loYIwsB6)j2pDbNmn@A7c~~tO zrq_TrTzF>4-()M)of@#-=)?C4wy(4eDz;<*mAl}&(RN|b`bxdvs@Lvw)ni7Ln8t-c zSgvQVF|`x5hL1CsU;UyDL2=TPQt0U3cnhDm_Wt3<=4Izr(b&P5L}!7_yb{>+wQq3( zzZJ?sotR=~$S$7ki{7Jz0zHNP@o=-`!^*VaM-=g>rUXQXz9rN_X?OrMs4S)~99 z#anF@`?t8M6Y_Uh=i0_P!be+Um`==`MHXdoeE^c&pvfhsAu4S+gtlnEj>zgWc1x1S zCUr3V5r$%`53#jQpe)c0ulC5J#|k_qyx}=f8R*U!$HnHk;)yPZH*27OgO?7JYIL_Y z^C^AT+@4~^+J78)?f1>!kRY^p8GXo3pCjzsp0dnQPV>7y%E1mr(~o>lhhVyYOEq8& z{P$L#6YFaU;D2j~alCaJanXmMhk92IhWl`vQvJt&!%_Ekq!_a%?T6tmY}o!U!Accd z3oD-JfSi*sCyuxc_vrmdy;8->v9zEV7M$5GH)?hc;_rjBeM?$`w%fI)hq?tP_PG*3 z7j!(6r7a*FKf*T>D@S|EnR&_%+(BqMS*cEopnZpty6c8pug5jA@t^zI9sk}=rbqwq z3|)@|D$pEkpeX({e}Pe;7_HCddz)eIYK_?n1*-kYJFH4Nk@Qul8vE{P!d`%Q>`)|d zt!pK~5mqcqE5q{s2jy;_bPc;fakhe=(U;33*rC{TRMgOiybd;M3oC@|=$82AnmZQf zwsShyp>_VuXYQ4(_-d*=hL0x9*)0vVk^kUR&{_`WlR7q!Y{YR;&n>*ZKq^v%#Ldl& zAB51iVK45RBW0ZnnqCK$3=PzvZkC%I&>i7lv zmvEznW~`+z>af0dfB46HXR|s|gjgMq1mj4#8&?sn9}Gh}x@m-%Henn=ZIO;c8oJ8% zJB$}4VntU^@{*r||L&N9N0}q|zmY~luxfSae@4v346Jh~weeMoux+EciO zq}U3G@N)JuATIhp#F0*%!q=+JuF6qkP#~M9Db*Lgvl+Q!u^k&E&RWpPtWaR-J`pSC z>xhW|h#KUSw-jl*Hki_2KInG&%(s$O=7=ZEW9a|LWBMR2=ys-H4~th=ey0OD-aDXo zVdyS5)f>jkd|r!f!xxHurvp__HEFruCly|Th-JQt#&0&TsKxX( z33JAYG$(^K9MT-)OH#@e%XAfQbJ{Xvi&DLKUqICi5SF)E*p)jocrE zFrIBMo~XhYgDV$zj)EPEp)(5@&{<@*cLJ@K{ST9_^Sor~xNe2miB>>vmidsg3$hcHU z4r=EQ2E_j8_wp3z5(hp22y!zm2p-MSUHSp7jGGtYg7>rBE4KtZU{)kcD}v3^KYBG5 z(DT!*GTcKlfr%D=8#a6*JReFbn$7wn{C{$VQMnrsy@y!|VT_$8a&sLnxLdjwl!pX90*o;@qMWj4ArK z-aLW#+v+{f(jo;SAP6Uk$j+jBYnczu*ECbZCmCMK!%NF2V!qx8-w({;B$d-OTr8q@ z#Ch#B1-7=@+_MfHD; zuJ()Cw`l>>o`s1&Kxs__qI`Q4rkaW;QVzhotNYpCUebr4%k+mtx5PQLr}*UQut=*0 zQfv%ccg7YcV+%d2uJ>I#}F-^rj?*NL^_GkmcF2Z7XZ3amf& zV_CmbmMnSdykFkx6-mq-Bo0NE!Jja$|fzz+C5HpAI`k@dvQR zk3h(aC*m>wkR>6nFT))gKT@sKsIO3fcySkbY?>+X@OBQXhWJ-}mt3mSO*6y_VHq9- z?<*-z7g5L34*yWHj=`qls}b_BPZJzW+(~`pu=wibAK=O?R~Ao1gJxL)(=_~&h_6+c zbwZ0_(C6|9f|Wh*XStiY2@V8K1#%&}3^a^FAF}@PVDSXyfFuT8|Dn<@>obzD%;Gcj zts`>0BSjam>pBYlp~0J4>`>f)dXc=(8?M;R(1_hRj0FKms!T-u1O6w3O0OZ5JxU9M zpdZ$1$sHa}y+%ofSJ7_a$#SsjU1)>_1J~=8+I4CbcP=11Yi zr%0l$`v0$|=MHG<`ueF=s#U11!cS&fQLrMT3K0;|T18|PAqmKeq9U?Epo~CT>%>3> zg(yo!KoUlfz0+EwXoM<;y%d4^SQQ9JAn=|062JF{ZFu*cd-gr&+*JeRCpXi1OsbKyl$u678Q+B4LqPe({NpWoLHYn9z_-#k)NN8~D zEh{M1J&765-wDTbb=%~o-f#UJ>)*9-sB`K7W;8-C0LS2ar9#t~)R;m9bp>kM>-LP? zQfMs6nEL}|sm{mn(|LU_Zh1|&!19|b9EIWXE{i;70L?1&RU`a$>c20-PDNCuoWHa+ zV!mbuD%V|^!ULz2m0<5%8k@RhZrdgd9XW-SA4+&*(>9v zT}9NejU$L$A>zNLJ^wAUvWV#wuPT4_%h5qJLt5=U8IfSV9j5c%p`R}PDiPNVpl&<= zNYi|Lojh*{>7|KHVrfisM-Z!0$5Y)pd84w=Z{Fjg>pzd^ew1OFBIr`N_F2nIAXu6O5FK~C`po*p6{r7le7P96qHSA zVG?@cu-3M0SQsxYO!H=(EGI8&LR|}h#Q8!&T0L;)Xwx3gZKs@v`_EoK;B!GG52$yZ zNrvcdljSmQ8R&d@TcKuvtuzF1I+<<@CA~yVSY20)7JZ*?GfmvHy>Z_fI0)n>Msr!0 zxJRq;6!M?2A7?8RDA0*8Ft=a&JTW@t+8eB#35Go5Vl~OM?A4Qb2todAuGy@q=1SfS zjOQ$Qj%B@WcJ8DhO-whCp!Z z+yj~S)(_o#duC5S<_4?pqk?RxuVJ& zo%8Lq@7DT6tIbqn>2NSi`tO7)0?kN`9*sZw^lshkhf>m`2);QtRdxuY=9`&R(E zHGuBWBghG?gD=SV8~AGPjhR|M;BN^Gax}OhZ?epCueOX2XtO%2DFX3`=)g{8SshmlgThr&Zw?q7(@J^zqHCy z*LL!d46G9^z&gs`=npuS5u~ki(LNEvi%&77)4tfGnOa{^Y$&*{a8gZzp?lIxrr6wl zFo`?Wl994Ze;62~XoXzH!lz1s4#WI#)Lsgh;Q!D|yPI(F&4Qh*Q6DMI-I3$XdY za?<(};2@}+#QlKj=$_w=CBA#52}dsRHDNO#@vtCJfot7^w_%Dd)a6+G#{x}r)~Df^ zvFYfRh~u48x|m`bfDISjhNORHJzM&z{uqqpneSpPm+b@Y^UNfEi2=5sa#_YUBM8t$ zkc$}3zVdo{yl~_1Llf1gBU5#y;|DUntJRS3HF4n!doY9Ql z(!p6!HLLc^g8m#H6Q*`&RKLK+VZMPeKlPzBtI|gn+tO6rlHNT}as^$Vg{YD7b&wm_ zjD^fDXe!aW#v+8FfRqPFV7EO0lA5<0k?+;H@Bt4ncH}g-K*=;B#z|Jd^?#;nJ(*uRY>fqWLeK4ICJuv(^8ZBHe4tflNOlF#eF(Th+v$4! z-S)(2$XB7*Ytjf&OH%|d7)_CRrB~gEX@EVoFwGI{*Ew~6`+W$sL|ZUgl508$rPjDn z>De+&=l0D(fAyd@X7|GIGIru6QEWI;P)LZSLkz&$wPeo=E3*#n!ota8M0K+X=3S+rhV7+|xLaw8vf^qpeSC@UqC5AN^u7 zy}3^RxmC|JtaC9_F!kFJ9e*Ef)Hy zl&9Yzj{rJDH zE?QgP`rNe9cBVlLTey+mNZM3=OLBoJ-2MO&2j>M-a)%VRoKbe}pY;~%Fvhk%qH=b! zhbiH(+ECxlzq9=HkV^Qugqof_IkW!DMz-U&ZtjK8i@H0zZ0C0!DVcZP$V|7K5Ty0py9Nd0aPSh`_{?b7m=HX(d%}f`#=c}iE zNMWrVRMCf!`W|6h_v^`rX#k2*6=I*Yc6OsZ##P_&7GtfN&9g1C-2hr(C*N6l_mP76 zgBsPKKsmM2yE|OM%I7Ys^_2QqqDgSx9+TY2u+R(In3JAd93-xR2SqpVF(&CEEE@i+ zDSNQ6uQqFhG;!w9#k9{+wOdd!OV(o-Dy_suyt6)sGtSzm&3W!xV2tY9(D@fw$Y>~& zu6}Aa)|w7vww$yOl?VeU<=3P+bxv2Xs7QI<)b#IVyj?$oH7iRfqRF$V+VCYjIj_p` zjlzbFE3uZJzLjTqi*oP|Vc9+DOV;;oMl(UZ+H0^JCIUTr4Zk96J17OLzp=izy}|gv z2F!Z%h22>gdgTZ_=4 zxKhn(BG1dvX??AtGQX?s%5sKxxJ=xqA0HJJ!s;@z%1=_*T=t@kD3)w`a2ZbrK~PM0 zb~`3H6Z!|S#sI@8-Q_r0xC9(JePz1?l(7OH#N4kwBnw%#80}kR?U$R1)E(%KQr`2@OlnNBi}jXcUm!9LhMp3Y;^2>nXGoCBfe#PB z9wqeQQ-8KQrLOweS5l1h2a?%+4`OnP72sowZ{;yOoUKGjm8qiO!3$wuQH;w5Oy>u{ z=zqP=W_PQtWu0ED%8xt|dK>KR9FWTGiV$uScE~zC{db4ZlN|zJ;8kD<)zPlNU8bb8 zXLa?(ML|{C7!8z+;ZmI!c}m0)%F8M^4yP?d3Ci=ENU#bl4EW3Fnwb}tus=!6`ic*` zfhzH`$9Oxy*~0CL`$CV1jAaZQ84Y35<932{D{O(5@pdZ5ffFt>9Ve{`-%)Bbc>@;M z1+IlQ;p$O$M;tDEC{=HU;lu9s%wP6~)euDi3TaCZBZERA)D$Ozi^73#F>?GTd{Xud4AO}oTWgygkIMBu!kKR+;+rCLomgrV9(6{ z4kqkmrQJkWceXoA4vFsJCQ?1%{Z(05Z2q4LQ?eYRZA6%NiZemMhGm)=GBG9eRGx?X zHIF0qF)@NInk~j(3NOh7xpU-za5d6%h6urKd4mKQK$ZC; z#;sykiLGZ-Z1!%9Mn`B*6LkHCACuAbx~4GlxCrN`X<$xXpk?~>UgvaIIz`rZSyPcM z+xBZXNkIVw!m{-!RHxS2%U*^q=12N^!kOUK>(NVh5=E~l<}PvWF5vAH?xGShpXo37 zu#B;dz-^+8+48pblyqim#H(#gw+O}~Yd!Swx?zeIIRFMf^yF7nkcOs*L3BB(AS^-r z2wRETaI{BLss~P?B*UReJ%7P_fSe0dmkcYgwH%c|)zL$F@t7I0fRy<(615=5j;!UF z3z8>Zc6&387jl7nB?p1kr`vMy3qte4PqL72pW$~)E-;PvVEUd&!^(G1m-57K@E>IS zimAyr2w1XX&Y5ER=TU>b(X~P6=HJUiO%IFoY+4KgS@|MoG528%f5P@?-YCthxTJE@ z5N_VeDp`T;L>^)2d9dgs*lNZ@z2K#ynVXNNtjSpnWT2-FuNr%;>oW9mAIb#72k zdOCw=8Vz;#0W2LO&?8#PAZ{qk6Q)30czA0+9`!7g)Cd#7XTt0Lp{6|Bd=ylnC#QWx zd1}-SFmFfftTasJWEL#$FSC>`_p-ij!<-W}8x3_}SS%WgD$SPaB2S7)GSt>Ymqt2z z#;n5vzW|Q%)L{I95R9WHl_gDWG=I^?)198T8?L-XgpV@KoR5`@S;A;8IM4r|vq8OGOPN zqIi70&_k;JjE&Qa_$B3#Gw>nmRrPWJrI{U5CNs;K(&Gozf}is1hjrz`XKU16t+!C^ z{!`BH%e8?n<&>odk*7Tu;pn7hc}2L~nUT!tD{6YMSQ~lcFzR~unSqP(wQcE9uRnxO ztbfv5Fj4jVTek>N>)z1baPh**w$L6?*M-kU-*-b$gj}QQKP6A4!8~n?E4i+|Iz&|Y zj8l(beQ|bxzpiIuUVcO?WA=RA+bs&C?<{&sJQJ#Yo~Y5=;?2eWetpHS+v=;bQ~i&9 zrO0)Z_=_Bb6(CquZ7ukBySIy|nLX65=m7H%3mT*KvwKU| zB~i5|s-q9j*3PG!y!&GvU6Se|Zr5t)Y05tJ>z{9{^CKff-@?eW{S-vp400ev^pr2P zRh>W9so)vm4GszBgYJFgi(R6M^9sG~=f`7zN-%vNWjf70|JkazksVCqhj9N2_a2gi zFxXG@3M^7cXn@mN6(iq&|9hl>FV31S)I1BUS#rOm`mk7Tq5q9qq?QYr%YbO_UeG~& zEBKb}FC123+|FKivwJ3Pgnx}YKHM}|?%NTO8tZXPIX2wwd!4iv&H!iWTSy7YV2r|i z-na-u*i>>Gu|k~|vqMj>;(g~Beddd{-m`D~BC5*$-SF;azv`Y>s`}Kz0Kuiq78acE znt%Iz{O-v!P(<<>+$rp0TTm537a%v(UcNWTli1P{kE%0Oa?wX4}8hV*fl%eOZUIn+gHDm?2)@Q#U zjee}j)cg2MBq?fGq~uD3r0S0kRXVF$ZszGfDW^2JOEiSxKu`WnS+<6a46+Uxk86Tt zATLS*NkDS@x^5zLxPD^qrO;ecKi{c!rsCF(F4f}Oetv!Rnwl(+Ob8_D`yt=FZ61fX zGcwwbXHu8G%O%W4kj_*gl?HkGwR7(dW)Ftx?x+~0?PgKCII&d8{Mk!jq@fY3*2Ceb zO<|5p<&nO*lGWWXqK#GCu* z4I6-UZ6o|RW8)h~AUOv);S%5GmbZKLq<>#AIfs8Rh7)R8$B`G@^YNF^A4LHiKPhVM zT3yOh!mpL5D1cx#f*I#0Y+&26_X6ecFzO~7`K}_5!3&-kO&;-cYG?s}jkkr|hqK?o z+4*(6Vr6A?vN+2z0ikK?WBKk5U?i|r0zG|$0{+6ZArY@nL1v4wygc$Uj!AwDEg-^V z#>#LvPj~Ta{sK%5juRdDS4H}TMu%3*-iJnpx_Y`-!*E4&N7Ti=9RaJ#WXr}U?l*;J z1qZ=!k^lokL~~9>J|RwuZN0 ze-8^PS{u;U*VFCQJS4Vd5W~X5yVmuR6|U}4=K!93r}I4kV7w`T{M)0TP)Vv4n~g|Aw-XAQzLvwd{{jYBmSv` z?;3&zH4qS1G2|l*;b;`qZy^Lgdlt=!wD*jkGlX}eIUu3Hu0^kbv1jJ&WGM#uC4>Ch z$#xu#Yn59N23-|-;%ul8%*oWRagJ#`sAo6?8wtACpaykQFY({;HqHxK1Gpc`b@F$9 z8eCJ^br-te&W1S_<;8Ps0cm)+&w4vp7WFv>nV(_(gc6L_JZCF8HW%nhQx5K5x_$zU z%s!UIa*UgTh@9!G;dpZT@?>$_?tNVfFxnb*-skl=+xQ> zi*^lN^nxIOHi(ohzfesWTM+-OOv;D{$tqKSW^v5V2-d;HOe>MRd#0=+AK zcG0IEp)ryrj|gmezfu1YgQ6&OM?+2$683c0QORk~e`d_38tXHzr#w{^drOH5#~j{94Mr>T#UJ?OwZqcr zi_$Z!JXP7y$AW`C^al}=r<-p<8l^|=lWIeLrH}Gdg#~E{@DqHFn9xz0C4R&=To=20 zj#%%uTfb(=-@2$9`Ko@GV1yk) zkv4Ck(@}CP)K!!M1b{1Dd}yFIU&dcp3!C1MW7l7*KU&9)JR;fzR6v)Ey)CSSIfnSk+nuULmYgng)cD2xhP*#TFe^lWWX4PwyzxBtXZn#BFoS0Hb1cC@sxNG*hn`IkZGC^uFx&uUu z&9pf~g7O7N?J5bA?Eq@n#! zNJ9sdu6za{P+-A3CO!eRmHYTPf=Pn17L|}YN`^x}0uY=4qL5jb;b3;x1fA~=rBWE= zyN8XL#$N)un-CLQTP!$QRP&>BBox@`KlU}#xYcty6~_z=`L$ zA9K?tQjEOd!wy zkA+bJ{MR1ypwJJ3aKNkM+nH5@Ag1vP+v}k41&C<9dyQILbs*PGGd z*WD98Bs9XmEkz|{!$IKw&_#sG6rgeuXW_YQy{m}u{+j4w0}|kCLEt+?aA)eQmna$k z2w71C!Dhv7FO`tQ0hN%Xbkt2R!JUa@b_F$|(EaE1&4|skKhs)RaeLSXTFzeqBc`AV z4}n#&YdR&}(X2*XiLhZ9!>DA;jCktJockO|Mv)n&_%e$9gxvgKFHw7-HAPp7uk#lM zkd|=|6MA*h%h8UV@z4L{qpXwx3XA-lnSy2h!wRqU08Z(AhoC%2Fe+4tI45d7n@jYx zskkK4#k26kC_fD>RxugTJ{sl@HM~b0^E`iqA{;&Le^#KU?p}A_pbe0_fT~hh#q>>l zm~+W-skl>zpzDaQzhJxiE0#wz(gH3@53ug?0LP{Kk^7)>;6q3>Kgow3+rn~KNaA;c zU@8fHuk>8i1l{l==T5t~!;J!UC{n|s0-Cp5x|5~KNxSLlBykn>^Y@%60lfR;kpy}5 zHF@F|yd94ab`bohJndjcJSqnL5PS=W)**Am<^%G;7Ctsc4!;YBUaw#EDJC){UW*!iLoL1CC4qx>RM3sMTn+A8nkiK_A-ShCJ0wcl>DsR~^tNvV} z67u^O;I**rFckm+(UU=;dC|CsWB~U;_%JTamhsd27op`K{AS!lIReHR5##1$g}j(* z6Dm?*ZeWw2U?ni_YgavBq!TKKV_c(hYAnU9Ix;devP@GEnz3B0l7^RZZHAV`8r?z% zj&Tm7K3jX`pw|0@66@MSSTRe5WScRYkiKUr_Gcu9FamuEaPNeOfqOWn5Ps`)>!5JS zETU=YabpOiB3!<-m7ANyocZhAbIueYtepe3jZ+IN*sz&Wqku*GJVVlvgbYgN3bSFS{ zGK}SxS>P_Lv=x!qMFcx$y4tjw+h#NO1jJH+Y5GwFJ7$0#VWK-=-4+BpqQ*8S4ZoMO z$tWs9E=-_Hz|t@U^EP))cdGlg4fz^gLC3MWn8}5ON6=X91Yp-u@#d*##&#IaSst@& zcYDdv0UM-=PA8S9OR=JAyz4FK%G|*32(ySHKpQ2cLoE8jh*wEiv?4@IpgtNqr zU&Xr-#}(UJaT}N~N@BN>UH(Q0ukHLHqR=d2GHpKR2Dn+;x5lVldy5&HN-_6PBT}iH z?i6+#rKqS70#^*>;#fCc@}ua+A%pQbVLFm8??z>wNrC=9=@4(pZ zU%a1t!!XVp3r4!ftw`o5Shv=3sJm>LQJ2p^L#N{&1&c1C>aEHYF4rIISRAgYhBUJ&Shmd^O1M@MO9z8GUt8Nv}a};E&qM#U~ zJd`6UHK_!zf!+|{f?Jcs8A5220(>Dl;su$yo) z2_fu+DzM-kt78XVS5mF(!Fcq$bUE%Gb^eoTfTs=eg>Y$tC&ZZ9!USsgdeBaupxw1D z3&!reKq8!JB_ce1zwuYvkL&J5o+#T7iVmh*B|bc`s}gRyhc2)YRJO-hrxnhoDbGH{ zza>Zt_bBLX-@R`9JJg~Dg-RIfidPEXJE-XCO_Z7W__f`9P!y21rh*XsF#?^EAuh~4 zJm=(62?%v5cfNWWZJ0_f0-clJ(aX~)?Dulr8Rh=b2!N@m&de-?PfgF&x z7!`UGbb%2;co>~~mv&tZTDoIG0epF?;vciH*<^e>Vv`~f5ODuhf2qxvoX7X0znyM> zEbLM~SUE+&BZgl_VX@Wy6GdYs&wfW-4NG`(opqpb|)WfE;X=qt8v62LU(Vvj61~qeR3yo0V zIn#Jl)QGz!iHs3P1zQP8%mrtLWvb3j42tB8 zXqGJpbU~reS(MQz-j_xAAXQX(z?@XgUu*NtYD~&ZoPfuIDm7t;@V(H3Jd8AxR!@+w zlT$-(zMZd8Fpl!Xp}%i3zwYlfb#6nr(SisTa*IuhgMzygZ0iFyz^J?PM4m}*(3ee1vS5C$9*g ze0(iLSHe8bi{GEkb%I8f#)y1u=5Y@@mumilv%&`ObewmIc#+n~HT)RjP@o0T+wLzF z0yYd}IGa_OxI%BExhkBUoLR#ofl5fq3_1~s@s1dmnv?~V;XBzD6cxag=jT+|#Odv; zTqPPk%RxQv{*n-Fe)48c?yf>7`Y{m=deNzkW5YNk$KfFF!8=08mR7K*5;X0Y==GuF z5Yo?uk+VLQb3O~dj;ztiMhfTo)EUv`uuS#Yzj0lN4OkJWoP=G^0=yhE{al%AprH>e zoB;&A19Nc$=5O5&9EYtCEzzp|ID21?f8DN9_YKrkg#n4E92f+%~%9=I7b{Y8&>;pg|7cVER3G}jU?byZx)zyD2ZF6uj|L3^@H zsai(Rk#E}8a0TdoI-OsZt8ptogq@1CfLBXMn6})@t?!eK=s7{%81xtPHk zt$__yNu139&$?KJZD#}!okSn-F5ocKqzOId6_{4S^d{?&<@js-Pk7P#@}RJTIoZ`m z877+|46zz%!`_;JEY;aczIU(|8By%C(uHkjXiJ}OKk256x~`-X%;zr2=h>dQF<@J0 zo2R~25u=$$SBZZbSo1o8nh8_xz(Z{2#h>57e;AVTx*)fXzVQz=Q80ewmey#7Yrx$B zQI+?41}p5WTf>R|<(gIpL2Is9{U7ZoW;ynMnBJ|9bAouxx3J0kMjwbiA`h{M7D|{M zuhaB_Nx6NzsrN&5`yR_(n0`w+IkRA|P`jS~Q2b+=!!88Oh>$PMMD?heM|%72{o{WF z2Y!ADvn-vR+70Or^vKD%D*jCz+VV_{oxnIS{f*_+%vTCs zWP460C-mT;i1NJPPwt-Rn&Hgdn zCuS!mCHqe-V|0ZEWqq9K2utbLMMf?Qq#-yC_X#(Ki#I+9@7`NR`_s2zZ`=4}S7Ecy zK>&qK4bs-be|X*1<>IF&$Be)D#i_Ks>xzspRDX%mpLQHIaU=cE8&#jpX0XGKYH>|_v-?I(B@I_lK9z7K@Ss=Pg$HK3o)^ZfNkzQVsX5i3@(>sE}`Tbsg=^4swd4hwqIZ-811I z#*{yxkK~BK4Rf+=bM&%n&5-BBXXJZoWh$iRPpntrbywAkCr^%^mh_yeQs{ZsH_-;g6wB+7fJ31q591i^s8KAVNg6Ss|a+=cfQ@fn#9wHu0l`fLzqiLbPfBx&H z-~(Czg;|DnyqiB2wJ`2d)wuyabCUXK-aTh_y@9hv9W!<)s^*lXf7|Rld3NJw?nT|q z1(FZ-S{z*71AeZR`MwM`nHir3+nMfN{eK>adxfa{g+Yls%^bTk9Lil;arUHq?^5;BC7QB&Y@Ht zyslcR)(9tRu2}=Z*Rk(k_He2#LYvK6&HM*zw!7Xkd@eK;hHuRzE!B?u}bOogFQ`98BB>qi1o zt3~&^4Bw(&??{(gp&XO literal 0 HcmV?d00001 diff --git a/Assets/Art/T_Space_Background.png.meta b/Assets/Art/T_Space_Background.png.meta new file mode 100644 index 0000000..26e24af --- /dev/null +++ b/Assets/Art/T_Space_Background.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 7b600710d7c1f804bad6a43acd9d1fcd +timeCreated: 1460121007 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index 5aa35c7..96c1487 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -15,6 +15,8 @@ public class Astronaut : MonoBehaviour { public float StepTime; public float JumpSpeed; + public PlanetManager planet; + private AstronautState _state; private AstronautState State { @@ -55,7 +57,8 @@ public class Astronaut : MonoBehaviour { // Use this for initialization void Start () { - State = AstronautState.Idle; + State = AstronautState.Idle; + transform.position = new Vector3(transform.position.x, planet.GetPlanetRadius(0)); } // Update is called once per frame diff --git a/Assets/Test/SR_Player.unity b/Assets/Test/SR_Player.unity new file mode 100644 index 0000000..0ffba99 --- /dev/null +++ b/Assets/Test/SR_Player.unity @@ -0,0 +1,395 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_GIWorkflowMode: 1 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: 0.16666667 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &142516341 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 142516343} + - 114: {fileID: 142516342} + m_Layer: 0 + m_Name: Planet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &142516342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 142516341} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 43d953650863ce04d8918939e0248654, type: 3} + m_Name: + m_EditorClassIdentifier: + NbCartiers: 10 + TailleCartiersEnDegres: 0 + WedgePrefab: {fileID: 170328, guid: 0b78da08dfa398840862539a74cc2377, type: 2} +--- !u!4 &142516343 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 142516341} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.32223088, y: 0.3535452, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 +--- !u!1001 &781808059 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalPosition.x + value: -0.6692338 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalPosition.y + value: 1.7862048 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalPosition.z + value: -0.045327663 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 11450178, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: InputMapperAsset + value: + objectReference: {fileID: 11400000, guid: ba52e0f13249c9e46bb162622e61904f, + type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 158e745881137e04ca2086294f44d74c, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1004608620 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1004608623} + - 212: {fileID: 1004608622} + - 114: {fileID: 1004608621} + m_Layer: 0 + m_Name: CubePlayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1004608621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1004608620} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac56b6226ed50a742a676cbfae403f88, type: 3} + m_Name: + m_EditorClassIdentifier: + fireRate: 1 +--- !u!212 &1004608622 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1004608620} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 0 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 5 + m_Sprite: {fileID: 21300000, guid: 1638a85de9c1a524ab602d8d8370dd8d, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 +--- !u!4 &1004608623 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1004608620} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.06, y: 1.03, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 +--- !u!1001 &1256643594 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 154602, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 403646, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: planet + value: + objectReference: {fileID: 142516342} + - target: {fileID: 21220066, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_SortingOrder + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 21257324, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_SortingOrder + value: 15 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1358383594 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1358383599} + - 20: {fileID: 1358383598} + - 92: {fileID: 1358383597} + - 124: {fileID: 1358383596} + - 81: {fileID: 1358383595} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1358383595 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1358383594} + m_Enabled: 1 +--- !u!124 &1358383596 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1358383594} + m_Enabled: 1 +--- !u!92 &1358383597 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1358383594} + m_Enabled: 1 +--- !u!20 &1358383598 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1358383594} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5.33 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1358383599 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1358383594} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 diff --git a/Assets/Test/SR_Player.unity.meta b/Assets/Test/SR_Player.unity.meta new file mode 100644 index 0000000..03330e9 --- /dev/null +++ b/Assets/Test/SR_Player.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3a799818f2730c24d8ef50a417dafe16 +timeCreated: 1460123448 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Test/SR_TestInput.unity b/Assets/Test/SR_TestInput.unity index 4277d06..af5e544 100644 --- a/Assets/Test/SR_TestInput.unity +++ b/Assets/Test/SR_TestInput.unity @@ -172,65 +172,48 @@ Transform: - {fileID: 1181143544} m_Father: {fileID: 1978914351} m_RootOrder: 6 ---- !u!1 &233895444 +--- !u!1 &142516341 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 130732, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} - m_PrefabInternal: {fileID: 1256643594} + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} serializedVersion: 4 m_Component: - - 4: {fileID: 233895445} - - 212: {fileID: 233895446} + - 4: {fileID: 142516343} + - 114: {fileID: 142516342} m_Layer: 0 - m_Name: Sprite_Walk + m_Name: Planet m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &233895445 +--- !u!114 &142516342 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 142516341} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 43d953650863ce04d8918939e0248654, type: 3} + m_Name: + m_EditorClassIdentifier: + NbCartiers: 10 + TailleCartiersEnDegres: 0 + WedgePrefab: {fileID: 170328, guid: 0b78da08dfa398840862539a74cc2377, type: 2} +--- !u!4 &142516343 Transform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 418246, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} - m_PrefabInternal: {fileID: 1256643594} - m_GameObject: {fileID: 233895444} + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 142516341} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0.32223088, y: 0.3535452, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 503406307} - m_RootOrder: 0 ---- !u!212 &233895446 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 21220066, guid: acd71c7b2f995984d9033c9dc4e257dc, - type: 2} - m_PrefabInternal: {fileID: 1256643594} - m_GameObject: {fileID: 233895444} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} - m_SubsetIndices: - m_StaticBatchRoot: {fileID: 0} - m_UseLightProbes: 0 - m_ReflectionProbeUsage: 0 - m_ProbeAnchor: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 028cce0260747214d81db557ec6f37c4, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 + m_Father: {fileID: 0} + m_RootOrder: 6 --- !u!1 &283589364 GameObject: m_ObjectHideFlags: 0 @@ -259,67 +242,6 @@ Transform: - {fileID: 1701020956} m_Father: {fileID: 1978914351} m_RootOrder: 0 ---- !u!1 &503406306 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 170392, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} - m_PrefabInternal: {fileID: 1256643594} - serializedVersion: 4 - m_Component: - - 4: {fileID: 503406307} - - 114: {fileID: 503406309} - - 114: {fileID: 503406308} - m_Layer: 0 - m_Name: Character - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &503406307 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 403646, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} - m_PrefabInternal: {fileID: 1256643594} - m_GameObject: {fileID: 503406306} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 4.18, z: 0} - m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} - m_Children: - - {fileID: 233895445} - - {fileID: 1123873744} - m_Father: {fileID: 1712891566} - m_RootOrder: 0 ---- !u!114 &503406308 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11434752, guid: acd71c7b2f995984d9033c9dc4e257dc, - type: 2} - m_PrefabInternal: {fileID: 1256643594} - m_GameObject: {fileID: 503406306} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab270b0cb2475114ab8eb45661af0df1, type: 3} - m_Name: - m_EditorClassIdentifier: - PlayerNumber: 0 ---- !u!114 &503406309 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, - type: 2} - m_PrefabInternal: {fileID: 1256643594} - m_GameObject: {fileID: 503406306} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8c32c40e0b8e5eb47bb7a91068af09ca, type: 3} - m_Name: - m_EditorClassIdentifier: - Rotator: {fileID: 1712891565} - SpriteWalk: {fileID: 233895444} - SpriteDash: {fileID: 1123873743} - StepTime: 0 - JumpSpeed: 0 --- !u!1 &596502439 GameObject: m_ObjectHideFlags: 0 @@ -422,7 +344,6 @@ Prefab: type: 2} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: 158e745881137e04ca2086294f44d74c, type: 2} - m_RootGameObject: {fileID: 1274438303} m_IsPrefabParent: 0 --- !u!1 &785858362 GameObject: @@ -571,42 +492,42 @@ SpriteRenderer: m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 ---- !u!1 &1123873743 +--- !u!1 &1004608620 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 157058, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} - m_PrefabInternal: {fileID: 1256643594} + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} serializedVersion: 4 m_Component: - - 4: {fileID: 1123873744} - - 212: {fileID: 1123873745} + - 4: {fileID: 1004608623} + - 212: {fileID: 1004608622} + - 114: {fileID: 1004608621} m_Layer: 0 - m_Name: Sprite_Dash + m_Name: CubePlayer m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1123873744 -Transform: +--- !u!114 &1004608621 +MonoBehaviour: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 406446, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} - m_PrefabInternal: {fileID: 1256643594} - m_GameObject: {fileID: 1123873743} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.14, y: 0.27, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 503406307} - m_RootOrder: 1 ---- !u!212 &1123873745 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1004608620} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac56b6226ed50a742a676cbfae403f88, type: 3} + m_Name: + m_EditorClassIdentifier: + fireRate: 1 +--- !u!212 &1004608622 SpriteRenderer: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 21257324, guid: acd71c7b2f995984d9033c9dc4e257dc, - type: 2} - m_PrefabInternal: {fileID: 1256643594} - m_GameObject: {fileID: 1123873743} - m_Enabled: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1004608620} + m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 m_Materials: @@ -626,10 +547,22 @@ SpriteRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 877352de2811c3e46b8b58e2475e07b3, type: 3} + m_Sprite: {fileID: 21300000, guid: 1638a85de9c1a524ab602d8d8370dd8d, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 +--- !u!4 &1004608623 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1004608620} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 --- !u!1 &1177034516 GameObject: m_ObjectHideFlags: 0 @@ -878,50 +811,7 @@ Prefab: objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} - m_RootGameObject: {fileID: 1712891565} m_IsPrefabParent: 0 ---- !u!1 &1274438303 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 127118, guid: 158e745881137e04ca2086294f44d74c, type: 2} - m_PrefabInternal: {fileID: 781808059} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1274438305} - - 114: {fileID: 1274438304} - m_Layer: 0 - m_Name: InputManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1274438304 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 11450178, guid: 158e745881137e04ca2086294f44d74c, - type: 2} - m_PrefabInternal: {fileID: 781808059} - m_GameObject: {fileID: 1274438303} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6e33ba5066fe01747b2722e6f089a2ba, type: 3} - m_Name: - m_EditorClassIdentifier: - MAX_PLAYER_COUNT: 4 - InputMapperAsset: {fileID: 11400000, guid: ba52e0f13249c9e46bb162622e61904f, type: 2} ---- !u!4 &1274438305 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} - m_PrefabInternal: {fileID: 781808059} - m_GameObject: {fileID: 1274438303} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.6692338, y: 1.7862048, z: -0.045327663} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 --- !u!1 &1358383594 GameObject: m_ObjectHideFlags: 0 @@ -1440,34 +1330,10 @@ SpriteRenderer: m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 ---- !u!1 &1712891565 +--- !u!1 &1712891565 stripped GameObject: - m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 154602, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} m_PrefabInternal: {fileID: 1256643594} - serializedVersion: 4 - m_Component: - - 4: {fileID: 1712891566} - m_Layer: 0 - m_Name: Astronaut - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &1712891566 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} - m_PrefabInternal: {fileID: 1256643594} - m_GameObject: {fileID: 1712891565} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 503406307} - m_Father: {fileID: 0} - m_RootOrder: 2 --- !u!1 &1738566138 GameObject: m_ObjectHideFlags: 0 From 0695a19964ba3a99d20816702187a26607ccad79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 12:59:00 -0400 Subject: [PATCH 02/17] AsteroidSpawner + collider asteroides et plateformes en cours . (doesn't trigger ?!?) --- Assets/Prefabs/Asteroid.prefab | 30 +++--- Assets/Prefabs/WedgePrefab00.prefab | 17 +++- Assets/Scripts/Asteroid.cs | 17 ++++ Assets/Scripts/AsteroidSpawner.cs | 37 ++++++++ Assets/Scripts/AsteroidSpawner.cs.meta | 12 +++ Assets/Scripts/PlanetManager.cs | 2 +- Assets/Scripts/testRotate.cs | 4 +- Assets/_Scenes/planet.unity | 123 +++++++++++++++++++------ ProjectSettings/TagManager.asset | 2 +- 9 files changed, 198 insertions(+), 46 deletions(-) create mode 100644 Assets/Scripts/AsteroidSpawner.cs create mode 100644 Assets/Scripts/AsteroidSpawner.cs.meta diff --git a/Assets/Prefabs/Asteroid.prefab b/Assets/Prefabs/Asteroid.prefab index d28abf7..7127214 100644 --- a/Assets/Prefabs/Asteroid.prefab +++ b/Assets/Prefabs/Asteroid.prefab @@ -9,9 +9,9 @@ GameObject: m_Component: - 4: {fileID: 494682} - 33: {fileID: 3335396} - - 135: {fileID: 13519402} - 23: {fileID: 2317388} - 114: {fileID: 11437858} + - 58: {fileID: 5847224} m_Layer: 0 m_Name: Asteroid m_TagString: Asteroid @@ -26,7 +26,7 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 160026} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 3.51, y: 1.36, z: 0} + m_LocalPosition: {x: 8.22, y: 1.36, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} @@ -64,6 +64,20 @@ MeshFilter: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 160026} m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!58 &5847224 +CircleCollider2D: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.5 --- !u!114 &11437858 MonoBehaviour: m_ObjectHideFlags: 1 @@ -77,18 +91,6 @@ MonoBehaviour: m_EditorClassIdentifier: speed: 1 step: 0 ---- !u!135 &13519402 -SphereCollider: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 160026} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.5 - m_Center: {x: 0, y: 0, z: 0} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Assets/Prefabs/WedgePrefab00.prefab b/Assets/Prefabs/WedgePrefab00.prefab index f46b5df..9a9530f 100644 --- a/Assets/Prefabs/WedgePrefab00.prefab +++ b/Assets/Prefabs/WedgePrefab00.prefab @@ -9,6 +9,7 @@ GameObject: m_Component: - 4: {fileID: 427432} - 212: {fileID: 21228928} + - 58: {fileID: 5856220} m_Layer: 0 m_Name: WedgePrefab m_TagString: Untagged @@ -26,7 +27,7 @@ GameObject: - 4: {fileID: 411762} m_Layer: 0 m_Name: WedgePrefab00 - m_TagString: Untagged + m_TagString: Wedge m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -56,6 +57,20 @@ Transform: m_Children: [] m_Father: {fileID: 411762} m_RootOrder: 0 +--- !u!58 &5856220 +CircleCollider2D: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152938} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 1.985 --- !u!212 &21228928 SpriteRenderer: m_ObjectHideFlags: 1 diff --git a/Assets/Scripts/Asteroid.cs b/Assets/Scripts/Asteroid.cs index 23cb82d..141c844 100644 --- a/Assets/Scripts/Asteroid.cs +++ b/Assets/Scripts/Asteroid.cs @@ -26,4 +26,21 @@ public class Asteroid : MonoBehaviour step = speed * Time.deltaTime; this.transform.position = Vector3.MoveTowards(transform.position, center, step); } + + //collider must be set as "isTrigger" in unity for this method to work + void OnCollisionEnter2D(Collider otherCol) + { + + + if (otherCol.gameObject.tag == "Player") + { + //Stun the player + } + if (otherCol.gameObject.tag == "Wedge") + { + var pmgr = FindObjectOfType(); + pmgr.PushWedge(otherCol.gameObject.transform.rotation.z); + } + } + } diff --git a/Assets/Scripts/AsteroidSpawner.cs b/Assets/Scripts/AsteroidSpawner.cs new file mode 100644 index 0000000..f53a580 --- /dev/null +++ b/Assets/Scripts/AsteroidSpawner.cs @@ -0,0 +1,37 @@ +using UnityEngine; +using System.Collections; +using System; + +public class AsteroidSpawner : TimerFunctionsClass +{ + + public float NextSpawnTime = 1.0f; + public GameObject AsteroidPrefab; + + // Use this for initialization + void Start () { + this.SetTimer(NextSpawnTime, SpawnAsteroidEvent); + this.StartTimer(); + } + + // Update is called once per frame + void Update () { + base.Update(); + } + + public void SpawnAsteroidEvent() + { + + // Random entre 10 et 20, * 1 ou -1 + var x = UnityEngine.Random.Range(10.0f, 20.0f) * (Mathf.Floor(UnityEngine.Random.Range(0.0f, 1.99f)) * 2 - 1); + var y = UnityEngine.Random.Range(10.0f, 20.0f) * (Mathf.Floor(UnityEngine.Random.Range(0.0f, 1.99f)) * 2 - 1); + + //instantiate as child of AsteroidSpawner + var a = Instantiate(AsteroidPrefab, new Vector3(x, y, 0.0f), Quaternion.identity); + //a.tranform.parent = this.transform; + + //Cooldown untill next random spawn + SetTimer(NextSpawnTime, SpawnAsteroidEvent); + StartTimer(); + } +} diff --git a/Assets/Scripts/AsteroidSpawner.cs.meta b/Assets/Scripts/AsteroidSpawner.cs.meta new file mode 100644 index 0000000..29c31c5 --- /dev/null +++ b/Assets/Scripts/AsteroidSpawner.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 43c82cd8902191d49b45cf914b13e97c +timeCreated: 1460125980 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlanetManager.cs b/Assets/Scripts/PlanetManager.cs index 325f791..3c769d6 100644 --- a/Assets/Scripts/PlanetManager.cs +++ b/Assets/Scripts/PlanetManager.cs @@ -12,7 +12,7 @@ public class PlanetManager : MonoBehaviour public bool CartierResetRatioSpeedRandomize = true; public float CartierMinRatio = 0.4f; public float CartierMaxRatio = 2.0f; - public float CartierStepSize = 0.25; + public float CartierStepSize = 0.25f; public GameObject WedgePrefab = null; public List wedges = new List(); diff --git a/Assets/Scripts/testRotate.cs b/Assets/Scripts/testRotate.cs index 34a9c2f..d80d6bd 100644 --- a/Assets/Scripts/testRotate.cs +++ b/Assets/Scripts/testRotate.cs @@ -55,8 +55,8 @@ public class testRotate : MonoBehaviour { /// void FixedUpdate() { - - var theta = Time.realtimeSinceStartup * speed % 360.0f; // Position X du player = angle theta + + var theta = 0;// Time.realtimeSinceStartup * speed % 360.0f; // Position X du player = angle theta var planet = GameObject.Find("Planet").gameObject.GetComponent(); diff --git a/Assets/_Scenes/planet.unity b/Assets/_Scenes/planet.unity index db41455..33a1088 100644 --- a/Assets/_Scenes/planet.unity +++ b/Assets/_Scenes/planet.unity @@ -85,6 +85,94 @@ NavMeshSettings: cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &150247454 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 150247455} + - 114: {fileID: 150247456} + m_Layer: 0 + m_Name: AsteroidSpawner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &150247455 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 150247454} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 +--- !u!114 &150247456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 150247454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 43c82cd8902191d49b45cf914b13e97c, type: 3} + m_Name: + m_EditorClassIdentifier: + textTime: + NextSpawnTime: 1 + AsteroidPrefab: {fileID: 160026, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} +--- !u!1001 &240262242 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + propertyPath: m_LocalPosition.x + value: 3.51 + objectReference: {fileID: 0} + - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + propertyPath: m_LocalPosition.y + value: 1.36 + objectReference: {fileID: 0} + - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 13519402, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + propertyPath: m_IsTrigger + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + m_IsPrefabParent: 0 --- !u!1 &437600384 GameObject: m_ObjectHideFlags: 0 @@ -103,7 +191,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!23 &437600385 MeshRenderer: m_ObjectHideFlags: 0 @@ -174,7 +262,12 @@ MonoBehaviour: m_EditorClassIdentifier: NbCartiers: 10 TailleCartiersEnDegres: 0 - WedgePrefab: {fileID: 186656, guid: 901b80ca01ac0de4ca89de7f82c3709f, type: 2} + CartierResetRatioSpeedFactor: 0.23 + CartierResetRatioSpeedRandomize: 1 + CartierMinRatio: 0.4 + CartierMaxRatio: 2 + CartierStepSize: 0.25 + WedgePrefab: {fileID: 170328, guid: 0b78da08dfa398840862539a74cc2377, type: 2} --- !u!1 &638371353 GameObject: m_ObjectHideFlags: 0 @@ -273,8 +366,6 @@ GameObject: - 65: {fileID: 1250089530} - 23: {fileID: 1250089529} - 114: {fileID: 1250089535} - - 114: {fileID: 1250089534} - - 114: {fileID: 1250089533} m_Layer: 0 m_Name: CubePlayer m_TagString: Untagged @@ -339,28 +430,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_RootOrder: 2 ---- !u!114 &1250089533 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1250089528} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7dea5240387606044ad82f94c4235e31, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1250089534 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1250089528} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab91e6d9b759ad545b023f33788c97ba, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!114 &1250089535 MonoBehaviour: m_ObjectHideFlags: 0 @@ -372,4 +441,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ac56b6226ed50a742a676cbfae403f88, type: 3} m_Name: m_EditorClassIdentifier: - fireRate: 1 + fireRate: 0.2 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 8f98569..793cb0a 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -4,7 +4,7 @@ TagManager: serializedVersion: 2 tags: - - Asteroid + - Wedge layers: - Default - TransparentFX From 106f953436f720c03a82f5d1e203896d5749c95d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 13:48:48 -0400 Subject: [PATCH 03/17] Collider des asteroid, ca fonctionne mieux avec des rigid body... --- Assets/Prefabs/Asteroid.prefab | 28 +++++++++++------------- Assets/Prefabs/WedgePrefab00.prefab | 34 ++++++++++++++++++++--------- Assets/Scripts/Asteroid.cs | 5 +++-- Assets/_Scenes/planet.unity | 25 ++++++++++++++++----- 4 files changed, 60 insertions(+), 32 deletions(-) diff --git a/Assets/Prefabs/Asteroid.prefab b/Assets/Prefabs/Asteroid.prefab index 7127214..5849238 100644 --- a/Assets/Prefabs/Asteroid.prefab +++ b/Assets/Prefabs/Asteroid.prefab @@ -11,7 +11,7 @@ GameObject: - 33: {fileID: 3335396} - 23: {fileID: 2317388} - 114: {fileID: 11437858} - - 58: {fileID: 5847224} + - 135: {fileID: 13502558} m_Layer: 0 m_Name: Asteroid m_TagString: Asteroid @@ -64,20 +64,6 @@ MeshFilter: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 160026} m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!58 &5847224 -CircleCollider2D: - m_ObjectHideFlags: 1 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 100100000} - m_GameObject: {fileID: 160026} - m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} - serializedVersion: 2 - m_Radius: 0.5 --- !u!114 &11437858 MonoBehaviour: m_ObjectHideFlags: 1 @@ -91,6 +77,18 @@ MonoBehaviour: m_EditorClassIdentifier: speed: 1 step: 0 +--- !u!135 &13502558 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} --- !u!1001 &100100000 Prefab: m_ObjectHideFlags: 1 diff --git a/Assets/Prefabs/WedgePrefab00.prefab b/Assets/Prefabs/WedgePrefab00.prefab index 9a9530f..73389f1 100644 --- a/Assets/Prefabs/WedgePrefab00.prefab +++ b/Assets/Prefabs/WedgePrefab00.prefab @@ -9,10 +9,11 @@ GameObject: m_Component: - 4: {fileID: 427432} - 212: {fileID: 21228928} - - 58: {fileID: 5856220} + - 135: {fileID: 13583406} + - 54: {fileID: 5455998} m_Layer: 0 m_Name: WedgePrefab - m_TagString: Untagged + m_TagString: Wedge m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -27,7 +28,7 @@ GameObject: - 4: {fileID: 411762} m_Layer: 0 m_Name: WedgePrefab00 - m_TagString: Wedge + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -57,20 +58,33 @@ Transform: m_Children: [] m_Father: {fileID: 411762} m_RootOrder: 0 ---- !u!58 &5856220 -CircleCollider2D: +--- !u!54 &5455998 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 152938} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!135 &13583406 +SphereCollider: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 152938} - m_Enabled: 1 - m_Density: 1 m_Material: {fileID: 0} m_IsTrigger: 1 - m_UsedByEffector: 0 - m_Offset: {x: 0, y: 0} + m_Enabled: 1 serializedVersion: 2 - m_Radius: 1.985 + m_Radius: 2 + m_Center: {x: 0, y: 0, z: 0} --- !u!212 &21228928 SpriteRenderer: m_ObjectHideFlags: 1 diff --git a/Assets/Scripts/Asteroid.cs b/Assets/Scripts/Asteroid.cs index 141c844..12c2107 100644 --- a/Assets/Scripts/Asteroid.cs +++ b/Assets/Scripts/Asteroid.cs @@ -28,7 +28,7 @@ public class Asteroid : MonoBehaviour } //collider must be set as "isTrigger" in unity for this method to work - void OnCollisionEnter2D(Collider otherCol) + public void OnTriggerEnter(Collider otherCol) { @@ -39,7 +39,8 @@ public class Asteroid : MonoBehaviour if (otherCol.gameObject.tag == "Wedge") { var pmgr = FindObjectOfType(); - pmgr.PushWedge(otherCol.gameObject.transform.rotation.z); + pmgr.PushWedge(otherCol.gameObject.transform.parent.eulerAngles.z); + Destroy(this.gameObject); } } diff --git a/Assets/_Scenes/planet.unity b/Assets/_Scenes/planet.unity index 33a1088..d0b76cc 100644 --- a/Assets/_Scenes/planet.unity +++ b/Assets/_Scenes/planet.unity @@ -136,7 +136,7 @@ Prefab: m_Modifications: - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} propertyPath: m_LocalPosition.x - value: 3.51 + value: 8.22 objectReference: {fileID: 0} - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} propertyPath: m_LocalPosition.y @@ -166,10 +166,6 @@ Prefab: propertyPath: m_RootOrder value: 4 objectReference: {fileID: 0} - - target: {fileID: 13519402, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - propertyPath: m_IsTrigger - value: 1 - objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} m_IsPrefabParent: 0 @@ -268,6 +264,25 @@ MonoBehaviour: CartierMaxRatio: 2 CartierStepSize: 0.25 WedgePrefab: {fileID: 170328, guid: 0b78da08dfa398840862539a74cc2377, type: 2} +--- !u!1 &475725347 stripped +GameObject: + m_PrefabParentObject: {fileID: 160026, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + m_PrefabInternal: {fileID: 240262242} +--- !u!54 &475725353 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 475725347} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 --- !u!1 &638371353 GameObject: m_ObjectHideFlags: 0 From 9b705e5044bebc7d4266d005d29d8fb5b78b74b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 15:11:57 -0400 Subject: [PATCH 04/17] =?UTF-8?q?G=C3=A9n=C3=A9ration=20des=20ast=C3=A9roi?= =?UTF-8?q?ride=20vers=20les=20players.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Asteroid.cs | 4 +- Assets/Scripts/AsteroidSpawner.cs | 37 ++++++++++++++---- Assets/Scripts/Astronaut.cs | 2 +- Assets/Scripts/PlanetManager.cs | 4 +- Assets/Scripts/testRotate.cs | 6 +-- Assets/_Scenes/planet.unity | 64 +------------------------------ 6 files changed, 40 insertions(+), 77 deletions(-) diff --git a/Assets/Scripts/Asteroid.cs b/Assets/Scripts/Asteroid.cs index 12c2107..56875e8 100644 --- a/Assets/Scripts/Asteroid.cs +++ b/Assets/Scripts/Asteroid.cs @@ -10,8 +10,8 @@ public class Asteroid : MonoBehaviour // Use this for initialization void Start() { - speed = Random.Range(0.1F, 2F); - print(speed); + speed = Random.Range(0.9F, 3F); + // print(speed); center = new Vector3(0, 0); } diff --git a/Assets/Scripts/AsteroidSpawner.cs b/Assets/Scripts/AsteroidSpawner.cs index f53a580..821fb83 100644 --- a/Assets/Scripts/AsteroidSpawner.cs +++ b/Assets/Scripts/AsteroidSpawner.cs @@ -7,9 +7,13 @@ public class AsteroidSpawner : TimerFunctionsClass public float NextSpawnTime = 1.0f; public GameObject AsteroidPrefab; + public bool GenerationVersLesjoueurs = true; //random lorsque false; // Use this for initialization - void Start () { + void Start () + { + + if (GenerationVersLesjoueurs) NextSpawnTime = 3 * NextSpawnTime; this.SetTimer(NextSpawnTime, SpawnAsteroidEvent); this.StartTimer(); } @@ -21,14 +25,33 @@ public class AsteroidSpawner : TimerFunctionsClass public void SpawnAsteroidEvent() { + if (!GenerationVersLesjoueurs) + { + // Random entre 10 et 20, * 1 ou -1 + var x = UnityEngine.Random.Range(10.0f, 20.0f)*(Mathf.Floor(UnityEngine.Random.Range(0.0f, 1.99f))*2 - 1); + var y = UnityEngine.Random.Range(10.0f, 20.0f)*(Mathf.Floor(UnityEngine.Random.Range(0.0f, 1.99f))*2 - 1); + + //instantiate as child of AsteroidSpawner + var a = Instantiate(AsteroidPrefab, new Vector3(x, y, 0.0f), Quaternion.identity); + //a.tranform.parent = this.transform; + + } + else + { + var players = GameObject.FindGameObjectsWithTag("Player"); + var planet = FindObjectOfType(); + foreach (var p in players) + { + var playerTheta = Mathf.Atan2(p.transform.position.y, p.transform.position.x); + var angle = ( 360.0f + (((playerTheta * 180)) / Mathf.PI)) % 360; ///TODO : a changer pour p.theta + print("angle:" + angle); + Instantiate(AsteroidPrefab, planet.GetPlanetCoordinatesFromPlayerXY(angle, UnityEngine.Random.Range(10f,15f)), Quaternion.identity); + } + + } + - // Random entre 10 et 20, * 1 ou -1 - var x = UnityEngine.Random.Range(10.0f, 20.0f) * (Mathf.Floor(UnityEngine.Random.Range(0.0f, 1.99f)) * 2 - 1); - var y = UnityEngine.Random.Range(10.0f, 20.0f) * (Mathf.Floor(UnityEngine.Random.Range(0.0f, 1.99f)) * 2 - 1); - //instantiate as child of AsteroidSpawner - var a = Instantiate(AsteroidPrefab, new Vector3(x, y, 0.0f), Quaternion.identity); - //a.tranform.parent = this.transform; //Cooldown untill next random spawn SetTimer(NextSpawnTime, SpawnAsteroidEvent); diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index 44e3a47..f0fb79f 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -137,7 +137,7 @@ public class Astronaut : MonoBehaviour { { Vector3 rotation = transform.rotation.eulerAngles; rotation.z = Mathf.Sin(walkTime*Mathf.PI)*50; - print("rotation " + rotation); + // print("rotation " + rotation); transform.rotation = Quaternion.Euler(rotation); yield return null; } diff --git a/Assets/Scripts/PlanetManager.cs b/Assets/Scripts/PlanetManager.cs index 6298910..f496eea 100644 --- a/Assets/Scripts/PlanetManager.cs +++ b/Assets/Scripts/PlanetManager.cs @@ -181,9 +181,9 @@ public class PlanetManager : MonoBehaviour public Vector3 GetPlanetCoordinatesFromPlayerXY(float playerLocalX, float playerLocalY) { var theta = playerLocalX; - var wedgeRadius = GetPlanetRadius(playerLocalX); + var wedgeRadius = GetPlanetRadius(playerLocalX) + playerLocalY; var x = wedgeRadius * Mathf.Cos(theta * Mathf.PI / 180); - var y = wedgeRadius * Mathf.Sin(theta * Mathf.PI / 180) + playerLocalY; + var y = wedgeRadius * Mathf.Sin(theta * Mathf.PI / 180) ; return new Vector3(x, y, 0); } diff --git a/Assets/Scripts/testRotate.cs b/Assets/Scripts/testRotate.cs index d80d6bd..bd587f5 100644 --- a/Assets/Scripts/testRotate.cs +++ b/Assets/Scripts/testRotate.cs @@ -68,10 +68,10 @@ public class testRotate : MonoBehaviour { // var x = r * Mathf.Cos(theta * Mathf.PI / 180); // var y = r * Mathf.Sin(theta * Mathf.PI / 180); // + y0 du player - var player = GameObject.Find("CubePlayer").gameObject; + // var player = GameObject.Find("CubePlayer").gameObject; //player.transform.position = Vector3.Lerp(player.transform.position, new Vector3(x, y, 0 ), Time.deltaTime); - player.transform.position = Vector3.Lerp(player.transform.position, - planet.GetPlanetCoordinatesFromPlayerXY(theta, 0f), Time.fixedDeltaTime); + // player.transform.position = Vector3.Lerp(player.transform.position, + // planet.GetPlanetCoordinatesFromPlayerXY(theta, 0f), Time.fixedDeltaTime); } } diff --git a/Assets/_Scenes/planet.unity b/Assets/_Scenes/planet.unity index d0b76cc..a382705 100644 --- a/Assets/_Scenes/planet.unity +++ b/Assets/_Scenes/planet.unity @@ -127,48 +127,7 @@ MonoBehaviour: textTime: NextSpawnTime: 1 AsteroidPrefab: {fileID: 160026, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} ---- !u!1001 &240262242 -Prefab: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - propertyPath: m_LocalPosition.x - value: 8.22 - objectReference: {fileID: 0} - - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - propertyPath: m_LocalPosition.y - value: 1.36 - objectReference: {fileID: 0} - - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 494682, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - m_IsPrefabParent: 0 + GenerationVersLesjoueurs: 1 --- !u!1 &437600384 GameObject: m_ObjectHideFlags: 0 @@ -264,25 +223,6 @@ MonoBehaviour: CartierMaxRatio: 2 CartierStepSize: 0.25 WedgePrefab: {fileID: 170328, guid: 0b78da08dfa398840862539a74cc2377, type: 2} ---- !u!1 &475725347 stripped -GameObject: - m_PrefabParentObject: {fileID: 160026, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} - m_PrefabInternal: {fileID: 240262242} ---- !u!54 &475725353 -Rigidbody: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 475725347} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 0 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 --- !u!1 &638371353 GameObject: m_ObjectHideFlags: 0 @@ -383,7 +323,7 @@ GameObject: - 114: {fileID: 1250089535} m_Layer: 0 m_Name: CubePlayer - m_TagString: Untagged + m_TagString: Player m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 From 715c2df17dbcd2899bf985940c8966edf670708b Mon Sep 17 00:00:00 2001 From: RosimInc Date: Fri, 8 Apr 2016 16:00:44 -0400 Subject: [PATCH 05/17] Player movement - left right + jump + hitting walls --- Assets/Scripts/Astronaut.cs | 105 +++++- Assets/Scripts/PlanetManager.cs | 24 +- Assets/Scripts/PlanetUtilities.cs | 2 +- Assets/Scripts/testRotate.cs | 16 +- Assets/Test/SR_Player2.unity | 576 ++++++++++++++++++++++++++++++ Assets/Test/SR_Player2.unity.meta | 8 + 6 files changed, 698 insertions(+), 33 deletions(-) create mode 100644 Assets/Test/SR_Player2.unity create mode 100644 Assets/Test/SR_Player2.unity.meta diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index d67b875..026fa9d 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -12,8 +12,12 @@ public class Astronaut : MonoBehaviour { public GameObject SpriteWalk; public GameObject SpriteDash; + public float Width; + public float StepTime; public float JumpSpeed; + public float Gravity; + public float Speed; public PlanetManager planet; @@ -42,27 +46,86 @@ public class Astronaut : MonoBehaviour { SpriteDash.SetActive(false); } - if (_state == AstronautState.Walking) + /*if (_state == AstronautState.Walking) { StartCoroutine(WalkingStance()); - } + }*/ } } - + + private float theta = 0; + private float height = 0; private float vSpeed = 0; - private float height = 0; - private float angle = 0; + private bool grounded = false; + private float walkTime = 0; private int nextStep = 1; // Use this for initialization void Start () { State = AstronautState.Idle; - transform.position = new Vector3(transform.position.x, planet.GetPlanetRadius(0)); + //Debug.Log(planet.GetPlanetRadius(0)); + theta = 0; + height = planet.GetPlanetRadius(theta); + UpdatePosition(); + } + + private void UpdatePosition() + { + //float heightAtPos = planet.GetPlanetRadius(theta); + transform.localPosition = new Vector3(0, height, 0); + Rotator.transform.localRotation = Quaternion.Euler(0, 0, theta - 108); + } + + private float GetGroundRadius() + { + return GetGroundRadius(theta); + } + + private float GetGroundRadius(float theta) + { + float displacement = PlanetUtilities.GetDisplacementAngle(Width / 2, height); + Debug.Log(displacement + " " + Width/2 + " " + height); + float radius1 = planet.GetPlanetRadius(Repeat(theta + displacement, 360)); + float radius2 = planet.GetPlanetRadius(Repeat(theta - displacement, 360)); + //float x1, y1, x2, y2; + //PlanetUtilities.Spheric2Cartesian(theta + displacement, height, out x1, out y1); + //PlanetUtilities.Spheric2Cartesian(theta - displacement, height, out x2, out y2); + //Debug.DrawLine(new Vector3(x1, y1, 0), new Vector3(x2, y2, 0)); + return Mathf.Max(radius1, radius2); + } + + private float Repeat(float num, float limit) + { + return Mathf.Repeat(num + limit, limit); } // Update is called once per frame void Update () { + float delta = Time.deltaTime; + + if (!grounded) + { + height += vSpeed * delta; + vSpeed -= Gravity * delta; + } + + float radius = GetGroundRadius(); + if (grounded = (height <= radius)) + { + height = radius; + if (State == AstronautState.Jumping) + State = AstronautState.Idle; + } + + UpdatePosition(); + + //float x, y; + // + //PlanetUtilities.Spheric2Cartesian(theta, heightAtPos, out x, out y); + // + // + /* if (State == AstronautState.Walking) { @@ -70,7 +133,6 @@ public class Astronaut : MonoBehaviour { Vector3 rotation = transform.rotation.eulerAngles; rotation.z = Mathf.Sin(walkTime * Mathf.PI)*50; transform.rotation = Quaternion.Euler(rotation); - Debug.Log(rotation.z); }*/ /* @@ -112,12 +174,35 @@ public class Astronaut : MonoBehaviour { walkTime = 0f; } } + + if (State < AstronautState.Dashing) + { + if (-0.2 < x && x < 0.2) return; + //Debug.Log(x + " " + Speed + " " + height); + float movement = PlanetUtilities.GetDisplacementAngle(Speed * -x, height) * Time.deltaTime; + //Debug.Log("Moving! - " + height); + //Debug.Log("Daaa - " + movement); + float newTheta = theta + movement; + + float newHeight = GetGroundRadius(newTheta); + if (newHeight > height) + { + Debug.Log("Blocked by wall"); + return; // Blocked by wall + } + + theta = newTheta; + } } public void Jump() { - if (_state >= AstronautState.Ejecting) + if (State >= AstronautState.Ejecting || State == AstronautState.Jumping) return; + if (!grounded) return; + vSpeed = JumpSpeed; + grounded = false; + State = AstronautState.Jumping; } public void Dash() @@ -132,7 +217,7 @@ public class Astronaut : MonoBehaviour { Debug.Log("Clicked the button with an image"); } - IEnumerator WalkingStance() + /*IEnumerator WalkingStance() { Debug.Log("walking stance"); walkTime += Time.deltaTime / StepTime; @@ -150,5 +235,5 @@ public class Astronaut : MonoBehaviour { { StartCoroutine("WalkingStance"); } - } + }*/ } diff --git a/Assets/Scripts/PlanetManager.cs b/Assets/Scripts/PlanetManager.cs index f9df79b..2b80cc8 100644 --- a/Assets/Scripts/PlanetManager.cs +++ b/Assets/Scripts/PlanetManager.cs @@ -15,10 +15,8 @@ public class PlanetManager : MonoBehaviour public GameObject WedgePrefab = null; public List wedges = new List(); - - // Use this for initialization - void Start () { + void Awake () { TailleCartiersEnDegres = 360.0f / NbCartiers; for(int i = 0; i < NbCartiers; i++) @@ -26,7 +24,6 @@ public class PlanetManager : MonoBehaviour float debutAngleTheta = i* TailleCartiersEnDegres; var w = new Wedge() {tMin = debutAngleTheta, tMax = debutAngleTheta + TailleCartiersEnDegres}; - //float angle = i * Mathf.PI * 2 / NbCartiers * 360; //var wedgePos = GetPlanetCoordinatesFromPlayerXY(debutAngleTheta, 0); // wedgePos.x -= Mathf.Cos(debutAngleTheta * Mathf.PI / 180); @@ -36,7 +33,6 @@ public class PlanetManager : MonoBehaviour w.sprite = GameObject.Find(obj.name); wedges.Add(w); //pushes at end. } - } // Update is called once per frame @@ -46,7 +42,8 @@ public class PlanetManager : MonoBehaviour } void FixedUpdate() - { + { + if (!this.CartierResetRatioSpeedRandomize) return; //Ramener les plateforme vers leur position initiale 0; foreach (var w in wedges) @@ -80,7 +77,7 @@ public class PlanetManager : MonoBehaviour w.sprite.transform.localScale = new Vector3(w.offset, w.offset,0.0f); } - + //TODO_SR For each player } public void PushWedge(float thetaPlayerX) @@ -168,13 +165,12 @@ public class PlanetManager : MonoBehaviour ///

/// Radius sphere est scale/2 /// - /// - public float GetPlanetRadius(float thetaPlayerX) - { - var wedge = GetWedgeFromTheta(thetaPlayerX); - return GetPlanetRadius() * wedge.offset; - } - + /// + public float GetPlanetRadius(float thetaPlayerX) + { + var wedge = GetWedgeFromTheta(thetaPlayerX); + return GetPlanetRadius() * wedge.offset; + } public Vector3 GetPlanetCoordinatesFromPlayerXY(float playerLocalX, float playerLocalY) diff --git a/Assets/Scripts/PlanetUtilities.cs b/Assets/Scripts/PlanetUtilities.cs index 2119588..964b77a 100644 --- a/Assets/Scripts/PlanetUtilities.cs +++ b/Assets/Scripts/PlanetUtilities.cs @@ -11,6 +11,6 @@ public class PlanetUtilities { public static float GetDisplacementAngle(float delta, float radius) { - return Mathf.Rad2Deg * radius / delta; + return Mathf.Rad2Deg * delta / radius; } } diff --git a/Assets/Scripts/testRotate.cs b/Assets/Scripts/testRotate.cs index 34a9c2f..04ec50b 100644 --- a/Assets/Scripts/testRotate.cs +++ b/Assets/Scripts/testRotate.cs @@ -4,11 +4,10 @@ using System.Collections; public class testRotate : MonoBehaviour { - - public float fireRate = 0.2f; private float lastShot = 0.0f; - private float speed = 33.2f; + private float speed = 33.2f; + public bool check; void Update() { @@ -41,7 +40,7 @@ public class testRotate : MonoBehaviour { // Use this for initialization void Start () { - + } @@ -56,8 +55,8 @@ public class testRotate : MonoBehaviour { void FixedUpdate() { - var theta = Time.realtimeSinceStartup * speed % 360.0f; // Position X du player = angle theta - + var theta = Time.realtimeSinceStartup * speed % 360.0f; // Position X du player = angle theta + if (check) theta = 0; var planet = GameObject.Find("Planet").gameObject.GetComponent(); @@ -68,8 +67,9 @@ public class testRotate : MonoBehaviour { // var x = r * Mathf.Cos(theta * Mathf.PI / 180); // var y = r * Mathf.Sin(theta * Mathf.PI / 180); // + y0 du player - var player = GameObject.Find("CubePlayer").gameObject; - + var player = GameObject.Find("CubePlayer").gameObject; + + Vector3 pos = planet.GetPlanetCoordinatesFromPlayerXY(theta, 0f); //player.transform.position = Vector3.Lerp(player.transform.position, new Vector3(x, y, 0 ), Time.deltaTime); player.transform.position = Vector3.Lerp(player.transform.position, planet.GetPlanetCoordinatesFromPlayerXY(theta, 0f), Time.fixedDeltaTime); diff --git a/Assets/Test/SR_Player2.unity b/Assets/Test/SR_Player2.unity new file mode 100644 index 0000000..1aeaa8c --- /dev/null +++ b/Assets/Test/SR_Player2.unity @@ -0,0 +1,576 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_GIWorkflowMode: 1 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: 0.16666667 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &437600384 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 437600388} + - 33: {fileID: 437600387} + - 135: {fileID: 437600386} + - 23: {fileID: 437600385} + - 114: {fileID: 437600389} + m_Layer: 0 + m_Name: Planet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &437600385 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 437600384} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!135 &437600386 +SphereCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 437600384} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &437600387 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 437600384} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &437600388 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 437600384} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 7.9, y: 7.9, z: 0.1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 +--- !u!114 &437600389 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 437600384} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 43d953650863ce04d8918939e0248654, type: 3} + m_Name: + m_EditorClassIdentifier: + NbCartiers: 10 + TailleCartiersEnDegres: 0 + CartierResetRatioSpeedFactor: 0.23 + CartierResetRatioSpeedRandomize: 0 + CartierMinRatio: 0.4 + CartierMaxRatio: 2 + WedgePrefab: {fileID: 170328, guid: 0b78da08dfa398840862539a74cc2377, type: 2} +--- !u!1001 &556403999 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalPosition.x + value: -0.6692338 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalPosition.y + value: 1.7862048 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalPosition.z + value: -0.045327663 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 11450178, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: InputMapperAsset + value: + objectReference: {fileID: 11400000, guid: ba52e0f13249c9e46bb162622e61904f, + type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 158e745881137e04ca2086294f44d74c, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &638371353 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 638371358} + - 20: {fileID: 638371357} + - 92: {fileID: 638371356} + - 124: {fileID: 638371355} + - 81: {fileID: 638371354} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &638371354 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 638371353} + m_Enabled: 1 +--- !u!124 &638371355 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 638371353} + m_Enabled: 1 +--- !u!92 &638371356 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 638371353} + m_Enabled: 1 +--- !u!20 &638371357 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 638371353} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 6 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &638371358 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 638371353} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!1 &1250089528 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1250089532} + - 33: {fileID: 1250089531} + - 65: {fileID: 1250089530} + - 23: {fileID: 1250089529} + - 114: {fileID: 1250089535} + m_Layer: 0 + m_Name: CubePlayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1250089529 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1250089528} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1250089530 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1250089528} + 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!33 &1250089531 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1250089528} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1250089532 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1250089528} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5.06, y: 0.16, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 +--- !u!114 &1250089535 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1250089528} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac56b6226ed50a742a676cbfae403f88, type: 3} + m_Name: + m_EditorClassIdentifier: + fireRate: 1 + check: 0 +--- !u!1 &1688389652 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1688389656} + - 33: {fileID: 1688389655} + - 65: {fileID: 1688389654} + - 23: {fileID: 1688389653} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!23 &1688389653 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1688389652} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1688389654 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1688389652} + 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!33 &1688389655 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1688389652} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1688389656 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1688389652} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.04, y: 0.151, z: 0} + m_LocalScale: {x: 0.65, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 +--- !u!1001 &1843779772 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 403646, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: planet + value: + objectReference: {fileID: 437600389} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: StepTime + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: JumpSpeed + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 21257324, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_SortingOrder + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 21220066, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_SortingOrder + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 406446, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.x + value: -0.04 + objectReference: {fileID: 0} + - target: {fileID: 418246, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.x + value: -0.18 + objectReference: {fileID: 0} + - target: {fileID: 406446, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0.63 + objectReference: {fileID: 0} + - target: {fileID: 418246, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0.36 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: width + value: 0.4 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: Gravity + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: Speed + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: Width + value: 0.4 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + m_IsPrefabParent: 0 diff --git a/Assets/Test/SR_Player2.unity.meta b/Assets/Test/SR_Player2.unity.meta new file mode 100644 index 0000000..d38fbf2 --- /dev/null +++ b/Assets/Test/SR_Player2.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e861b2d4ce52c444a738c636f92c728 +timeCreated: 1460123938 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: From 9468107334249978668217afd8f6b284c7af4c18 Mon Sep 17 00:00:00 2001 From: RosimInc Date: Fri, 8 Apr 2016 16:31:05 -0400 Subject: [PATCH 06/17] Small modifications to remove debug logs --- Assets/Scripts/Astronaut.cs | 1 - Assets/Test/SR_Player2.unity | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index 1943e78..12cd512 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -85,7 +85,6 @@ public class Astronaut : MonoBehaviour { private float GetGroundRadius(float theta) { float displacement = PlanetUtilities.GetDisplacementAngle(Width / 2, height); - Debug.Log(displacement + " " + Width/2 + " " + height); float radius1 = planet.GetPlanetRadius(Repeat(theta + displacement, 360)); float radius2 = planet.GetPlanetRadius(Repeat(theta - displacement, 360)); //float x1, y1, x2, y2; diff --git a/Assets/Test/SR_Player2.unity b/Assets/Test/SR_Player2.unity index 1aeaa8c..2007a20 100644 --- a/Assets/Test/SR_Player2.unity +++ b/Assets/Test/SR_Player2.unity @@ -175,9 +175,10 @@ MonoBehaviour: NbCartiers: 10 TailleCartiersEnDegres: 0 CartierResetRatioSpeedFactor: 0.23 - CartierResetRatioSpeedRandomize: 0 + CartierResetRatioSpeedRandomize: 1 CartierMinRatio: 0.4 CartierMaxRatio: 2 + CartierStepSize: 0.25 WedgePrefab: {fileID: 170328, guid: 0b78da08dfa398840862539a74cc2377, type: 2} --- !u!1001 &556403999 Prefab: From 3625a7ee78939cf7f81333ed1667cac4ead99cde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 16:37:08 -0400 Subject: [PATCH 07/17] Modifs class Earthquake --- Assets/Scripts/Earthquake.cs | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/Assets/Scripts/Earthquake.cs b/Assets/Scripts/Earthquake.cs index f7943aa..58a3558 100644 --- a/Assets/Scripts/Earthquake.cs +++ b/Assets/Scripts/Earthquake.cs @@ -3,13 +3,13 @@ using System.Collections; public class Earthquake : MonoBehaviour { int gaugeLevel; - const int gaugeMax=4; + const int gaugeMax=100; // Use this for initialization void Start() { gaugeLevel = 0; - InvokeRepeating("fillGauge", 1, 1F); + InvokeRepeating("FillGauge", 1, 1F); } @@ -18,16 +18,44 @@ public class Earthquake : MonoBehaviour { } - void fillGauge() + /// + /// Actualiser l'affichage de la gauge + /// + void UpdateFixed() + { + + + + + } + + /// + /// à être Appelé à chaque fois qu'on enfonce un plateau, le gage se remplis plus vite. (et par le temps) + /// + void FillGauge() { if (gaugeLevel < gaugeMax) { gaugeLevel += 1; + + + //anim state [0-90] normale, rotation + + //color hue de plus en plus vers le rouge + + //[90-100] + //anim avec les ripples + + } else { gaugeLevel = 0; + } - print("gauge is at: " + gaugeLevel); + print("gauge is at: " + gaugeLevel); } + + + } From adbceaa38746a7671903c33f3e37885a8e94f911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 16:50:13 -0400 Subject: [PATCH 08/17] =?UTF-8?q?D=C3=A9but=20int=C3=A9gration=20scene=20M?= =?UTF-8?q?ain?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Prefabs/WedgePrefab00.prefab | 2 +- Assets/Scripts/Astronaut.cs | 38 ++- Assets/Scripts/testRotate.cs | 8 +- Assets/_Scenes/Main.unity | 460 ++++++++++++++++++++++++++++ Assets/_Scenes/Main.unity.meta | 8 + Assets/_Scenes/planet.unity | 310 +++++++++++++++++-- 6 files changed, 783 insertions(+), 43 deletions(-) create mode 100644 Assets/_Scenes/Main.unity create mode 100644 Assets/_Scenes/Main.unity.meta diff --git a/Assets/Prefabs/WedgePrefab00.prefab b/Assets/Prefabs/WedgePrefab00.prefab index 73389f1..5b93e66 100644 --- a/Assets/Prefabs/WedgePrefab00.prefab +++ b/Assets/Prefabs/WedgePrefab00.prefab @@ -112,7 +112,7 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingOrder: 0 m_Sprite: {fileID: 21300000, guid: 967af79000cf76b4287a112b4e30cbea, type: 3} - m_Color: {r: 0.78676474, g: 0.12727074, b: 0.12727074, a: 1} + m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 --- !u!1001 &100100000 diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index 12cd512..17d9ce6 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -1,6 +1,6 @@ -using UnityEngine; -using System.Collections; - +using UnityEngine; +using System.Collections; + public class Astronaut : MonoBehaviour { private enum AstronautState @@ -51,23 +51,27 @@ public class Astronaut : MonoBehaviour { StartCoroutine(WalkingStance()); }*/ } - } + } private float theta = 0; - private float height = 0; + private float height = 0; private float vSpeed = 0; private bool grounded = false; private float walkTime = 0; - private int nextStep = 1; - - // Use this for initialization + private int nextStep = 1; + + // Use this for initialization void Start () { - State = AstronautState.Idle; + if (!planet) + { + planet = FindObjectOfType(); + } + State = AstronautState.Idle; //Debug.Log(planet.GetPlanetRadius(0)); theta = 0; height = planet.GetPlanetRadius(theta); - UpdatePosition(); + UpdatePosition(); } private void UpdatePosition() @@ -97,9 +101,9 @@ public class Astronaut : MonoBehaviour { private float Repeat(float num, float limit) { return Mathf.Repeat(num + limit, limit); - } - - // Update is called once per frame + } + + // Update is called once per frame void Update () { float delta = Time.deltaTime; @@ -152,8 +156,8 @@ public class Astronaut : MonoBehaviour { case AstronautState.Walking: break; - } - */ + } + */ } public void Move(float x, float y) @@ -234,5 +238,5 @@ public class Astronaut : MonoBehaviour { { StartCoroutine("WalkingStance"); } - }*/ -} + }*/ +} diff --git a/Assets/Scripts/testRotate.cs b/Assets/Scripts/testRotate.cs index 04ec50b..6c00436 100644 --- a/Assets/Scripts/testRotate.cs +++ b/Assets/Scripts/testRotate.cs @@ -67,11 +67,11 @@ public class testRotate : MonoBehaviour { // var x = r * Mathf.Cos(theta * Mathf.PI / 180); // var y = r * Mathf.Sin(theta * Mathf.PI / 180); // + y0 du player - var player = GameObject.Find("CubePlayer").gameObject; + // var player = GameObject.Find("CubePlayer").gameObject; - Vector3 pos = planet.GetPlanetCoordinatesFromPlayerXY(theta, 0f); + //Vector3 pos = planet.GetPlanetCoordinatesFromPlayerXY(theta, 0f); //player.transform.position = Vector3.Lerp(player.transform.position, new Vector3(x, y, 0 ), Time.deltaTime); - player.transform.position = Vector3.Lerp(player.transform.position, - planet.GetPlanetCoordinatesFromPlayerXY(theta, 0f), Time.fixedDeltaTime); + //player.transform.position = Vector3.Lerp(player.transform.position, + // planet.GetPlanetCoordinatesFromPlayerXY(theta, 0f), Time.fixedDeltaTime); } } diff --git a/Assets/_Scenes/Main.unity b/Assets/_Scenes/Main.unity new file mode 100644 index 0000000..3ded358 --- /dev/null +++ b/Assets/_Scenes/Main.unity @@ -0,0 +1,460 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +SceneSettings: + m_ObjectHideFlags: 0 + m_PVSData: + m_PVSObjectsArray: [] + m_PVSPortalsArray: [] + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 6 + m_GIWorkflowMode: 1 + m_LightmapsMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 3 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AOMaxDistance: 1 + m_Padding: 2 + m_CompAOExponent: 0 + m_LightmapParameters: {fileID: 0} + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_ReflectionCompression: 2 + m_LightingDataAsset: {fileID: 0} + m_RuntimeCPUUsage: 25 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + accuratePlacement: 0 + minRegionArea: 2 + cellSize: 0.16666667 + manualCellSize: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1027139439 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1027139444} + - 33: {fileID: 1027139443} + - 135: {fileID: 1027139442} + - 23: {fileID: 1027139441} + - 114: {fileID: 1027139440} + m_Layer: 0 + m_Name: Planet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1027139440 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1027139439} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 43d953650863ce04d8918939e0248654, type: 3} + m_Name: + m_EditorClassIdentifier: + NbCartiers: 10 + TailleCartiersEnDegres: 0 + CartierResetRatioSpeedFactor: 0.23 + CartierResetRatioSpeedRandomize: 1 + CartierMinRatio: 0.4 + CartierMaxRatio: 2 + CartierStepSize: 0.25 + WedgePrefab: {fileID: 170328, guid: 0b78da08dfa398840862539a74cc2377, type: 2} +--- !u!23 &1027139441 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1027139439} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!135 &1027139442 +SphereCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1027139439} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1027139443 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1027139439} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1027139444 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1027139439} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 7.9, y: 7.9, z: 0.1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 +--- !u!1 &1055650857 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1055650859} + - 114: {fileID: 1055650858} + m_Layer: 0 + m_Name: AsteroidSpawner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1055650858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1055650857} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 43c82cd8902191d49b45cf914b13e97c, type: 3} + m_Name: + m_EditorClassIdentifier: + textTime: + NextSpawnTime: 1 + AsteroidPrefab: {fileID: 160026, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + GenerationVersLesjoueurs: 1 +--- !u!4 &1055650859 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1055650857} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 +--- !u!1001 &1072533353 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalPosition.x + value: -0.6692338 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalPosition.y + value: 1.7862048 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalPosition.z + value: -0.045327663 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 498212, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 11450178, guid: 158e745881137e04ca2086294f44d74c, type: 2} + propertyPath: InputMapperAsset + value: + objectReference: {fileID: 11400000, guid: ba52e0f13249c9e46bb162622e61904f, + type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 158e745881137e04ca2086294f44d74c, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1660116367 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 403646, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: planet + value: + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: StepTime + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: JumpSpeed + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 21257324, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_SortingOrder + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 21220066, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_SortingOrder + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 406446, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.x + value: -0.04 + objectReference: {fileID: 0} + - target: {fileID: 418246, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.x + value: -0.18 + objectReference: {fileID: 0} + - target: {fileID: 406446, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0.63 + objectReference: {fileID: 0} + - target: {fileID: 418246, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_LocalPosition.y + value: 0.36 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: width + value: 0.4 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: Gravity + value: 15 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: Speed + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: Width + value: 0.4 + objectReference: {fileID: 0} + - target: {fileID: 154602, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_Name + value: Astronaut_1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1945693977 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1945693982} + - 20: {fileID: 1945693981} + - 92: {fileID: 1945693980} + - 124: {fileID: 1945693979} + - 81: {fileID: 1945693978} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1945693978 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1945693977} + m_Enabled: 1 +--- !u!124 &1945693979 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1945693977} + m_Enabled: 1 +--- !u!92 &1945693980 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1945693977} + m_Enabled: 1 +--- !u!20 &1945693981 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1945693977} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &1945693982 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1945693977} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 diff --git a/Assets/_Scenes/Main.unity.meta b/Assets/_Scenes/Main.unity.meta new file mode 100644 index 0000000..275a1e9 --- /dev/null +++ b/Assets/_Scenes/Main.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0ec70b7369d30d74e8ac8c17899762a0 +timeCreated: 1460148233 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Scenes/planet.unity b/Assets/_Scenes/planet.unity index a382705..513bb0e 100644 --- a/Assets/_Scenes/planet.unity +++ b/Assets/_Scenes/planet.unity @@ -112,7 +112,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 2 --- !u!114 &150247456 MonoBehaviour: m_ObjectHideFlags: 0 @@ -283,7 +283,7 @@ Camera: far clip plane: 1000 field of view: 60 orthographic: 1 - orthographic size: 5 + orthographic size: 6.96 m_Depth: -1 m_CullingMask: serializedVersion: 2 @@ -309,31 +309,44 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 ---- !u!1 &1250089528 +--- !u!1 &993731489 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 4 m_Component: - - 4: {fileID: 1250089532} - - 33: {fileID: 1250089531} - - 65: {fileID: 1250089530} - - 23: {fileID: 1250089529} - - 114: {fileID: 1250089535} + - 4: {fileID: 993731494} + - 33: {fileID: 993731493} + - 65: {fileID: 993731492} + - 23: {fileID: 993731491} + - 114: {fileID: 993731490} m_Layer: 0 - m_Name: CubePlayer + m_Name: CubePlayer (4) m_TagString: Player m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!23 &1250089529 +--- !u!114 &993731490 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 993731489} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac56b6226ed50a742a676cbfae403f88, type: 3} + m_Name: + m_EditorClassIdentifier: + fireRate: 0.2 + check: 0 +--- !u!23 &993731491 MeshRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1250089528} + m_GameObject: {fileID: 993731489} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -354,46 +367,301 @@ MeshRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingOrder: 0 ---- !u!65 &1250089530 +--- !u!65 &993731492 BoxCollider: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1250089528} + m_GameObject: {fileID: 993731489} 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!33 &1250089531 +--- !u!33 &993731493 MeshFilter: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1250089528} + m_GameObject: {fileID: 993731489} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1250089532 +--- !u!4 &993731494 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1250089528} + m_GameObject: {fileID: 993731489} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 5.06, y: 0.16, z: 0} + m_LocalPosition: {x: 3.16, y: 3.35, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 ---- !u!114 &1250089535 + m_RootOrder: 6 +--- !u!1 &1399563897 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1399563902} + - 33: {fileID: 1399563901} + - 65: {fileID: 1399563900} + - 23: {fileID: 1399563899} + - 114: {fileID: 1399563898} + m_Layer: 0 + m_Name: CubePlayer (2) + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1399563898 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1250089528} + m_GameObject: {fileID: 1399563897} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: ac56b6226ed50a742a676cbfae403f88, type: 3} m_Name: m_EditorClassIdentifier: fireRate: 0.2 + check: 0 +--- !u!23 &1399563899 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1399563897} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1399563900 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1399563897} + 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!33 &1399563901 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1399563897} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1399563902 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1399563897} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 4.6, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 +--- !u!1 &1480401695 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1480401700} + - 33: {fileID: 1480401699} + - 65: {fileID: 1480401698} + - 23: {fileID: 1480401697} + - 114: {fileID: 1480401696} + m_Layer: 0 + m_Name: CubePlayer (1) + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1480401696 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1480401695} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac56b6226ed50a742a676cbfae403f88, type: 3} + m_Name: + m_EditorClassIdentifier: + fireRate: 0.2 + check: 0 +--- !u!23 &1480401697 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1480401695} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1480401698 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1480401695} + 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!33 &1480401699 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1480401695} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1480401700 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1480401695} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 +--- !u!1 &1851760615 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1851760620} + - 33: {fileID: 1851760619} + - 65: {fileID: 1851760618} + - 23: {fileID: 1851760617} + - 114: {fileID: 1851760616} + m_Layer: 0 + m_Name: CubePlayer (3) + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1851760616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1851760615} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac56b6226ed50a742a676cbfae403f88, type: 3} + m_Name: + m_EditorClassIdentifier: + fireRate: 0.2 + check: 0 +--- !u!23 &1851760617 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1851760615} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!65 &1851760618 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1851760615} + 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!33 &1851760619 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1851760615} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1851760620 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1851760615} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.89, y: -2.79, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 From 119ae969c3dce586325bc06d69223a11aad1d202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 17:23:40 -0400 Subject: [PATCH 09/17] Dashin implemented --- Assets/Scripts/AsteroidSpawner.cs | 2 +- Assets/Scripts/Astronaut.cs | 2 + Assets/Scripts/AstronautController.cs | 6 +-- Assets/_Scenes/Main.unity | 77 +++++++++++++++++++++++++-- 4 files changed, 80 insertions(+), 7 deletions(-) diff --git a/Assets/Scripts/AsteroidSpawner.cs b/Assets/Scripts/AsteroidSpawner.cs index 821fb83..f837b34 100644 --- a/Assets/Scripts/AsteroidSpawner.cs +++ b/Assets/Scripts/AsteroidSpawner.cs @@ -7,7 +7,7 @@ public class AsteroidSpawner : TimerFunctionsClass public float NextSpawnTime = 1.0f; public GameObject AsteroidPrefab; - public bool GenerationVersLesjoueurs = true; //random lorsque false; + public bool GenerationVersLesjoueurs = false; //random lorsque false; // Use this for initialization void Start () diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index 17d9ce6..0beaf1b 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -212,6 +212,8 @@ public class Astronaut : MonoBehaviour { { if (_state >= AstronautState.Ejecting) return; + + planet.PushWedge(this.theta); } public void OnGUI() diff --git a/Assets/Scripts/AstronautController.cs b/Assets/Scripts/AstronautController.cs index bd94670..0492100 100644 --- a/Assets/Scripts/AstronautController.cs +++ b/Assets/Scripts/AstronautController.cs @@ -2,7 +2,7 @@ using System.Collections; using InputHandler; -[RequireComponent(typeof(Astronaut))] +[RequireComponent(typeof(Astronaut))] public class AstronautController : MonoBehaviour { private Astronaut _astronaut; @@ -65,5 +65,5 @@ public class AstronautController : MonoBehaviour { _astronaut.Jump(); } } -} - +} + diff --git a/Assets/_Scenes/Main.unity b/Assets/_Scenes/Main.unity index 3ded358..3e1ac6b 100644 --- a/Assets/_Scenes/Main.unity +++ b/Assets/_Scenes/Main.unity @@ -177,9 +177,10 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 7.9, y: 7.9, z: 0.1} - m_Children: [] + m_Children: + - {fileID: 1963189941} m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 2 --- !u!1 &1055650857 GameObject: m_ObjectHideFlags: 0 @@ -316,7 +317,7 @@ Prefab: - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} propertyPath: planet value: - objectReference: {fileID: 0} + objectReference: {fileID: 1027139440} - target: {fileID: 11494368, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} propertyPath: StepTime value: 5 @@ -369,6 +370,18 @@ Prefab: propertyPath: m_Name value: Astronaut_1 objectReference: {fileID: 0} + - target: {fileID: 170392, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_TagString + value: Untagged + objectReference: {fileID: 0} + - target: {fileID: 154602, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_TagString + value: Player + objectReference: {fileID: 0} + - target: {fileID: 21220066, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} m_IsPrefabParent: 0 @@ -458,3 +471,61 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_RootOrder: 0 +--- !u!1 &1963189940 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1963189941} + - 212: {fileID: 1963189942} + m_Layer: 0 + m_Name: T_Planet_Center + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1963189941 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1963189940} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.12658228, y: 0.12658228, z: 10} + m_Children: [] + m_Father: {fileID: 1027139444} + m_RootOrder: 0 +--- !u!212 &1963189942 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1963189940} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 0 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 545c8c8845e75b44087e8546737ac074, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 From 4d6094b40f5ba014ec8ec9c3ef351e51a2e2dfe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 18:34:01 -0400 Subject: [PATCH 10/17] =?UTF-8?q?corrig=C3=A9=20bug=20dashing=20et=20angle?= =?UTF-8?q?=20n=C3=A9gatif=20(trouvais=20pas=20l'index=20des=20plateaux)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/AsteroidSpawner.cs | 2 -- Assets/Scripts/Astronaut.cs | 14 ++++++++++---- Assets/Scripts/AstronautController.cs | 7 +++++-- Assets/Scripts/PlanetManager.cs | 2 +- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Assets/Scripts/AsteroidSpawner.cs b/Assets/Scripts/AsteroidSpawner.cs index f837b34..f915a1e 100644 --- a/Assets/Scripts/AsteroidSpawner.cs +++ b/Assets/Scripts/AsteroidSpawner.cs @@ -51,8 +51,6 @@ public class AsteroidSpawner : TimerFunctionsClass } - - //Cooldown untill next random spawn SetTimer(NextSpawnTime, SpawnAsteroidEvent); StartTimer(); diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index 0beaf1b..e37c886 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -13,7 +13,8 @@ public class Astronaut : MonoBehaviour { public GameObject SpriteDash; public float Width; - + public float DashTime = 0.4f; //Temps de l'animation et rate limiting + private float lastDashTime = 0f; public float StepTime; public float JumpSpeed; public float Gravity; @@ -185,7 +186,7 @@ public class Astronaut : MonoBehaviour { float movement = PlanetUtilities.GetDisplacementAngle(Speed * -x, height) * Time.deltaTime; //Debug.Log("Moving! - " + height); //Debug.Log("Daaa - " + movement); - float newTheta = theta + movement; + float newTheta = (360 + theta + movement) % 360; // angle positif float newHeight = GetGroundRadius(newTheta); if (newHeight > height) @@ -210,9 +211,14 @@ public class Astronaut : MonoBehaviour { public void Dash() { - if (_state >= AstronautState.Ejecting) - return; + + if (Time.time < DashTime + lastDashTime) + return; + + if (_state >= AstronautState.Ejecting) + return; + lastDashTime = Time.time; planet.PushWedge(this.theta); } diff --git a/Assets/Scripts/AstronautController.cs b/Assets/Scripts/AstronautController.cs index 0492100..ecd56b0 100644 --- a/Assets/Scripts/AstronautController.cs +++ b/Assets/Scripts/AstronautController.cs @@ -51,8 +51,11 @@ public class AstronautController : MonoBehaviour { if (input.Ranges.ContainsKey("Dash")) { - if(input.Ranges["Dash"] > 0.8f) - _astronaut.Dash(); + if (input.Ranges["Dash"] > 0.8f) + { + _astronaut.Dash(); + } + } } diff --git a/Assets/Scripts/PlanetManager.cs b/Assets/Scripts/PlanetManager.cs index 9bf9861..ad5f38e 100644 --- a/Assets/Scripts/PlanetManager.cs +++ b/Assets/Scripts/PlanetManager.cs @@ -213,7 +213,7 @@ public class PlanetManager : MonoBehaviour /// public Wedge GetWedgeFromTheta(float thetaPlayerX) { - return wedges[GetWedgeIndex(thetaPlayerX)]; + return wedges[GetWedgeIndex(thetaPlayerX % 360)]; } /// From 6c11a27e463348801298efee3e594e9447a6cb15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 18:50:26 -0400 Subject: [PATCH 11/17] =?UTF-8?q?corrections=20de=20bogues=20d'int=C3=A9gr?= =?UTF-8?q?ation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Asteroid.cs | 12 ++++++------ Assets/Scripts/Astronaut.cs | 10 +++++----- Assets/Scripts/AstronautController.cs | 4 ++-- Assets/Scripts/Earthquake.cs | 14 +++++++------- Assets/Scripts/PlanetManager.cs | 19 ++++++++++--------- Assets/Scripts/testRotate.cs | 16 ++++++++-------- 6 files changed, 38 insertions(+), 37 deletions(-) diff --git a/Assets/Scripts/Asteroid.cs b/Assets/Scripts/Asteroid.cs index 56875e8..b3dc4bf 100644 --- a/Assets/Scripts/Asteroid.cs +++ b/Assets/Scripts/Asteroid.cs @@ -7,21 +7,21 @@ public class Asteroid : MonoBehaviour public float speed; public float step; - // Use this for initialization - void Start() + // Use this for initialization + public void Start() { speed = Random.Range(0.9F, 3F); // print(speed); center = new Vector3(0, 0); } - - // Update is called once per frame - void Update () { + + // Update is called once per frame + public void Update () { MoveObject(center); } - void MoveObject(Vector3 center) + public void MoveObject(Vector3 center) { step = speed * Time.deltaTime; this.transform.position = Vector3.MoveTowards(transform.position, center, step); diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index e37c886..943fcf7 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -62,8 +62,8 @@ public class Astronaut : MonoBehaviour { private float walkTime = 0; private int nextStep = 1; - // Use this for initialization - void Start () { + // Use this for initialization + public void Start () { if (!planet) { planet = FindObjectOfType(); @@ -103,9 +103,9 @@ public class Astronaut : MonoBehaviour { { return Mathf.Repeat(num + limit, limit); } - - // Update is called once per frame - void Update () { + + // Update is called once per frame + public void Update () { float delta = Time.deltaTime; if (!grounded) diff --git a/Assets/Scripts/AstronautController.cs b/Assets/Scripts/AstronautController.cs index ecd56b0..c830cde 100644 --- a/Assets/Scripts/AstronautController.cs +++ b/Assets/Scripts/AstronautController.cs @@ -9,8 +9,8 @@ public class AstronautController : MonoBehaviour { public int PlayerNumber; - // Use this for initialization - void Start() + // Use this for initialization + public void Start() { InputManager.Instance.PushActiveContext("Gameplay", PlayerNumber); InputManager.Instance.AddCallback(PlayerNumber, HandlePlayerAxis); diff --git a/Assets/Scripts/Earthquake.cs b/Assets/Scripts/Earthquake.cs index 58a3558..8e6c355 100644 --- a/Assets/Scripts/Earthquake.cs +++ b/Assets/Scripts/Earthquake.cs @@ -6,33 +6,33 @@ public class Earthquake : MonoBehaviour { const int gaugeMax=100; // Use this for initialization - void Start() + public void Start() { gaugeLevel = 0; InvokeRepeating("FillGauge", 1, 1F); } - - // Update is called once per frame - void Update () { + + // Update is called once per frame + public void Update () { } /// /// Actualiser l'affichage de la gauge /// - void UpdateFixed() + public void UpdateFixed() { } - + /// /// à être Appelé à chaque fois qu'on enfonce un plateau, le gage se remplis plus vite. (et par le temps) /// - void FillGauge() + public void FillGauge() { if (gaugeLevel < gaugeMax) { diff --git a/Assets/Scripts/PlanetManager.cs b/Assets/Scripts/PlanetManager.cs index ad5f38e..d1dc94f 100644 --- a/Assets/Scripts/PlanetManager.cs +++ b/Assets/Scripts/PlanetManager.cs @@ -10,6 +10,7 @@ public class PlanetManager : MonoBehaviour public float TailleCartiersEnDegres = 0; //radian -> valeurs 0 a 360 public float CartierResetRatioSpeedFactor = 0.23f; //Entre 0.05 et 1 ou plus on aime que ca restore lentement, randomnly public bool CartierResetRatioSpeedRandomize = true; + public bool CartierResetOverTime = true; public float CartierMinRatio = 0.4f; public float CartierMaxRatio = 2.0f; public float CartierStepSize = 0.25f; @@ -17,7 +18,7 @@ public class PlanetManager : MonoBehaviour public List wedges = new List(); // Use this for initialization - void Awake () { + public void Awake () { TailleCartiersEnDegres = 360.0f / NbCartiers; for(int i = 0; i < NbCartiers; i++) @@ -34,17 +35,17 @@ public class PlanetManager : MonoBehaviour w.sprite = GameObject.Find(obj.name); wedges.Add(w); //pushes at end. } - } - - // Update is called once per frame - void Update () { + } + + // Update is called once per frame + public void Update () { } - void FixedUpdate() + public void FixedUpdate() { - if (!this.CartierResetRatioSpeedRandomize) return; + if (!this.CartierResetOverTime) return; //Ramener les plateforme vers leur position initiale 0; foreach (var w in wedges) @@ -88,7 +89,7 @@ public class PlanetManager : MonoBehaviour w.offset = w.offset - CartierStepSize; if (w.offset < CartierMinRatio) - w.offset = 0.5f; + w.offset = CartierMinRatio; w.sprite.transform.localScale = new Vector3(w.offset, w.offset, 1); @@ -99,7 +100,7 @@ public class PlanetManager : MonoBehaviour v.offset = v.offset + CartierStepSize; if (v.offset > CartierMaxRatio) - v.offset = 1.5f; + v.offset = CartierMaxRatio; v.sprite.transform.localScale = new Vector3(v.offset, v.offset, 1); } diff --git a/Assets/Scripts/testRotate.cs b/Assets/Scripts/testRotate.cs index 6c00436..f4d7316 100644 --- a/Assets/Scripts/testRotate.cs +++ b/Assets/Scripts/testRotate.cs @@ -9,7 +9,7 @@ public class testRotate : MonoBehaviour { private float speed = 33.2f; public bool check; - void Update() + public void Update() { if(Input.GetKeyDown("space") || Input.GetKey("s")) { @@ -41,18 +41,18 @@ public class testRotate : MonoBehaviour { // Use this for initialization void Start () { - } - - - - - + } + + + + + /// /// Juste pour tester le mouvement du player autour du cercle. /// Le player se déplace de gauche a droite en x et la valeur de x représente l'angle theta /// saute en y /// - void FixedUpdate() + public void FixedUpdate() { var theta = Time.realtimeSinceStartup * speed % 360.0f; // Position X du player = angle theta From 7082931f3af843eab47ddca054683b49abedc6ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 19:17:22 -0400 Subject: [PATCH 12/17] =?UTF-8?q?d=C3=A9asctiv=C3=A9=20R=20pour=20le=20das?= =?UTF-8?q?h,=20se=20fait=20maintenant=20par=20un=20double=20jump.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Astronaut.cs | 16 ++++++++++++++-- Assets/Scripts/AstronautController.cs | 17 ++++++++++------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index 943fcf7..7bae079 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -197,13 +197,25 @@ public class Astronaut : MonoBehaviour { theta = newTheta; } + if (State == AstronautState.Dashing && grounded) + { + //TODO arreter mouvelement lateral + State=AstronautState.Idle; + } } public void Jump() { - if (State >= AstronautState.Ejecting || State == AstronautState.Jumping) + if (State >= AstronautState.Ejecting) return; - if (!grounded) return; + if (State == AstronautState.Jumping) + { + Dash(); + State=AstronautState.Dashing; //TODO relacher l'état Dashing + return; + + } + if (!grounded) return; vSpeed = JumpSpeed; grounded = false; State = AstronautState.Jumping; diff --git a/Assets/Scripts/AstronautController.cs b/Assets/Scripts/AstronautController.cs index c830cde..3ff2ed7 100644 --- a/Assets/Scripts/AstronautController.cs +++ b/Assets/Scripts/AstronautController.cs @@ -49,14 +49,17 @@ public class AstronautController : MonoBehaviour { _astronaut.Move(xValue, yValue); - if (input.Ranges.ContainsKey("Dash")) - { - if (input.Ranges["Dash"] > 0.8f) - { - _astronaut.Dash(); - } + + // le dash se fait par double jump avec un state change. + + //if (input.Ranges.ContainsKey("Dash")) + //{ + // if (input.Ranges["Dash"] > 0.8f) + // { + // _astronaut.Dash(); + // } - } + //} } private void HandlePlayerButtons(MappedInput input) From 9388d356e1306bebc8a34e9f712d9f2ff84084b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 19:26:28 -0400 Subject: [PATCH 13/17] Ajout arts asteroid 1 --- Assets/Art/T_Asteroid_01.png | Bin 0 -> 31358 bytes Assets/Art/T_Asteroid_01.png.meta | 57 +++++++++++++++++++++++++++ Assets/Prefabs/Asteroid.prefab | 63 +++++++++++++++++++++++++++++- Assets/Scripts/Asteroid.cs | 2 +- 4 files changed, 119 insertions(+), 3 deletions(-) create mode 100644 Assets/Art/T_Asteroid_01.png create mode 100644 Assets/Art/T_Asteroid_01.png.meta diff --git a/Assets/Art/T_Asteroid_01.png b/Assets/Art/T_Asteroid_01.png new file mode 100644 index 0000000000000000000000000000000000000000..3d7496fadafbb28cea1b30af1ccc1485451b6a96 GIT binary patch literal 31358 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 q3U}zD{mIO*A^X|9o Date: Fri, 8 Apr 2016 19:31:18 -0400 Subject: [PATCH 14/17] MOAR arts ! :) --- Assets/Art/T_Laveuse_02.png | Bin 0 -> 35409 bytes Assets/Art/T_TV_01.png | Bin 0 -> 38003 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Assets/Art/T_Laveuse_02.png create mode 100644 Assets/Art/T_TV_01.png diff --git a/Assets/Art/T_Laveuse_02.png b/Assets/Art/T_Laveuse_02.png new file mode 100644 index 0000000000000000000000000000000000000000..580e9b76e222d0ea402b3c3a2006625567fb3efa GIT binary patch literal 35409 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 AWdHyG literal 0 HcmV?d00001 diff --git a/Assets/Art/T_TV_01.png b/Assets/Art/T_TV_01.png new file mode 100644 index 0000000000000000000000000000000000000000..80058c6ddd52c23a2e14c1922df9fc2580b09ded GIT binary patch literal 38003 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

ugDr5+!q276vS_M0W|m zK-#iP)*=>V)(e0%2qkTK9yAt&`UD=3xjqC|0Lr%eCbmpt*h)I^pAZ{bQC#c+HW4x% zB@Gv0GEua_&m@9)13$(*_U3Msc3}fXNuvl|C(`4=t&lMnCifE-3ZMgJb^Go1_7+S- zSBqG9KC6;Yd}#TF&Nirb0ag-Wy%!mwks&BX47ddeK!HnFuJAzS$0`GviB0&A3BW#} zST`@PYnt2ba(ffj#`wydu{PeJeeW>yLI#!&S+|Z8<>05TK{t}u*qnbRjACPDb%bT8 zV>a99(>o2GmR{=Bu@yrBida>U4My^~@!(hU%g5`p;*uxc_lW7&jJT@}$C*o$y%brKZK{cK@bxQXe#?eKjAqDY{%-BM(Cq|!J za?9c~*Kh5MUE_5feH}>>;LIRd=p)$$uxG7EJQ!pSoR|!PVi&K8ZEDg)_TfaP70MK% z_dBbY)fRJsXSWPzThtp06jBn0Q&T%YG5DD0n;cIvTs5NoEv@Jr%jEtRY z)1Zk#4gu824MjU|wsU9c_#LVCRFrN;?ZTy)gRr7028&JuZ5aa?k{0j-By7)GSJDGt zGiy0OuM^Z8L;Bg6+qdZf0efw>fO z?o+^RX{WG@ESN_{WLN=;@lQWyk)Bg|-#7c_gcZ5~LHoWwkLzzqae8pd6wNsyL&3|F z!=QNqx+mld#J1X?!%5dgKpuK}9Vly+uCp=5@!Wor+K{-`YdK?F;h536n?ru`Y|wv! zj7`@rtk5}mMTEP-fug=O?vTz?5670V?Jsz#u9tPXos~9<8*q$iAFR=IY17&{HA%@a zj)Rp5wQN_q$Ly~)|ilqAco|px;?;(L4u+^)(U0@y&utC%}lk2JA(QkRL1$h zkJe;ROLUS1oItZjm{8;dLRFG}gWL_e@)XJS6{fw`kplKg-e%p~hIoY3r zF@m@KXkW84=p@q(-y!;Pz^k`iB}+tYsv;orKJ~*6Z3fb040hyJUj+c)jDdOu(%3T; z%*n32ndl0qmOg@!Z{JSvJMCl;eSx=4#xLSnx@eW_Ov^tj~3IGKUv8Y zbinUafR^6O{`4$rPF2$f!LbfXe$7LE^nzNZSlZZGbp=yn*rbsl)(yk8%TXxMvLowG zK7Ba@JqTM_FLY6BetesV5=a1o*4Vy%Et$mJys6Ek?lV2<`z-AHN6fFA0jfymgrb)N zYB-`ZbEvQshXxak1Xc{ZB3cjV5=aL7@S<+b?DU|DM98?CWtj!S5j0Oa*n&tb5t~Pu z`PNhK*w++KAd0wS6D?twnvryp0Ir}|jB;Qh9R(pDNjpY}88V+bu$0FKB+4to;G)~` zZQuBn6BG?7E*N=oP-Pa1ai*d-O)FOnG$>r?+Fe8!d!eaqi!vZRz(O$81l0$4+oWp3 zd|vFfvU;3ZGH@?<$CAXkHdCQum#gbWxuNw`-M4)P6#SNC!~$eg&{3#_t--fi8aVXVo2^BBmv1`?cp<0S;AJ4knE!UDZr(m zYpo`dcJD_SG7DyFaR8M4Im^V%l&~sx`zBU^ZYP6a^k?9=F-D)B zC=YK2oJj=xtA=^Ung`D1idgECgE*RqdS{Jq?I_PiQRi5-sz;ahbkaE2UY^U7I&D@e zvWM1FpSbHR*^LD@%}X{5Wg-`-1CR{xgu`fFSBLnC?Bx5`;T9lcaV&jxYyE_l`KNR* zM=^#t_*lCNmaGxZ3lfx36eTidLV48&g8?eP0x%Y3d?}%k2*gLJDgeU}KGkM70tK@J z7LpReaTLX^AE2ORFfW`DAQMRdkxoLB=m{{1fxt21rw;AvZVi+%eD@0+rx%>vm=cjs zD$P!h5$>9_O+*hwlo&+Kg(2jty00%9kIL*Ma!w)uBw4k={yNG7<}DCS7G6|v;dBwi zS52hy4lP{xvh|BK6E#>O+tTikjP&$mZPjZ`R8u-74`&5#Vfwd{62O{tvx`24+mJT? zNk*HR?6JF&Yga%T2r(0qGtMAK#;dr|8}BF7nYG9`iKxD?Ovk`r5f*|%Jp!b@eAgM8 z2yik4DiK|u+{@4?(1P=jW^a;fL;p@j2N<8Ca}FBJ*)swnlbEaX6Ok4&uUtubATnC) zL~lvD0g{k_@z)Z*7P_~+r1yf3kc@Is0+IkW*pA70-%RH-7$F4&6de3n9c!~d ztCI=?sp=_np+xqLtRQF!%YE7N@iL>(TM}Vs`=Iy z4hEV=Ysy}#OWE1kb`ys5%_*<-eMf0)oUlZG1!G*7M!re*lqH@j=on-eD9s59fKr3R z5+D=*+KnO1xME&tZ%M-zIQ$}sNa2u|NTZB(6J(@&e8V0_!tFi%s0|nZTsDKWq)}$k zpQgj!K)?_n0m*1-7db|s>@3d*?m*5bq@e`9$VH&{6KQFPoDpi2exeCPg}XM{w}{O5 zKnEqo?je&naG2L-zU?HcJP6=G8neiGu@R~tzV3+XNGM?xgdyvPP)nopArA3f#$? z_tszLjH0y%bp#p_?H$`d+h?=EAO}~9+`y=oPmO6@Ij{U=MTJC4OK<5XPFD2k1#^dPQzP6K=kFGmrMo0O@u7{4c7}qw#Dm zHjMY8U(FNTDnG-khwor1<}O$kL@7gS^YXs*#`_-wrSeVQ?w#0#MWk3QU1!U2cly@U z!+ZCPu|_IAD=QYbq5_N8rU93l{+|-A1sdvnkB?VPm-V(@Bd_rY5i5qKLS8eJJT{4; zWfZn629=URZKCxU(I$_w9y{D+X}cRKTCb5duc+CQ-D`S~SL89*>wf;{p5r)&bC@&p z|NnpA@8=0O_ib1kVC~_+oehkqVyFH+q2d#E&~CUSFazZNg1!k$Ya1b@!^^#s$y{1l zQ?p`|kraTKLFl9eZUUqt_E;>VJ1{E<2LX?_h1lHz`ezAk0Jj)HlM!b(+)l&?O~8H3 zg8HM6#R)agb|hX2%-iR)yNM01aU_~J>s26}F5_> z9tg)+di6w6QPGDVWCeM(;5u>7V`AO$;VmQWr;j#@M_7wru(EoGnDz9~`Wo8Jj6VBD zK$-Cl)sW|L6x*{f0)n^rx-2NDWdNe*FGqeRpdmc}a#e%sUufdtLCFVuhZ@x>9Wm*4 zK)g&)#HfwXkGfX~W1TlFUB7mO>S9SjdBniS1va!6bYIC3gf4EbTOh}XMGVLmV&pX| zLu{K{4VJUDcG)l&)(A&I$s@W;1Qr6kG$9Q_tAJ2Qe301wm`HjN{tk=_^8xGafICb? zvrauImc8usYuDHv9B1it1OFfUTO+KI_uG4oACM+y?}I zj%xw;wx_#$j1iT30){d#1fz!gRl?@0V%qs{->bA=^c2$p&Hq|^eRi`8$}grdRfe%I z$vpb|J56__UF4cJ=C0Mj?gz_)iyaeC!>p%s>qq^5>+Nt%G61N7-9QV${>WukWc>St z>w%C849N zO2h$}hxIdbq$vR>mT0GvIL{x7i?=7l$CF`mE9rKuH}hCY+G9_VRkAbK zMi$5QgLMq!lAQLK^kcu;R2|ne0)w7V6p>O9oN!G}-b2=fT_cy^-jJ;5kC3UVtULr_ z;RXNcnMw#_Wo*^|87qV>fRV7M8Iku}W$m&?B6C*r@gYjya5)3J&O{lU(X}HYCbn z?OU#^dB={QPEc%;;Up$DTEoELgRZKF*w)IMo0F1IYtSSnu_*#C!ULj)EpPS1?KrzZ z{odAs`R=*;-MIF$yWND2`V?8W-gs_cgaLyaYU@P(*~F!DE5ob@_wa#5399I{l2h4L z%1tNz3_X~89+f$CcJer}A;^4p$#->hxOj1MEAG`Cbg$JqDQJ+wri#51Of^v#(EDBq z!rXEUjp)J(jN@<~4MkX&o<|xi#q^8gYXOet78Y(oKSjOluZ+=F0s$o4o+ISn07HK{ z#X;v8+X{*#h0SI=yDfHQ(Ux^v!@Pp?UNMA`=OHwhyq&{Us&s#s(xd6{ZfD3F+VBwX zBr8FWpPM3c>}lWphizZYQGP}upL$bBDwS8}6Yg>bp6psT_ zIG_HOF@<6q*n>thd13R7;4JLZ&Av=(RP~R3Uf`JTSfKfP_-vR#@TL{!l}!GKh-2Wf zr_AA9Q1_C#tz3M9gFxkjxp}_8PIJ zQI@}?U0HR<%V`=3jkoN)(6-(hNn)Q2D_^b&yg>lm5M&= zVuOs(Jucp&R2_C4i9{-EKI%f|AC%prFAv9Tutd^g>c<3a;s$ucQ_YuTM<1tYs@qH zw_V+DId5T=ck)&~_lX{&MwT?gFP}x-GhvylZjltHx+<3GJP8TU3GekUSbQl^ub;`y z{@hsPVUT9DE51G}(EnKoS}8_nvI`EL-xC7M&A_-tq_qYr+GrE=BAc`H5>}buhcv(Y5?c$jKwI0m11^ou3o3-S>U8tSbf~n&4qt0tr@BCH<*Zxe&Nz^XE2Og;3`knb^n`3#t9QIt8+rS3*<8i5g5|Ytz ze&~8}7A-L}AV7U-U(^L;TsX1LTHaIN@$)5h6dbI&Vj1*aBSh&Xx?-!*p%zOqilL~= zUTLHEG=!qPlyF`tyX@RQs1ZarS0gz)%8PTUQdCCN=A-#k-cE|_u94{9(#Gz~lgzP> z0Jvfi=xsQ0xWeZXDK)sx_NB^{p}5J_?v*@jg6kI~o`(c+H&_eFQmtWEu2$=7II4)M zJ6ks0o>kCPa}}NmunX*pEoy#D?wz+LA=(dH*li!4P|u_wv)S#w=l(E6cm}eUwdbxz zwYGH9f;hiUT~OisN5pkxdpm{stFkoqjwf5x<#dP- Date: Fri, 8 Apr 2016 19:57:39 -0400 Subject: [PATCH 15/17] Random asteroids, driers and tv's. Don't ask. --- Assets/Art/T_Laveuse_02.png.meta | 57 +++++++ Assets/Art/T_TV_01.png.meta | 57 +++++++ .../{Asteroid.prefab => Asteroid_1.prefab} | 2 +- ...oid.prefab.meta => Asteroid_1.prefab.meta} | 0 Assets/Prefabs/Asteroid_2.prefab | 161 ++++++++++++++++++ Assets/Prefabs/Asteroid_2.prefab.meta | 8 + Assets/Prefabs/Asteroid_3.prefab | 161 ++++++++++++++++++ Assets/Prefabs/Asteroid_3.prefab.meta | 8 + Assets/Prefabs/Asteroid_4.prefab | 161 ++++++++++++++++++ Assets/Prefabs/Asteroid_4.prefab.meta | 8 + Assets/Scripts/AsteroidSpawner.cs | 43 ++++- Assets/_Scenes/Main.unity | 99 ++++++++++- 12 files changed, 750 insertions(+), 15 deletions(-) create mode 100644 Assets/Art/T_Laveuse_02.png.meta create mode 100644 Assets/Art/T_TV_01.png.meta rename Assets/Prefabs/{Asteroid.prefab => Asteroid_1.prefab} (99%) rename Assets/Prefabs/{Asteroid.prefab.meta => Asteroid_1.prefab.meta} (100%) create mode 100644 Assets/Prefabs/Asteroid_2.prefab create mode 100644 Assets/Prefabs/Asteroid_2.prefab.meta create mode 100644 Assets/Prefabs/Asteroid_3.prefab create mode 100644 Assets/Prefabs/Asteroid_3.prefab.meta create mode 100644 Assets/Prefabs/Asteroid_4.prefab create mode 100644 Assets/Prefabs/Asteroid_4.prefab.meta diff --git a/Assets/Art/T_Laveuse_02.png.meta b/Assets/Art/T_Laveuse_02.png.meta new file mode 100644 index 0000000..4aae765 --- /dev/null +++ b/Assets/Art/T_Laveuse_02.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 683238e4cc61bb34bb2fbcffcd988b1e +timeCreated: 1460158299 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/T_TV_01.png.meta b/Assets/Art/T_TV_01.png.meta new file mode 100644 index 0000000..0b1ec54 --- /dev/null +++ b/Assets/Art/T_TV_01.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 1e6c8c482275d50408e8a25aa5b593c8 +timeCreated: 1460158299 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Asteroid.prefab b/Assets/Prefabs/Asteroid_1.prefab similarity index 99% rename from Assets/Prefabs/Asteroid.prefab rename to Assets/Prefabs/Asteroid_1.prefab index 3dc1ca7..f7681f9 100644 --- a/Assets/Prefabs/Asteroid.prefab +++ b/Assets/Prefabs/Asteroid_1.prefab @@ -29,7 +29,7 @@ GameObject: - 114: {fileID: 11437858} - 135: {fileID: 13502558} m_Layer: 0 - m_Name: Asteroid + m_Name: Asteroid_1 m_TagString: Asteroid m_Icon: {fileID: 0} m_NavMeshLayer: 0 diff --git a/Assets/Prefabs/Asteroid.prefab.meta b/Assets/Prefabs/Asteroid_1.prefab.meta similarity index 100% rename from Assets/Prefabs/Asteroid.prefab.meta rename to Assets/Prefabs/Asteroid_1.prefab.meta diff --git a/Assets/Prefabs/Asteroid_2.prefab b/Assets/Prefabs/Asteroid_2.prefab new file mode 100644 index 0000000..1c0c354 --- /dev/null +++ b/Assets/Prefabs/Asteroid_2.prefab @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &120828 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 404170} + - 212: {fileID: 21231318} + m_Layer: 0 + m_Name: New Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160026 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 494682} + - 33: {fileID: 3335396} + - 23: {fileID: 2317388} + - 114: {fileID: 11437858} + - 135: {fileID: 13502558} + m_Layer: 0 + m_Name: Asteroid_2 + m_TagString: Asteroid + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &404170 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120828} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 494682} + m_RootOrder: 0 +--- !u!4 &494682 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 8.22, y: 1.36, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 404170} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!23 &2317388 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 373eeb9894b74ec43b7157c541d7cde8, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3335396 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &11437858 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 025c26020d5e62f40be0e8a2d063c51b, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: 1 + step: 0 +--- !u!135 &13502558 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!212 &21231318 +SpriteRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120828} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 0 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: adc5fe6c93bdded4bb5dc5e25191dbfc, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 160026} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/Asteroid_2.prefab.meta b/Assets/Prefabs/Asteroid_2.prefab.meta new file mode 100644 index 0000000..76ce246 --- /dev/null +++ b/Assets/Prefabs/Asteroid_2.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9e24cfebf8317af4090edf41a498cde3 +timeCreated: 1460158359 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Asteroid_3.prefab b/Assets/Prefabs/Asteroid_3.prefab new file mode 100644 index 0000000..86f96dc --- /dev/null +++ b/Assets/Prefabs/Asteroid_3.prefab @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &120828 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 404170} + - 212: {fileID: 21231318} + m_Layer: 0 + m_Name: New Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160026 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 494682} + - 33: {fileID: 3335396} + - 23: {fileID: 2317388} + - 114: {fileID: 11437858} + - 135: {fileID: 13502558} + m_Layer: 0 + m_Name: Asteroid_3 + m_TagString: Asteroid + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &404170 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120828} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 494682} + m_RootOrder: 0 +--- !u!4 &494682 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 8.22, y: 1.36, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 404170} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!23 &2317388 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 373eeb9894b74ec43b7157c541d7cde8, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3335396 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &11437858 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 025c26020d5e62f40be0e8a2d063c51b, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: 1 + step: 0 +--- !u!135 &13502558 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!212 &21231318 +SpriteRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120828} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 0 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 683238e4cc61bb34bb2fbcffcd988b1e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 160026} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/Asteroid_3.prefab.meta b/Assets/Prefabs/Asteroid_3.prefab.meta new file mode 100644 index 0000000..ad37dc9 --- /dev/null +++ b/Assets/Prefabs/Asteroid_3.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2d040b7dcfc7d564e98f7405c6746934 +timeCreated: 1460158359 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Asteroid_4.prefab b/Assets/Prefabs/Asteroid_4.prefab new file mode 100644 index 0000000..25ac131 --- /dev/null +++ b/Assets/Prefabs/Asteroid_4.prefab @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &120828 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 404170} + - 212: {fileID: 21231318} + m_Layer: 0 + m_Name: New Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &160026 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 4: {fileID: 494682} + - 33: {fileID: 3335396} + - 23: {fileID: 2317388} + - 114: {fileID: 11437858} + - 135: {fileID: 13502558} + m_Layer: 0 + m_Name: Asteroid_4 + m_TagString: Asteroid + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &404170 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120828} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 494682} + m_RootOrder: 0 +--- !u!4 &494682 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 8.22, y: 1.36, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 404170} + m_Father: {fileID: 0} + m_RootOrder: 0 +--- !u!23 &2317388 +MeshRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_Materials: + - {fileID: 2100000, guid: 373eeb9894b74ec43b7157c541d7cde8, type: 2} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 1 + m_ReflectionProbeUsage: 1 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 +--- !u!33 &3335396 +MeshFilter: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &11437858 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 025c26020d5e62f40be0e8a2d063c51b, type: 3} + m_Name: + m_EditorClassIdentifier: + speed: 1 + step: 0 +--- !u!135 &13502558 +SphereCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 160026} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!212 &21231318 +SpriteRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 120828} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 0 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 1e6c8c482275d50408e8a25aa5b593c8, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 160026} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/Asteroid_4.prefab.meta b/Assets/Prefabs/Asteroid_4.prefab.meta new file mode 100644 index 0000000..7479050 --- /dev/null +++ b/Assets/Prefabs/Asteroid_4.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 834d089adee1456459b32802ed8f11fb +timeCreated: 1460158359 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/AsteroidSpawner.cs b/Assets/Scripts/AsteroidSpawner.cs index f915a1e..567a2f7 100644 --- a/Assets/Scripts/AsteroidSpawner.cs +++ b/Assets/Scripts/AsteroidSpawner.cs @@ -1,25 +1,43 @@ using UnityEngine; using System.Collections; using System; +using System.Collections.Generic; public class AsteroidSpawner : TimerFunctionsClass { public float NextSpawnTime = 1.0f; - public GameObject AsteroidPrefab; + public GameObject AsteroidPrefab1; + public GameObject AsteroidPrefab2; + public GameObject AsteroidPrefab3; + public GameObject AsteroidPrefab4; + private List AsteroidPrefabTypes = new List(); + public bool GenerationVersLesjoueurs = false; //random lorsque false; // Use this for initialization - void Start () + public void Start () { - if (GenerationVersLesjoueurs) NextSpawnTime = 3 * NextSpawnTime; + if (!AsteroidPrefab1 || !AsteroidPrefab2 || !AsteroidPrefab3 || !AsteroidPrefab4) + { + Destroy(this.gameObject); + print("WARNING un type d'asteroide n'est pas defini dans les prefab. Vérifier l'objet avec un component AsteroidSpawner"); + return; + } + AsteroidPrefabTypes.Add(AsteroidPrefab1); + AsteroidPrefabTypes.Add(AsteroidPrefab2); + AsteroidPrefabTypes.Add(AsteroidPrefab3); + AsteroidPrefabTypes.Add(AsteroidPrefab4); + + + if (GenerationVersLesjoueurs) NextSpawnTime = 3 * NextSpawnTime; this.SetTimer(NextSpawnTime, SpawnAsteroidEvent); this.StartTimer(); } - - // Update is called once per frame - void Update () { + + // Update is called once per frame + public void Update () { base.Update(); } @@ -31,8 +49,12 @@ public class AsteroidSpawner : TimerFunctionsClass var x = UnityEngine.Random.Range(10.0f, 20.0f)*(Mathf.Floor(UnityEngine.Random.Range(0.0f, 1.99f))*2 - 1); var y = UnityEngine.Random.Range(10.0f, 20.0f)*(Mathf.Floor(UnityEngine.Random.Range(0.0f, 1.99f))*2 - 1); + + //0-3 + var AsteroidType = Mathf.RoundToInt(Mathf.Floor(UnityEngine.Random.Range(0f, 3.999f))); + //instantiate as child of AsteroidSpawner - var a = Instantiate(AsteroidPrefab, new Vector3(x, y, 0.0f), Quaternion.identity); + var a = Instantiate(AsteroidPrefabTypes[AsteroidType], new Vector3(x, y, 0.0f), Quaternion.identity); //a.tranform.parent = this.transform; } @@ -45,7 +67,12 @@ public class AsteroidSpawner : TimerFunctionsClass var playerTheta = Mathf.Atan2(p.transform.position.y, p.transform.position.x); var angle = ( 360.0f + (((playerTheta * 180)) / Mathf.PI)) % 360; ///TODO : a changer pour p.theta print("angle:" + angle); - Instantiate(AsteroidPrefab, planet.GetPlanetCoordinatesFromPlayerXY(angle, UnityEngine.Random.Range(10f,15f)), Quaternion.identity); + + var AsteroidType = Mathf.RoundToInt(Mathf.Floor(UnityEngine.Random.Range(0f, 3.999f))); + + Instantiate(AsteroidPrefabTypes[AsteroidType], + planet.GetPlanetCoordinatesFromPlayerXY(angle, UnityEngine.Random.Range(10f,15f)), + Quaternion.identity); } } diff --git a/Assets/_Scenes/Main.unity b/Assets/_Scenes/Main.unity index 3e1ac6b..62ce0fa 100644 --- a/Assets/_Scenes/Main.unity +++ b/Assets/_Scenes/Main.unity @@ -85,6 +85,34 @@ NavMeshSettings: cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &563857051 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 563857052} + m_Layer: 0 + m_Name: BackgroundLayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &563857052 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 563857051} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1910635819} + m_Father: {fileID: 0} + m_RootOrder: 5 --- !u!1 &1027139439 GameObject: m_ObjectHideFlags: 0 @@ -118,9 +146,10 @@ MonoBehaviour: NbCartiers: 10 TailleCartiersEnDegres: 0 CartierResetRatioSpeedFactor: 0.23 - CartierResetRatioSpeedRandomize: 1 - CartierMinRatio: 0.4 - CartierMaxRatio: 2 + CartierResetRatioSpeedRandomize: 0 + CartierResetOverTime: 1 + CartierMinRatio: 0.75 + CartierMaxRatio: 1.25 CartierStepSize: 0.25 WedgePrefab: {fileID: 170328, guid: 0b78da08dfa398840862539a74cc2377, type: 2} --- !u!23 &1027139441 @@ -209,7 +238,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: textTime: - NextSpawnTime: 1 + NextSpawnTime: 0.33 AsteroidPrefab: {fileID: 160026, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} GenerationVersLesjoueurs: 1 --- !u!4 &1055650859 @@ -372,11 +401,11 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 170392, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} propertyPath: m_TagString - value: Untagged + value: Player objectReference: {fileID: 0} - target: {fileID: 154602, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} propertyPath: m_TagString - value: Player + value: Untagged objectReference: {fileID: 0} - target: {fileID: 21220066, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} propertyPath: m_Enabled @@ -385,6 +414,64 @@ Prefab: m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} m_IsPrefabParent: 0 +--- !u!1 &1910635818 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 4: {fileID: 1910635819} + - 212: {fileID: 1910635820} + m_Layer: 0 + m_Name: atmosphere_stars + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1910635819 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1910635818} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 563857052} + m_RootOrder: 0 +--- !u!212 &1910635820 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1910635818} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000e000000000000000, type: 0} + m_SubsetIndices: + m_StaticBatchRoot: {fileID: 0} + m_UseLightProbes: 0 + m_ReflectionProbeUsage: 0 + m_ProbeAnchor: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 7b600710d7c1f804bad6a43acd9d1fcd, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 --- !u!1 &1945693977 GameObject: m_ObjectHideFlags: 0 From 23440570728c3edd05d957d47f8028331e9e68e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 20:16:59 -0400 Subject: [PATCH 16/17] =?UTF-8?q?Ajout=20rigid=20body=20=C3=A0=20l'astrona?= =?UTF-8?q?ute=20pour=20Stun=20si=20collision=20avec=20Asteroid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Prefabs/Astronaut.prefab | 53 +++++++++++++++++++++++++++------ Assets/Scripts/Asteroid.cs | 3 +- Assets/Scripts/Astronaut.cs | 12 +++++++- Assets/_Scenes/Main.unity | 39 ++++++++++++++++++++++-- 4 files changed, 94 insertions(+), 13 deletions(-) diff --git a/Assets/Prefabs/Astronaut.prefab b/Assets/Prefabs/Astronaut.prefab index f6bf33d..dd5900a 100644 --- a/Assets/Prefabs/Astronaut.prefab +++ b/Assets/Prefabs/Astronaut.prefab @@ -57,9 +57,11 @@ GameObject: - 4: {fileID: 403646} - 114: {fileID: 11494368} - 114: {fileID: 11434752} + - 54: {fileID: 5402556} + - 136: {fileID: 13683032} m_Layer: 0 m_Name: Character - m_TagString: Untagged + m_TagString: Player m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -71,7 +73,7 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 170392} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 4.18, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} m_Children: - {fileID: 418246} @@ -85,7 +87,7 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 157058} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.14, y: 0.27, z: 0} + m_LocalPosition: {x: -0.04, y: 0.63, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 403646} @@ -97,7 +99,7 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 130732} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: -0.18, y: 0.36, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 403646} @@ -109,12 +111,27 @@ Transform: m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 154602} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0.11} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 403646} m_Father: {fileID: 0} m_RootOrder: 0 +--- !u!54 &5402556 +Rigidbody: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170392} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 --- !u!114 &11434752 MonoBehaviour: m_ObjectHideFlags: 1 @@ -141,8 +158,26 @@ MonoBehaviour: Rotator: {fileID: 154602} SpriteWalk: {fileID: 130732} SpriteDash: {fileID: 157058} - StepTime: 0 - JumpSpeed: 0 + Width: 0.4 + DashTime: 0.4 + StepTime: 5 + JumpSpeed: 5 + Gravity: 15 + Speed: 5 + planet: {fileID: 0} +--- !u!136 &13683032 +CapsuleCollider: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 170392} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.77 + m_Height: 3.37 + m_Direction: 1 + m_Center: {x: -0.03, y: 0.35, z: 0} --- !u!212 &21220066 SpriteRenderer: m_ObjectHideFlags: 1 @@ -168,7 +203,7 @@ SpriteRenderer: m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 - m_SortingOrder: 0 + m_SortingOrder: 15 m_Sprite: {fileID: 21300000, guid: 028cce0260747214d81db557ec6f37c4, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 @@ -198,7 +233,7 @@ SpriteRenderer: m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 - m_SortingOrder: 0 + m_SortingOrder: 15 m_Sprite: {fileID: 21300000, guid: 877352de2811c3e46b8b58e2475e07b3, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 diff --git a/Assets/Scripts/Asteroid.cs b/Assets/Scripts/Asteroid.cs index 5e1a33d..9e1f2dd 100644 --- a/Assets/Scripts/Asteroid.cs +++ b/Assets/Scripts/Asteroid.cs @@ -34,7 +34,8 @@ public class Asteroid : MonoBehaviour if (otherCol.gameObject.tag == "Player") { - //Stun the player + ///Stun the player + otherCol.gameObject.GetComponent().Stun(); } if (otherCol.gameObject.tag == "Wedge") { diff --git a/Assets/Scripts/Astronaut.cs b/Assets/Scripts/Astronaut.cs index 7bae079..0a66ef2 100644 --- a/Assets/Scripts/Astronaut.cs +++ b/Assets/Scripts/Astronaut.cs @@ -234,7 +234,17 @@ public class Astronaut : MonoBehaviour { planet.PushWedge(this.theta); } - public void OnGUI() + ///

+ /// A character is stunned when hit by asteroid. + /// + public void Stun() + { + print("Stunned"); + } + + + + public void OnGUI() { if (GUI.Button(new Rect(10, 10, 150, 50), State.ToString())) Debug.Log("Clicked the button with an image"); diff --git a/Assets/_Scenes/Main.unity b/Assets/_Scenes/Main.unity index 62ce0fa..5b58804 100644 --- a/Assets/_Scenes/Main.unity +++ b/Assets/_Scenes/Main.unity @@ -85,6 +85,38 @@ NavMeshSettings: cellSize: 0.16666667 manualCellSize: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &448376563 stripped +GameObject: + m_PrefabParentObject: {fileID: 170392, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} + m_PrefabInternal: {fileID: 1660116367} +--- !u!136 &448376564 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 448376563} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.77 + m_Height: 3.37 + m_Direction: 1 + m_Center: {x: -0.03, y: 0.35, z: 0} +--- !u!54 &448376565 +Rigidbody: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 448376563} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 --- !u!1 &563857051 GameObject: m_ObjectHideFlags: 0 @@ -239,7 +271,10 @@ MonoBehaviour: m_EditorClassIdentifier: textTime: NextSpawnTime: 0.33 - AsteroidPrefab: {fileID: 160026, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + AsteroidPrefab1: {fileID: 160026, guid: cc1a204562630cd40a1dd685b5ed8e6e, type: 2} + AsteroidPrefab2: {fileID: 160026, guid: 9e24cfebf8317af4090edf41a498cde3, type: 2} + AsteroidPrefab3: {fileID: 160026, guid: 2d040b7dcfc7d564e98f7405c6746934, type: 2} + AsteroidPrefab4: {fileID: 160026, guid: 834d089adee1456459b32802ed8f11fb, type: 2} GenerationVersLesjoueurs: 1 --- !u!4 &1055650859 Transform: @@ -317,7 +352,7 @@ Prefab: objectReference: {fileID: 0} - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} propertyPath: m_LocalPosition.z - value: 0 + value: 0.11 objectReference: {fileID: 0} - target: {fileID: 494126, guid: acd71c7b2f995984d9033c9dc4e257dc, type: 2} propertyPath: m_LocalRotation.x From ba7adf42ae7d865d61ad1a9a7082e5eef6d71b91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Gervais?= Date: Fri, 8 Apr 2016 20:34:38 -0400 Subject: [PATCH 17/17] =?UTF-8?q?rotation=20asteroids=20et=20corrig=C3=A9?= =?UTF-8?q?=20astronaute=20qui=20se=20tient=20pas=20debout=20(avant=20de?= =?UTF-8?q?=20se=20faire=20pogner=20par=20un=20asteroid).=20=20Reste=20a?= =?UTF-8?q?=20faire=20reset=20de=20son=20orientation=20quand=20passe=20?= =?UTF-8?q?=C3=A9tat=20stun=20a=20idle)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Asteroid.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Asteroid.cs b/Assets/Scripts/Asteroid.cs index 9e1f2dd..ad160d6 100644 --- a/Assets/Scripts/Asteroid.cs +++ b/Assets/Scripts/Asteroid.cs @@ -6,6 +6,9 @@ public class Asteroid : MonoBehaviour Vector3 center; public float speed; public float step; + public float rotationSpeed = 1.0f; + public float rotationDirection = 1.0f; + public bool RandomRotationSpeed = true; // Use this for initialization public void Start() @@ -13,7 +16,14 @@ public class Asteroid : MonoBehaviour speed = Random.Range(1.8F, 3F); // print(speed); center = new Vector3(0, 0); - } + + + if (RandomRotationSpeed) + rotationSpeed = 10 * UnityEngine.Random.Range(0.25f, 5f); + + rotationDirection = (Mathf.Floor(UnityEngine.Random.Range(0.0f, 1.99f))*2 - 1); + + } // Update is called once per frame public void Update () { @@ -25,6 +35,11 @@ public class Asteroid : MonoBehaviour { step = speed * Time.deltaTime; this.transform.position = Vector3.MoveTowards(transform.position, center, step); + + + + this.transform.Rotate(new Vector3(0, 0, 1.0f), rotationDirection * rotationSpeed * Time.deltaTime); + } //collider must be set as "isTrigger" in unity for this method to work