s!Sti_41MC7T&oO0u)t95}u{ahza2Yxt-} iB9);9g!u3-+N~k) z#U <~?iBvD$7oGENgc_thpQ z #G0+?)$EZ0HeNTR~MSSzR-&^PssC_>e z5AfHFD*Qn|oi+}rVhB28U7LS75ST7(J$J3NH|(3Cw=@tz+B)w#C04r%H7410a0xn) z(v#S6J1THUQk`b?=swSm7VdJGyvX*&8x5rds0`143;Gv=UusKF&NMA4>G!(}Y(ben zGdEfgrz$C~p5Cm6A%bjj;|n *r2N(bJeCn6tz~hB;#_&UrnmOfWR)F_=6p`fRcC->vGOOx&B7R{(!o2DPp7JadZ4 zK3Ou4tVZzjBGABmB0LIGaA@BsWI7%$)oM#}>5$>fOurpaq5JHJP1^Pf>c%&A^1Kt< z(Nu@KR1T|p{67}p(x)r$-FZ(0EwW_27G%n%9p zr#!W_!@pg3`FBR5MMu*a6f0;^>fmPRthOZw*NaP8FrzoSel&dwTlsp*x&G2hXX2T^ z^-vCTEARlx+!|FiAirmEm;d^!@U{tBq+GQKB-Tz^VjlI%o*2bdCAp^;Dfz7YlF+(1 zdFerLVxcT~<9B=U(G%U(#o5e99ZOr1MN7}_?$Y*<++|KSjsv}F2sqYx_WHu4jb|eZ z5zDxKV{HfbrpqiD^S7d}e?_zSAah)f#33RQ=^RR5)}5%ZyTmXMSv-Rg3#P}YC$U>! zWZ9BKq7n@@gx-iuBo!`{rv>nY3ft*2iXiehKQ7rg?Cfk;X{c*u%TKZP7FZX+NJAr9 zuZFgB1O*b2K$@DJc*<3pM?M`v>alFtCpC7@WG(AHFUL$pLx4v6!c(5oX^#!jt*vug zS8NV2aCa{Rre-r?5a#JwCucB{e=GD5@d#@S7xN2)bUux C v3IU{~GK#f&+hg6f-ICzCy?%vz^Pe1$3GK|1w7i;qCX}p+sG2 z(r2I@8}p(-GO`U8W+-mFHmq*-HhN+t_6Jr!c41)~45e+opkN2IGrS9Eh4rEu7>LD1 zR~q~|1w;_8RVSW^1u5CwDB0!85(qH7%Lv@)=8Ps;2C_zPfnu|^c0;?z$=(h{$v6S0 zLT;yw*T}NU(cyB5febLvd?8uszHt-*gOMRbI_!i35)OMC*QVL29&SFef6g6_9!dM{ zG8d~sis7Z+wIdrFm;oT|-^?h#tp6Q@pu#${s#lTF4Ka;3936>Du=rr9EftwNUO+&{ z&esety=vGP(6XcL!8};J+XIqE85XU~;@Q Hqge5!rFlE*nbMGb)@vYJyI5KGf70<1( zuH{Ns?AQwRG5I^@ePi fr zbrc6mRHTzerU3uyPSJLayDYo&NeAq~)XWU!lPlBH{Yoz9gvZSGq)_F6>S;l(sRy(X zl#w&;5V6gBET=-xce%k{cO4z6$(>PGVAyhFkcL#DxS4W@_;&sgP*Yx97hZ+O!kCyT zp~S4V#KvCOGPDs?24gINrT@_S+|+b4f9~_FGT&xY%29Lv fX0U@H-C3`#9RLro z!>gi#ifZpe3=t2|Y#tO`PikH-WVU@eEp?|-q6Hpr5amo&{R=B8SQUJmp$r^K6wKGj zK74qPXt2A!fk1Ql#lQPbRx;iVk&0i4!6zr{N}K#8M#LlL#niCK@yz12IAi+G@B7=q zcc;)DYV*SL*_Xhp;m_dZ#?X(BZ5(c=3JbGpo?Zy}@1%w4?9r>cTs$N=SkU<5<{(^x zF08X30l%fy8LkR1hcmQU8Z=weqjdm@fAlz=qh6x% P{1@_Nehj?l~Zg% zvQXndqmJB-{eubd=}Fq81*jszY#L-_g1`{#JUnm%36kA8r34in lfr9d9qokd zMAx2%G$m&9Y5KdM(HBoN=om%i&~|K^@ALibE<7N3AaxDKlZe_G*a9^Qsm7>)(kh$X zSC4kFEurc7EE1>4wUgs3NJ7!;|0^uy$*nxSyFyMqDLLMmymM?4Qo&tIDE{Xt|FQ$% z`dObV(kRhDX(hQL;pH`duZ|ZnNP=^|TW!uwSK;|l!^%KIzAvt%J27w=9EMdnQLKal zgB-EiB&YoAQMVXW^~yRj(wTLEA>{zG-DU_!qVa+5_9)wSeWE?GsmU;ZXw!$N2j*uf zG@_!0!lT+2Sj3|sgT*0IFvQ-q&1MXb7#Ru6xBNH-ehbYZyHjv!@(4;XOh&1Z(L)QY zDrI*&D=Rm*qt`nU)RBzwsRN6dMqgGP_xKc8FuJ6)^sVLh(jSf>`EfE<_|lsrgY$tu zps8pr&W3!wn{{b<>ntHnOq4e5cN3kl?Jh4i3oRG)>DYa^w+osUlP0Y~^lL pUjTuq~9>8Phg+O&@jIM?D z#Q*w=bd3ZoNX;i&WCsQ6bZu7F9AI~atq%ll9>8PXH^6o4-aZ3nh|Dv-`4+_!VL=^M z`nTeS*8J#S0L{|xjJ@IZXECa@6U8omT=S7s2o&NKw?4H71qKFjr!zNh{O0+Tll4Kw zC?WU;=&AE@6 z+&;j#GBu@0?GPE)nZxa$j%{`b%#{}~q;IX# 1>W{~CFmaQPO~(r%vIMn$Bj$d) zd!m{!8gNu}=mH=9EL>yErG33sBP$D|JR}8cn^i5VeZn`* yr)l zMZ8b-PPh@2<<%nPg5_9a@v1+zp $?FXR#jzAQF8 z`J(oaI(<{yCwMSWdj?r-g*<_BD^2a2O%>VSsVyxVy0XvowYLvQ3D8jJdRJ9F#@A)^ z^wZPbKJ^7<6g-=+wY9LE*E^+;w(Iit1PBP4nkR~ejYy~U;A5s^X2A2+X@TQpi3X?H zoN*!vp1Lr<_KjGX`frW-a?=J&{_+&S)KSDzlELue`gEmZ%{EDScu&AbvX5g2EXTAM z8Aa2G*-0Ty+@48_$-6}cWlv8sN{WlBs04`)yx*_3hh6ZQD$~)&A?1k$GC&*g>)UP# z$?KPn4~O<|X3_Jaz@#BtR55skOAp^A4@DE?wcq>@rMPr73;>aV9}r37Pgf!xy1Z1! zT=1bi;}aP;L@^Sx>gM5nH>gNR?AG`CV`~i7SfW<07A+TjH-P$tXZQ~TXcw&!FlbaK z0+`t6Z^>4-V`_Uu_We`Cl&0b*xpJq{$*!{g%wEH`NBs(`YaCoTf7(Di14~Ee)Swt* zB_@!8_mu89GVaKA$RqL6^vxh ?d(x z#C|3TA^vHyv*SKrUK157=lhXKOUtTJO~c4QH`|jH zpYGOE5MEzzu6+ ^?kF2Q5nrLFlO^HCmyNQAPmE^R}L+q!!k6x6*-j~e;ngs)E^ z8j9WHl&x4EH#yEY)M|i9HX=eKXg3~CMWN6)ER~UC=698lTUu)@`qS6Tfl_RJd3mCU zELVci&cS|0vtHOc$lO)Q+-oBFLRi6~KCF|aRj|nw6UZmoLCOKiYJ{b_=LFv@EGFk2 zJnoo}ehI}1Jh?%&NHSQg@B{V tnFfsJU8HDwW48E%#UcdLJ1~kg`&(Z<~J1M89!zh=-5X9%dr4wzkdr};B zl&4^*ux>5CO7!zP!Ku*Ezc0*B9NYqK0+ Ffk^;O27T4#B%p3j(FC0*J6 zKSpz5!{C~lOvYGfdvTLRQkd+g+&S@sIC|L?cMnNp_72t)TW!pKqcJI!8l7!)`xn&r z%!PJ#mrg%-R$)2p_g7)(_6!{!VAy^P=3idET*&13pu1~q=R}6#)<8w?*Y-@TN6V)B zmwcf*lB3?imsbhfNh!gC{zEBPd4_=itQ>Q)LgTX9)Lg!EEv;)jOpQX8T6((0!tRue zj3)wghzS`Pr#g34xy*sYSY?CRaaP;)nO&2n) uiM0Bq!oCj@$MK#i*KKA}1h z?9@Kqp`m@k+{~fggURY?h!`sXAb9ljSv-?R_;^wmbJt8W=J7qS%rS^lI%7jzfgiAl zhF4${v@i%9Q`qUE14sBUhIcQYe7r!FI+qU(aUb%>^5Y`Vlq7$7XCg+Fk(tS9Y>zwQ z
E97i@ch>sTE(Tv$a2U?BiC5pR6^ybidtf5A=AeHSiiqIcJwMz zM?_FiWZc17?NR@At9SlsYhU{u&QnaqD6znxs;z~F@>?`8lNN0s3q#24y9DZ5Lr{|} zTg>VPuH#@6CUtzxjL!=;Q0#P!iz$4+QJ4F)012*(59MiZnjYPmJFFYJ%|%?Gmj62( z(4H1SxLsYU>iJ3%q3=}@8`0rFGmrtu&m%%CO{+3CX;i_|;L^P;%l@Y~2xI)tp^y%4 z$gnFM>uJ1b%XNMUl!Chm{>;MwXw{-_^{ym|Qy~gaO0dx)*AtKgNJ-%ZuJzMBnnQCr zkOfBCKv%bn^NpYR3kF_qEhvT_MLLf9`eo%!vFb_7%93)p_BR-mWAGDg<_1mjDu@g& zcde2&hJu~&b!L;*x;~e;GxkIzo@FTH>dLxkwwrSc0XJjsX#Jhq{W@W ~#`&g=N5ENVLTKC-Q_j3(>cB~eW0v4Dz_-`=qbOwr zQKlishWt)y>Jovzzw_gc9P7zaIypM2YKaFX-*{2mDkt{^Udz^%2CAGZpq`cm8=-JE z(UA1TO6^nE8g64|@kCa$#~|{w1!xWhkfLKar7{=RdIw62?ZJY5tTtt%4AwPXDwsgQ z2ou-L3`L8R?JZ)DPQGTewLN?bs*Z|OX5@~+ucV FCMp_d;@_F{HW?QSnPpqe@xAp9f(U470ds#iooen z;}a&*?>D_I1X7>dIX-~+5<{zO#c}D;KUzeJ$=tZMbI3|*5);5hNa3f+AHRoED`h!d zeT$aMm}An`o~ilF@9Dbms~wl_RTZGyl%q91=4UA0KMpFK>9-0+9%*P1W-u9UjUrr$ zXv>IZhuz1*ojk bPG?P@c&-4&eUB$Z2Rd+>kt#Gv1Iao6U8A2+<)( zM=_V1X8HT~Fs1zaWYV`-nu(5f#b{sj!$b6|4Feq)cAMiE9X*vC7w%c ~SnvwMe512`Tay;qoOHV4zQKfZy`LWo@nXN?N(1q!=t6k!*I{*qVaD z{~E|!!s^@xI(1I&%ncbLNrs*ZXz-$x&C8)|h)+?tA(BJmjTv1eVZkp^KL;-mm(-Im zv$?k(*&of!Fj-XaOB7VHWsLp`p&voKJ^QTN5 $@- zTyl8?57VytrTvyZU_n3XU1zj*I3CT7fV*Dxu(A~;JDXjqOU_6ZVDhGz)L{8_hg{vX z1PKSp{HKk_<*MN9gZwK^sogGGPH&_SJ0&U!J}P1fU8CU`L>mU_D&H$;w@HXz6_EC> zMnxsu8kJS4U=U4@&_|*R+CwfowVn_*+yO+g_;7J$VR5Qs8gLKG(b|;zM(hp_pIxRc zY-kZFQPKO_BQ2Q`z_N)@(C`FJsj#&YRHTGr?2F}FG$MIw*G<3uW?8teO8z{uej>;# zj~KhTT8cqnjQyN`w%r=;a(7*&FRvuMXQ7+{2nj3fBsE1nIV)}sbxrL8WhQTo*^id5 zg@%~iy;6YwG`jLpr@uN5ZVr$=GTVL)cg<9!k$-Q`+G_4* Um^LPa6e!0dfQVe2~F-^a@rdH z)VErk%ZrP~=ZHDM78<{8 UO@_l+tVy4pc_*!GtV>%%jZ;&hZ}MhF+(Ly@vZLZ4KqKuR1*QWN2@A7P zT}m_)Al2medw4rv1-`Z)^rb1KyQ zyGK_Js!ZC3+bA Xe&sJ43Hl;k_`>quFHQXdZwmNt&M~TA2!Qao~!N5P1%kUrDjck z%9a|rjL^j&ocQ-LUQZ48+bfzSzIfi>Q}}c_IT` +N`v-oQVy&yk<&~A8Ju>uJyPgqm6U@!Kdp^A3Qs0Wt$4?ZGyfX=% z3$WEmNexD{CgN^{Ys^FS%4leEYTqg4JC|C=N@Y8oZ@cQ>lfodZ5?BG^t*FH11O3TO zG 9FHM-`UU;uwQx! zCynpx;x|%`CVp8*#Y#H2tz~OATxE5^-S=u5DzUrwbD#Z}GWq;)dLGDjZkXogu-6C2 zpjMD_zsBFY&1){Vz-;e`n1KQVwJm7=qoZ%J1 A?Cs01vM!OLBIJOhTgzF9I>A9X1^AcHc8 z2rN?vq7r#a2_DkE4BRJ&sk4Ne7G2vJNk=`&kCtqFK7?VhPJ7>gtpXByxiF7L**iA0 z`L(^2>_KHWpGn?KMEV2(H(<#8JS#-BQ#f0%zJG2fjdu>09t9|%U@^Jqx$ w6^4t+7jow0zD$vku4~&NQTjwKBZVcKNon>?Yz3zmRyJQL)#5shw?rVNwo= z0BL!fAPRfD6n=baV7B!uC>4r@g&M^O1_DojoXd&g1j&!f^YX1C@){^9UXF1Q-!b zkDV_d)YMj7G~T+Dy9ToA>x(QJ4s5_aprqLP*+= pdWq(?2snL;`I1 z^Ol@Hie9F;Yb|n_=e>aL=I@_zF*W_+Y}T7w<7=UWnf)Va4;V0^TwV~OWF}`WVdAgP zy!|v=WV*;=<$?jHI*WhiK=Q=zcduM)Kuboon6^`5tS4+c0 u(P}ZUJwtv#srj(T2 z_)N4wv41c&@37jAnT{?ICUnP(g8|SROgK1PzS7Cbw7JZO6Og1?NUQ5FEpS#=X3Ajt z1X=u}r)0sxBQa-`&}{&1;8eI;ALg0~P`@)Jf9aTsP+>oNqOiohps33?f51nB|NZD& zM_A-Ev|)7=`S%9jo;Ai)QNisrQqxqy&(g%V(RV!590GZE!&C`hE*mvEh(OEE`|L~| zT~-HZse;8M_TMyYJigG9e)l)}6);iqCB+Fc=#$W9c3uNpi}c<#+oEJn)5h!TIp~pm z`!}P;n0`xhxh_}BX&xPVHTU)13WH%<%nra+Rbzb*Y7E` y1LkZRe;X zzrA3}(O73i5+?SxsqSd>kc-FhiUdhO&R57U7G&i=g&D6jQL_mw+C)Gm5C;SP`z|rW z8{i?_s)$Me?%Iv>@thLC3GPWXU25v27ew&DwU-nDiMF@W!rGgqe_Wn6IKaBTn>HgPD#w6|`|g*!AJt3zDPD4=jeOU*O+G%;@6(Zy_X zCg1?XUs2MZvCtSWpqg=SAD2bWZ3IbEcX!22u`cbhxFxKp2Maw8KuHEAr*|g5Uu?>_ zu(oiNg<5OI7lQNaljWe3mwFCU7GbfaDu2hylj@#I)6~tbS9GG5lYpMHem9=o9?7`f z2ZG&-Rnl=gSojv$7 zyBh%~KMwH5}TFS~+q+V;u1OSO~6d_DW zGEHqmi%4C07gl3tl>AL@a7qb|Ys2xCq?G-Wxyc0NRsg;s4nR+JJj;@aY?)izCK5}p zfV*Qyl%H6K0#J<~D$f!V^FaPXB*<@WeqMeEe}fwONAqp{dCUy({hLQNzsbM@+WUBE z*R#Uio#zYn=Pe-vwnwawzp=@*!Kdhe=5Lu&nMLX75u$1gZ5_umx^yjX%wPE{yh{uC zwCv{`3!Gt=?9ENh&tekb$oX|9n~Bmu>gsaWdVxhi;CrL n^a^_F8dTVsEI#qtJ3zukRZw>Q z?q{&ipK;DX3Yf(WD4lKHZTb$x=3Ju+tk>`~m5%QCP1xgLpaeB( >6U*6rPjtWr#LdmW=GdUc38}eecODfr6pL0%1UXPv&F;97Ks~b& zXtYpL8Ju^By6dLY6C~+BURJY^1sXQAJ*^i1ck}yxi>?pM8OrBYIdQ@LG2B{I98tF` zRm?$4*~b~si_7qD`*TV;K1ok*{5qo9`G IE9^;iR2 yCu9fQliz>MEJ9oA?ftj=oJ |is5h{vg_fSeRe7b(;w2RMcMGdnb6lrsSZK^zeLzTnW_8%*#LZr z0Q`U73*hLqx1;2w9z#LQ|3hVV6&ZZG`gpT{Hk0bbL2halrRyEzZ?(~<@fq%e?frw6 zZgvDqvf(MaF>_-{y$`4|tODO`XmyaO8k0RbBY$-I=Iv0sk&5}rN@xJfz+wtIx)b$f z>cCYC2hhnZX9N4s9P{{j0u1O(COig2z8U7g_RR+d*Ox5;mrZL80y?j2x-m|S#HV|F zlJd06#Kb12I)oq+bnvnUC>((P=^0cI*^U48h8y79bp!YAs@hFUx97|OYl2{&11m^p z{v?~?D{h6Y&^?4wI9B&a4czt*5)>o!RN1B_iwfJeEW>7CcO@RL&_|lV(LYq?!NR&$ zfGMY@r=068O_%F@HnEWTz#3dN-xIH@PD7RuA-(=3?9D3#`YUPOh|IRCzR~Q
+iI$N KB&9qEzH?wZnyf-a-T(V3_3pF#fTnZ~&Ewihpn0qR_Y>J4$z?j3PARzaTe5z|8 z+q^Rjy`MklJ!j7Ed1k)P`=0ll^Zh;~ZvPY*4|ihvbK(>q?8ZldyWYlKni%8fOKLh< zIi8l%tG1RmRb{R0s%cvkFHd$RVrPrrpLXvU8xs;t-zfI~mk$%MwL$LDwB^AMhw0r5 z7bi^?CekFbt@Rt>A(!oq?;e|=qax3 2p m3NK#EG(x`U!(?Cr6Ul6#rZ;J>szpssLqU{F6!on>btK>>Oh z-eW1j&6&f;D7Y#O49L!H`QVr^)`)H{ k<&&>bOaBLz|IEMb!u-TbHKh! zpK$HWNF)sGhq8>fHsB@KON(L`CvMen;*3P8QV05}i>}?jxiA7SFhC*a?ajzN@$qW8 zy{RcqGUOg~>xPX~eEQcVCMG-(iHR{Q-o)OHK!05q)JBYq@RoD#0=btQrFQA1g)KA} z${g3$hK2@qe$4O(vFO&?UZy7EzhCzl8WP$QR~KGei;*EA!Fu+iSX*Ih!=WV8;u6c4 zK?Rp`?$cICcW564U+w3Hnm$oN4Iv^N-F@-*W6e8M-K1Bjo_X}Txl&Zj`4s!=ni4P9 zDy6cyhC(XaM#}uT>`dhBc>zZe5sra !+=5z7RD|BliLES=Sa9%&aY?C7?CAW=CiX{YB_hd3L2)s= zKc!!E7k9Dj!Z^za>_PlS8XAZQ(;J^wS7$P_$+&1+TVEn~ttu|Q=eky;Y+}r_aoF0h zWCcaV0JqwEPEtgN^zOy-#ccVIJ)i5klvX2^^2B4v94WjOA#WmNNLwL!5(`3u`TQG> zoxs?L)8_~e(Z;wUnnfYU-i}rA_<5u7(sebh!_k2&SGkZXDX&t81*xy(|M8+0ALhFI z^7b28TC!* V3`MsO`v^$&e^(KBL z3NNHq+)!(EXc0|eV89c9BRY~-R-)8EW|1}s31aLh3=CzdS&IGx|9C~~)A_1u)M`cy z#aTS>qPLiv^TK=@8(H&?e%#5;&6)lPo^Jf24l=d;;}xw7ASVyF_t3D2-r?lPl7;+u zjKsaVE~Rw@`ZIPkh6b{XTt)xi-A1%7fFnN<*hAd#+!Y89Vg5YUzstD}+hA$|Gc%@6 z#KRqRd63!f4glH}zzsErj@}LF7U=>^8b@R}tK#)zMi=1EL&GsNkY(g42Hc$qX!nnJ z{50xv`e`iRMnuP)I7RFTij{2Nt?N=+fw>t|C*tCaS{)?0dsb140;s7a@iPYW#nWAT zgNg{p;Up?5i5 $ZUNd8z|rFzKh4akm^Wn>B%(*u)$#FXj2eo& z>+c^12Qq6Ko41qE>BH--t(Y maj<9NSj^4H%obh%`2}p=&hWwF(RjV5qLPn3W$MIclQjnQW6F5eZ6rBO zyOp((U!x{{y{W1aSOE3)yuSl=1y9bx%v9L1M1 z^zdWa zWWii68XDNXi{v!kT7{cv^{nT7_X9xz^yuE&_OT zrhKL^V=@(3hZF63mfdOMivMC;OGvc0O_4>|vd`tiV)Yh_L3n>{a z_&eR3IEOEyPo$(%reZ+fc6N^p=iPNonZVW^JQl~7-%?er(fT@y00Q`WKfCrYX>8kW znj)Q$`UVpBGI=~EChh+cXBjWOz~*&WN?5Rnc?&pnwDYVM8#FdHYV!M1(s^<|)>gc? zzLQRUL|V_uGkkxDmltZr21{Mez5{IA$)$YyMKk>o`b6nGi%FvbC{;0kAs15Fu!aW* zw%lH%GgDW`qNO}OgWv#7er;(P`wp=C6LK%nGmr^md2k@^uDaSJuQ>tK)biRI-rvE$ zpJ(1|J+qS+`7 T;hyeNnZqUt(_li2e)=aR9rC1wDlhY=dAedkOK381l&U3++G z8RJH?;$^HXTkay#nQ3TX(NbniAymjE{OW3w)A{;44jn~VijRVr{=^I*&>uTn?bwfM zNB~L4dHMwua^86p54{Z>7x|6Ubhhnc^)hYT$?x2uSjovVe1DMB=O{17(}U TY8)N#_ah>dun>F{INH-q1IJ4`CV;AHmagK =ov_8F#dkHIwQ4iUwl&s1W;ek`b{Kk zVbOEUo*};W=^`{V@XSJ Qb 7fI=K|kKhyW4m+j#<;he}C7Z@EVns_$YK;M^i{7_$csEFls2Zx4ChH zf zuk%$r H%H_1 z5)obU#Xc_O^Ze7guA?n9HgfYOs$VE5BrAu^EOPQFETX)E#zv&pxH#eIfkKX#CmwFd zWZ2nYX^E*xy996{m1kdM#uR2vZ{>|fL~nR$8N&t>(_hzhbb!W2Zq=YJr$ot>tK?lK z?=n{lDOFKXNnIUgX4pz`cf;4a?E=WoW$|)mP9;{{>(=F{sbR)btX ?`lwp{ACq nD%9nuexbCCG8H$}lvn%@LaTaVA{T(j00000NkvXXu0mjf-;0Fb literal 0 HcmV?d00001 diff --git a/Assets/Sprites/sampleBlock.png.meta b/Assets/Sprites/sampleBlock.png.meta new file mode 100644 index 0000000..99f3762 --- /dev/null +++ b/Assets/Sprites/sampleBlock.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 280dd2a14df942246955c1936e6114bd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 256 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Logs/ApiUpdaterCheck.txt b/Logs/ApiUpdaterCheck.txt index e4a7d4b..ae7ca0c 100644 --- a/Logs/ApiUpdaterCheck.txt +++ b/Logs/ApiUpdaterCheck.txt @@ -28,3 +28,13 @@ C# parse time : -1ms candidates check time : -1ms console write time : -1ms +[api-updater (non-obsolete-error-filter)] 2022/3/12 20:22:13 : Starting D:/unity/2019.3.2f1/2020.3.30f1c1/Editor/Data/Tools/ScriptUpdater/APIUpdater.NonObsoleteApiUpdaterDetector.exe +[api-updater (non-obsolete-error-filter)] +---------------------------------- +jit/startup time : 314.7663ms +moved types parse time: 62ms +candidates parse time : 1ms +C# parse time : -1ms +candidates check time : -1ms +console write time : -1ms + diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 1c92a78..df773a1 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -3,7 +3,8 @@ --- !u!78 &1 TagManager: serializedVersion: 2 - tags: [] + tags: + - Ground layers: - Default - TransparentFX diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 4367ca6..d91275c 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -20,8 +20,8 @@ EditorUserSettings: RecentlyUsedScenePath-4: value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d flags: 0 - RecentlyUsedScenePath-4: - value: 22424703114646680e0b0227036cdafbfb5831243c3d3204283a097df7ee3d2cfb + RecentlyUsedScenePath-5: + value: 22424703114646680e0b0227036cdbc9e6582b2b21382a357c67083debf42d flags: 0 vcSharedLogLevel: value: 0d5e400f0650 From 5c7c26809253cad7171fbf3df0531f00284c6156 Mon Sep 17 00:00:00 2001 From: lspdC <961907320@qq.com> Date: Sat, 12 Mar 2022 21:22:17 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=90=88=E5=B9=B63.12=E4=BA=AC=E5=8A=9B?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/勍/EntryTrigger.cs | 31 ++++++++++++++++ Assets/Scripts/勍/EntryTrigger.cs.meta | 11 ++++++ Assets/Scripts/勍/Event.cs | 24 +++++++++++++ Assets/Scripts/勍/Event.cs.meta | 11 ++++++ Assets/Scripts/勍/StateBase.cs | 23 ++++++++++++ Assets/Scripts/勍/StateBase.cs.meta | 11 ++++++ Assets/Scripts/勍/StateMachineBase.cs | 41 ++++++++++++++++++++++ Assets/Scripts/勍/StateMachineBase.cs.meta | 11 ++++++ Assets/Scripts/勍/UnitySingleton.cs | 40 +++++++++++++++++++++ Assets/Scripts/勍/UnitySingleton.cs.meta | 11 ++++++ UserSettings/EditorUserSettings.asset | 3 -- 11 files changed, 214 insertions(+), 3 deletions(-) create mode 100644 Assets/Scripts/勍/EntryTrigger.cs create mode 100644 Assets/Scripts/勍/EntryTrigger.cs.meta create mode 100644 Assets/Scripts/勍/Event.cs create mode 100644 Assets/Scripts/勍/Event.cs.meta create mode 100644 Assets/Scripts/勍/StateBase.cs create mode 100644 Assets/Scripts/勍/StateBase.cs.meta create mode 100644 Assets/Scripts/勍/StateMachineBase.cs create mode 100644 Assets/Scripts/勍/StateMachineBase.cs.meta create mode 100644 Assets/Scripts/勍/UnitySingleton.cs create mode 100644 Assets/Scripts/勍/UnitySingleton.cs.meta diff --git a/Assets/Scripts/勍/EntryTrigger.cs b/Assets/Scripts/勍/EntryTrigger.cs new file mode 100644 index 0000000..3e9fff8 --- /dev/null +++ b/Assets/Scripts/勍/EntryTrigger.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// +/// 进入式触发器的基类,继承自事件,每一个进入式触发器都必须继承这个类 +/// +public class EntryTrigger : Event +{ + private Collider2D m_collider; + + void Start() + { + //如果没有挂载碰撞盒,则报错 + if(!TryGetComponent(out m_collider)) + { + Debug.LogError(this.GetType() + gameObject.name + "没有挂载碰撞盒,请检查!"); + } + //如果不是触发器,则报错 + if(!m_collider.isTrigger) + { + Debug.LogError(this.GetType() + gameObject.name + "碰撞盒没有设置为触发器,请检查!"); + } + } + + virtual public void OnTriggerEnter2D(Collider2D other) + { + //如果玩家进入碰撞盒则触发事件 + if(other.TryGetComponent (out Player player)) OnCall(); + } +} diff --git a/Assets/Scripts/勍/EntryTrigger.cs.meta b/Assets/Scripts/勍/EntryTrigger.cs.meta new file mode 100644 index 0000000..4d6f486 --- /dev/null +++ b/Assets/Scripts/勍/EntryTrigger.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a08702285d1216941b48b6d42e06bf82 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/勍/Event.cs b/Assets/Scripts/勍/Event.cs new file mode 100644 index 0000000..d2889f1 --- /dev/null +++ b/Assets/Scripts/勍/Event.cs @@ -0,0 +1,24 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +/// +/// 事件基类,事件需要继承这个类 +/// +public class Event : MonoBehaviour +{ + ///+ /// 事件触发 + /// + public virtual void OnCall(){} + + ///+ /// 要手动终止事件的时候调用 + /// + public virtual void CancleEvent(){ OnCancle(); } + + ///+ /// 事件结束时触发 + /// + protected virtual void OnCancle(){} +} diff --git a/Assets/Scripts/勍/Event.cs.meta b/Assets/Scripts/勍/Event.cs.meta new file mode 100644 index 0000000..1a4248e --- /dev/null +++ b/Assets/Scripts/勍/Event.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 17fed7225ff8045449129f8106e9d559 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/勍/StateBase.cs b/Assets/Scripts/勍/StateBase.cs new file mode 100644 index 0000000..dfef886 --- /dev/null +++ b/Assets/Scripts/勍/StateBase.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +///+/// 状态模式中,单个状态的父类,所有的状态都需要继承自这个类。注意,这里是三级继承关系,这个是最底层的类,再往上是某个具 +/// 体状态体系的父类,继承于这个类,最上层才是要实现功能的具体状态类,继承自中间层,只需要完善虚函数即可 +/// +public class StateBase : MonoBehaviour +{ + ///+ /// 进入状态时调用 + /// + public virtual void Enter(){} + ///+ /// 状态结束时调用 + /// + public virtual void End(){} + ///+ /// 状态中每一帧调用 + /// + public virtual void StateUpdate(){} +} diff --git a/Assets/Scripts/勍/StateBase.cs.meta b/Assets/Scripts/勍/StateBase.cs.meta new file mode 100644 index 0000000..af08bc4 --- /dev/null +++ b/Assets/Scripts/勍/StateBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2aae34169cb209342bdfae44b74a6761 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/勍/StateMachineBase.cs b/Assets/Scripts/勍/StateMachineBase.cs new file mode 100644 index 0000000..e4198b6 --- /dev/null +++ b/Assets/Scripts/勍/StateMachineBase.cs @@ -0,0 +1,41 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +///+/// 状态模式的状态管理员基类,每一组状态的管理员都必须继承这个类 +/// +public class StateMachineBase : MonoBehaviour +{ + protected StateBase currentState; + protected bool isBegin = false; + ///+ /// 改变状态的时候调用 + /// + /// + public void ChangeState(StateBase newState) + { + isBegin = false; + if (currentState != null) + { + currentState.End(); + } + currentState = newState; + } + + ///+ /// 状态的每一帧调用,需要手动安排到主程序的Update中,切记! + /// + public void StateUpdate() + { + if (currentState != null) + { + if (!isBegin) + { + currentState.Enter(); + isBegin = true; + } + currentState.StateUpdate(); + } + } +} diff --git a/Assets/Scripts/勍/StateMachineBase.cs.meta b/Assets/Scripts/勍/StateMachineBase.cs.meta new file mode 100644 index 0000000..6d986b7 --- /dev/null +++ b/Assets/Scripts/勍/StateMachineBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 570a7bc236b60d84195606d29616a6e6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/勍/UnitySingleton.cs b/Assets/Scripts/勍/UnitySingleton.cs new file mode 100644 index 0000000..49f9505 --- /dev/null +++ b/Assets/Scripts/勍/UnitySingleton.cs @@ -0,0 +1,40 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +///+/// 单例模式类模板 +/// +public class UnitySingleton: MonoBehaviour + where T : Component +{ + private static T m_instance; + + public static T Instance + { + get + { + if (m_instance == null) + { + m_instance = FindObjectOfType (); + if (m_instance == null) + { + Debug.LogError("缺少 " + typeof(T) + " 这个单例,没法在场景中找到"); + } + } + return m_instance; + } + } + + protected virtual void Awake() + { + if (m_instance == null) + { + m_instance = this as T; + } + else + { + Destroy(gameObject); + } + } +} diff --git a/Assets/Scripts/勍/UnitySingleton.cs.meta b/Assets/Scripts/勍/UnitySingleton.cs.meta new file mode 100644 index 0000000..6f3d135 --- /dev/null +++ b/Assets/Scripts/勍/UnitySingleton.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8d3368bff7857324580bba4842015865 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index d91275c..6881a83 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -15,9 +15,6 @@ EditorUserSettings: value: 224247031146466b011b0b2b1e301034131a112d25292824620d3207f5e53136d2f539a9c2223e31290eea2f4b1a2e0be50f0c05d7050306101af4011fc0321202cc1bd654dd1115df00 flags: 0 RecentlyUsedScenePath-3: - value: 22424703114646680e0b0227036cdafbfb5831243c3d3204283a097df7ee3d2cfb - flags: 0 - RecentlyUsedScenePath-4: value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d flags: 0 RecentlyUsedScenePath-5: From 53572ab9414d3fc3d73b7dc5a923c28aa6659f5c Mon Sep 17 00:00:00 2001 From: lspdC <961907320@qq.com> Date: Sun, 13 Mar 2022 23:27:31 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=90=88=E5=B9=B63.13=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/InputAssets/PlayerC.cs | 82 ++ Assets/InputAssets/PlayerC.inputactions | 62 ++ Assets/Scenes/勍/InteractTest.unity | 1075 ++++++++++++++++++++++ Assets/Scenes/勍/InteractTest.unity.meta | 7 + Assets/Scripts/乐/Player.cs | 8 +- Assets/Scripts/勍/HuangDi.cs | 30 + Assets/Scripts/勍/HuangDi.cs.meta | 11 + Assets/Scripts/勍/Interactable.cs | 38 + Assets/Scripts/勍/Interactable.cs.meta | 11 + Assets/Scripts/勍/KnotMediator.cs | 39 + Assets/Scripts/勍/KnotMediator.cs.meta | 11 + Assets/Scripts/勍/Kont.cs | 28 + Assets/Scripts/勍/Kont.cs.meta | 11 + Assets/Scripts/勍/PlayerControl.cs | 28 +- Assets/Scripts/勍/PlayerInteract.cs | 31 + Assets/Scripts/勍/PlayerInteract.cs.meta | 11 + Logs/ApiUpdaterCheck.txt | 10 + UserSettings/EditorUserSettings.asset | 5 +- 18 files changed, 1493 insertions(+), 5 deletions(-) create mode 100644 Assets/Scenes/勍/InteractTest.unity create mode 100644 Assets/Scenes/勍/InteractTest.unity.meta create mode 100644 Assets/Scripts/勍/HuangDi.cs create mode 100644 Assets/Scripts/勍/HuangDi.cs.meta create mode 100644 Assets/Scripts/勍/Interactable.cs create mode 100644 Assets/Scripts/勍/Interactable.cs.meta create mode 100644 Assets/Scripts/勍/KnotMediator.cs create mode 100644 Assets/Scripts/勍/KnotMediator.cs.meta create mode 100644 Assets/Scripts/勍/Kont.cs create mode 100644 Assets/Scripts/勍/Kont.cs.meta create mode 100644 Assets/Scripts/勍/PlayerInteract.cs create mode 100644 Assets/Scripts/勍/PlayerInteract.cs.meta diff --git a/Assets/InputAssets/PlayerC.cs b/Assets/InputAssets/PlayerC.cs index a0f12d7..156a418 100644 --- a/Assets/InputAssets/PlayerC.cs +++ b/Assets/InputAssets/PlayerC.cs @@ -62,6 +62,24 @@ public partial class @PlayerC : IInputActionCollection2, IDisposable ""processors"": """", ""interactions"": """", ""initialStateCheck"": false + }, + { + ""name"": ""LeftChange"", + ""type"": ""Button"", + ""id"": ""5e4b2241-fdf3-4717-9892-456eb07bff7d"", + ""expectedControlType"": ""Button"", + ""processors"": """", + ""interactions"": """", + ""initialStateCheck"": false + }, + { + ""name"": ""RightChange"", + ""type"": ""Button"", + ""id"": ""25825820-ed63-4821-a570-98c0346d0114"", + ""expectedControlType"": ""Button"", + ""processors"": """", + ""interactions"": """", + ""initialStateCheck"": false } ], ""bindings"": [ @@ -196,6 +214,50 @@ public partial class @PlayerC : IInputActionCollection2, IDisposable ""action"": ""Interact"", ""isComposite"": false, ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""848dbb1f-2a82-4dc8-9673-c7f69bc2eaa5"", + ""path"": "" /q"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""LeftChange"", + ""isComposite"": false, + ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""d1bc2781-7f70-4170-93c3-c849ff56c3cf"", + ""path"": "" /dpad/left"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""LeftChange"", + ""isComposite"": false, + ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""bdd4c52b-c221-49d3-b467-201ebc18cb71"", + ""path"": "" /e"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""RightChange"", + ""isComposite"": false, + ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""257c9bb8-7e77-4e5c-9caf-97284fb0adbd"", + ""path"": "" /dpad/right"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""RightChange"", + ""isComposite"": false, + ""isPartOfComposite"": false } ] }, @@ -253,6 +315,8 @@ public partial class @PlayerC : IInputActionCollection2, IDisposable m_Normal_Atk = m_Normal.FindAction("Atk", throwIfNotFound: true); m_Normal_Jump = m_Normal.FindAction("Jump", throwIfNotFound: true); m_Normal_Interact = m_Normal.FindAction("Interact", throwIfNotFound: true); + m_Normal_LeftChange = m_Normal.FindAction("LeftChange", throwIfNotFound: true); + m_Normal_RightChange = m_Normal.FindAction("RightChange", throwIfNotFound: true); // Null m_Null = asset.FindActionMap("Null", throwIfNotFound: true); m_Null_Newaction = m_Null.FindAction("New action", throwIfNotFound: true); @@ -319,6 +383,8 @@ public partial class @PlayerC : IInputActionCollection2, IDisposable private readonly InputAction m_Normal_Atk; private readonly InputAction m_Normal_Jump; private readonly InputAction m_Normal_Interact; + private readonly InputAction m_Normal_LeftChange; + private readonly InputAction m_Normal_RightChange; public struct NormalActions { private @PlayerC m_Wrapper; @@ -327,6 +393,8 @@ public partial class @PlayerC : IInputActionCollection2, IDisposable public InputAction @Atk => m_Wrapper.m_Normal_Atk; public InputAction @Jump => m_Wrapper.m_Normal_Jump; public InputAction @Interact => m_Wrapper.m_Normal_Interact; + public InputAction @LeftChange => m_Wrapper.m_Normal_LeftChange; + public InputAction @RightChange => m_Wrapper.m_Normal_RightChange; public InputActionMap Get() { return m_Wrapper.m_Normal; } public void Enable() { Get().Enable(); } public void Disable() { Get().Disable(); } @@ -348,6 +416,12 @@ public partial class @PlayerC : IInputActionCollection2, IDisposable @Interact.started -= m_Wrapper.m_NormalActionsCallbackInterface.OnInteract; @Interact.performed -= m_Wrapper.m_NormalActionsCallbackInterface.OnInteract; @Interact.canceled -= m_Wrapper.m_NormalActionsCallbackInterface.OnInteract; + @LeftChange.started -= m_Wrapper.m_NormalActionsCallbackInterface.OnLeftChange; + @LeftChange.performed -= m_Wrapper.m_NormalActionsCallbackInterface.OnLeftChange; + @LeftChange.canceled -= m_Wrapper.m_NormalActionsCallbackInterface.OnLeftChange; + @RightChange.started -= m_Wrapper.m_NormalActionsCallbackInterface.OnRightChange; + @RightChange.performed -= m_Wrapper.m_NormalActionsCallbackInterface.OnRightChange; + @RightChange.canceled -= m_Wrapper.m_NormalActionsCallbackInterface.OnRightChange; } m_Wrapper.m_NormalActionsCallbackInterface = instance; if (instance != null) @@ -364,6 +438,12 @@ public partial class @PlayerC : IInputActionCollection2, IDisposable @Interact.started += instance.OnInteract; @Interact.performed += instance.OnInteract; @Interact.canceled += instance.OnInteract; + @LeftChange.started += instance.OnLeftChange; + @LeftChange.performed += instance.OnLeftChange; + @LeftChange.canceled += instance.OnLeftChange; + @RightChange.started += instance.OnRightChange; + @RightChange.performed += instance.OnRightChange; + @RightChange.canceled += instance.OnRightChange; } } } @@ -416,6 +496,8 @@ public partial class @PlayerC : IInputActionCollection2, IDisposable void OnAtk(InputAction.CallbackContext context); void OnJump(InputAction.CallbackContext context); void OnInteract(InputAction.CallbackContext context); + void OnLeftChange(InputAction.CallbackContext context); + void OnRightChange(InputAction.CallbackContext context); } public interface INullActions { diff --git a/Assets/InputAssets/PlayerC.inputactions b/Assets/InputAssets/PlayerC.inputactions index a46786e..49f3603 100644 --- a/Assets/InputAssets/PlayerC.inputactions +++ b/Assets/InputAssets/PlayerC.inputactions @@ -40,6 +40,24 @@ "processors": "", "interactions": "", "initialStateCheck": false + }, + { + "name": "LeftChange", + "type": "Button", + "id": "5e4b2241-fdf3-4717-9892-456eb07bff7d", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false + }, + { + "name": "RightChange", + "type": "Button", + "id": "25825820-ed63-4821-a570-98c0346d0114", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false } ], "bindings": [ @@ -174,6 +192,50 @@ "action": "Interact", "isComposite": false, "isPartOfComposite": false + }, + { + "name": "", + "id": "848dbb1f-2a82-4dc8-9673-c7f69bc2eaa5", + "path": " /q", + "interactions": "", + "processors": "", + "groups": "", + "action": "LeftChange", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "d1bc2781-7f70-4170-93c3-c849ff56c3cf", + "path": " /dpad/left", + "interactions": "", + "processors": "", + "groups": "", + "action": "LeftChange", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "bdd4c52b-c221-49d3-b467-201ebc18cb71", + "path": " /e", + "interactions": "", + "processors": "", + "groups": "", + "action": "RightChange", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "257c9bb8-7e77-4e5c-9caf-97284fb0adbd", + "path": " /dpad/right", + "interactions": "", + "processors": "", + "groups": "", + "action": "RightChange", + "isComposite": false, + "isPartOfComposite": false } ] }, diff --git a/Assets/Scenes/勍/InteractTest.unity b/Assets/Scenes/勍/InteractTest.unity new file mode 100644 index 0000000..624ef8d --- /dev/null +++ b/Assets/Scenes/勍/InteractTest.unity @@ -0,0 +1,1075 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + 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_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + 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} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &56909002 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 56909005} + - component: {fileID: 56909004} + - component: {fileID: 56909003} + - component: {fileID: 56909006} + m_Layer: 0 + m_Name: "\u7EF3\u7ED3" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &56909003 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 56909002} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aaac64616770dce42a623c267c4d9d31, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 1 +--- !u!61 &56909004 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 56909002} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1, y: 1} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!4 &56909005 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 56909002} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.62, y: -3.54, z: -0.38423085} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &56909006 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 56909002} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 3cb7c35a750699348a04840d1ae1be5e, type: 3} + m_Color: {r: 1, g: 0, b: 0, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &110133614 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 110133615} + - component: {fileID: 110133616} + - component: {fileID: 110133618} + - component: {fileID: 110133617} + - component: {fileID: 110133619} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &110133615 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110133614} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.23, y: -3.44, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &110133616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110133614} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94a70686225bbcc40a44a76ac05951e0, type: 3} + m_Name: + m_EditorClassIdentifier: + inputDir: 0 + GroundCheck: {fileID: 0} + isRight: 1 + isGround: 0 + speed: 10 + jumpForce: 5 + flipDuration: 0.1 +--- !u!61 &110133617 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110133614} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1, y: 1} + newSize: {x: 0.16, y: 0.16} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!50 &110133618 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110133614} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &110133619 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 110133614} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 3cb7c35a750699348a04840d1ae1be5e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.16, y: 0.16} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &226789349 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 226789352} + - component: {fileID: 226789351} + - component: {fileID: 226789350} + 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 &226789350 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 226789349} + m_Enabled: 1 +--- !u!20 &226789351 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 226789349} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + 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: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &226789352 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 226789349} + 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 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &363924800 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 363924804} + - component: {fileID: 363924803} + - component: {fileID: 363924802} + - component: {fileID: 363924801} + m_Layer: 0 + m_Name: "\u7EF3\u7ED3 (2)" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &363924801 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 363924800} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 3cb7c35a750699348a04840d1ae1be5e, type: 3} + m_Color: {r: 0, g: 0.30392504, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &363924802 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 363924800} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aaac64616770dce42a623c267c4d9d31, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 3 +--- !u!61 &363924803 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 363924800} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1, y: 1} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!4 &363924804 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 363924800} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.32, y: -3.54, z: -0.38423085} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1103262709 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1103262711} + - component: {fileID: 1103262710} + m_Layer: 0 + m_Name: "\u7EF3\u7ED3\u4E2D\u4ECB\u8005" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1103262710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1103262709} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad9fbcfc0d0c69744804efe3d7ad3fce, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1103262711 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1103262709} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.2134485, y: -3.532711, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1180244203 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1180244205} + - component: {fileID: 1180244204} + m_Layer: 0 + m_Name: Freeform Light 2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1180244204 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1180244203} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LightType: 1 + m_BlendStyleIndex: 0 + m_FalloffIntensity: 0.5 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_LightVolumeOpacity: 0 + m_ApplyToSortingLayers: 00000000 + m_LightCookieSprite: {fileID: 0} + m_UseNormalMap: 0 + m_LightOrder: 0 + m_AlphaBlendOnOverlap: 0 + m_ShadowIntensity: 0 + m_ShadowVolumeIntensity: 0 + m_PointLightInnerAngle: 360 + m_PointLightOuterAngle: 360 + m_PointLightInnerRadius: 0 + m_PointLightOuterRadius: 1 + m_PointLightDistance: 3 + m_PointLightQuality: 1 + m_ShapeLightParametricSides: 5 + m_ShapeLightParametricAngleOffset: 0 + m_ShapeLightParametricRadius: 1 + m_ShapeLightFalloffSize: 68.92 + m_ShapeLightFalloffOffset: {x: 0, y: 0} + m_ShapePath: + - {x: -0.5, y: -0.5, z: 0} + - {x: 0.5, y: -0.5, z: 0} + - {x: 0.5, y: 0.5, z: 0} + - {x: -0.5, y: 0.5, z: 0} +--- !u!4 &1180244205 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1180244203} + 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: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1238745903 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1238745904} + - component: {fileID: 1238745905} + - component: {fileID: 1238745906} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1238745904 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238745903} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.1064527, y: -4.55, z: -0.38423085} + m_LocalScale: {x: 38.05, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1238745905 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238745903} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1, y: 1} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!212 &1238745906 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238745903} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 3cb7c35a750699348a04840d1ae1be5e, type: 3} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1750262981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1750262982} + - component: {fileID: 1750262984} + - component: {fileID: 1750262983} + - component: {fileID: 1750262985} + m_Layer: 0 + m_Name: "\u7687\u5E1D" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1750262982 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1750262981} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 7.15, y: -3.53, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1750262983 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1750262981} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1, y: 1} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!114 &1750262984 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1750262981} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1b2323b7275ad44c94037be9f2ccec3, type: 3} + m_Name: + m_EditorClassIdentifier: + neededType: 1 +--- !u!212 &1750262985 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1750262981} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 3cb7c35a750699348a04840d1ae1be5e, type: 3} + m_Color: {r: 0.8880594, g: 1, b: 0, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1836672841 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1836672845} + - component: {fileID: 1836672844} + - component: {fileID: 1836672843} + - component: {fileID: 1836672842} + m_Layer: 0 + m_Name: "\u7EF3\u7ED3 (1)" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1836672842 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836672841} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 3cb7c35a750699348a04840d1ae1be5e, type: 3} + m_Color: {r: 0, g: 1, b: 0.0858655, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &1836672843 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836672841} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aaac64616770dce42a623c267c4d9d31, type: 3} + m_Name: + m_EditorClassIdentifier: + type: 2 +--- !u!61 &1836672844 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836672841} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1, y: 1} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!4 &1836672845 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1836672841} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.35, y: -3.54, z: -0.38423085} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scenes/勍/InteractTest.unity.meta b/Assets/Scenes/勍/InteractTest.unity.meta new file mode 100644 index 0000000..fb2ce41 --- /dev/null +++ b/Assets/Scenes/勍/InteractTest.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9d2abd5208f4caf4fb48d255afe4a1c8 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/乐/Player.cs b/Assets/Scripts/乐/Player.cs index e42fdee..67a0274 100644 --- a/Assets/Scripts/乐/Player.cs +++ b/Assets/Scripts/乐/Player.cs @@ -111,10 +111,11 @@ public class Player : PlayerControl base.OnMove(ctx); m_rigidbody.velocity = new Vector2(inputDir*speed,m_rigidbody.velocity.y); } - override protected void OnAtk() { - + override protected void OnAtk() { + base.OnAtk(); } override protected void OnJump() { + base.OnJump(); if (isGround == true) { isGround = false; m_rigidbody.velocity = new Vector2(m_rigidbody.velocity.x, jumpForce); @@ -122,7 +123,8 @@ public class Player : PlayerControl } override protected void OnInteract() { - + base.OnInteract(); + Leave.Instance.OnInteract(); } private void OnCollisionEnter2D(Collision2D collision)// diff --git a/Assets/Scripts/勍/HuangDi.cs b/Assets/Scripts/勍/HuangDi.cs new file mode 100644 index 0000000..7013c3e --- /dev/null +++ b/Assets/Scripts/勍/HuangDi.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Sirenix.OdinInspector; + +/// +/// 皇帝类,控制皇帝的行为,继承自可交互物体 +/// +public class HuangDi : Interactable +{ + [SerializeField][EnumPaging] + private KnotMediator.KnotType neededType = KnotMediator.KnotType.None; + + public override void OnCall() + { + if(KnotMediator.Instance.CheckKnotType(neededType)) + { + Debug.Log("皇帝接受了绳结"); + } + else + { + Debug.Log("皇帝拒绝了绳结"); + } + } + + public void setNeededType(KnotMediator.KnotType type) + { + neededType = type; + } +} diff --git a/Assets/Scripts/勍/HuangDi.cs.meta b/Assets/Scripts/勍/HuangDi.cs.meta new file mode 100644 index 0000000..8afd6ce --- /dev/null +++ b/Assets/Scripts/勍/HuangDi.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e1b2323b7275ad44c94037be9f2ccec3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/勍/Interactable.cs b/Assets/Scripts/勍/Interactable.cs new file mode 100644 index 0000000..c317f85 --- /dev/null +++ b/Assets/Scripts/勍/Interactable.cs @@ -0,0 +1,38 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +///+/// 可交互物件基类 +/// +public class Interactable : Event +{ + void Start() + { + //检查触发器 + if (GetComponent() == null) + { + Debug.LogError(this.GetType() + ": 没有碰撞盒"); + } + else if(GetComponent ().isTrigger == false) + { + Debug.LogError(this.GetType() + ": 碰撞盒没有设置为触发器"); + } + } + + void OnTriggerEnter2D(Collider2D other) + { + if (other.TryGetComponent (out PlayerInteract playerInteract)) + { + playerInteract.SetCatched(this); + } + } + + void OnTriggerExit2D(Collider2D other) + { + if (other.TryGetComponent (out PlayerInteract playerInteract)) + { + playerInteract.CancleCatched(this); + } + } +} diff --git a/Assets/Scripts/勍/Interactable.cs.meta b/Assets/Scripts/勍/Interactable.cs.meta new file mode 100644 index 0000000..c30779a --- /dev/null +++ b/Assets/Scripts/勍/Interactable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1efac6c6faf3ed94db548016ffee8ce5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/勍/KnotMediator.cs b/Assets/Scripts/勍/KnotMediator.cs new file mode 100644 index 0000000..5eb81fd --- /dev/null +++ b/Assets/Scripts/勍/KnotMediator.cs @@ -0,0 +1,39 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Sirenix.OdinInspector; + +/// +/// 绳结中介者,负责交流皇帝、玩家、绳结的信息 +/// +public class KnotMediator : UnitySingleton+{ + public enum KnotType + { + None, + 带毛刺的绳结, + 编成麻花的绳结, + 有鸡毛的绳结 + } + + /// + /// 当前记录的绳结类型 + /// + [Header("当前记录的绳结类型")][SerializeField][ReadOnly][EnumPaging] + private KnotType currentKnotType; + + public void RecordKnotType(KnotType knotType) + { + currentKnotType = knotType; + } + + ///+ /// 有黄帝调用,检查当前记录的和需要的绳结类型是否一致 + /// + /// 黄帝需要的绳结类型 + ///+ public bool CheckKnotType(KnotType knotType) + { + return knotType == currentKnotType; + } +} diff --git a/Assets/Scripts/勍/KnotMediator.cs.meta b/Assets/Scripts/勍/KnotMediator.cs.meta new file mode 100644 index 0000000..418fe0d --- /dev/null +++ b/Assets/Scripts/勍/KnotMediator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ad9fbcfc0d0c69744804efe3d7ad3fce +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/勍/Kont.cs b/Assets/Scripts/勍/Kont.cs new file mode 100644 index 0000000..abdc869 --- /dev/null +++ b/Assets/Scripts/勍/Kont.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Sirenix.OdinInspector; + +/// +/// 绳结类,继承自可交互物体 +/// +public class Kont : Interactable +{ + ///+ /// 自身绳结类型 + /// + [EnumPaging][Header("自身绳结类型")] + public KnotMediator.KnotType type; + + public override void OnCall() + { + // 如果绳结类型为空,则报错 + if (type == KnotMediator.KnotType.None) + { + Debug.LogError("绳结类型为空,请设置绳结类型"); + return; + } + //切换记录的绳结类型 + KnotMediator.Instance.RecordKnotType(type); + } +} diff --git a/Assets/Scripts/勍/Kont.cs.meta b/Assets/Scripts/勍/Kont.cs.meta new file mode 100644 index 0000000..8145c30 --- /dev/null +++ b/Assets/Scripts/勍/Kont.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aaac64616770dce42a623c267c4d9d31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/勍/PlayerControl.cs b/Assets/Scripts/勍/PlayerControl.cs index 4e35134..ee502f6 100644 --- a/Assets/Scripts/勍/PlayerControl.cs +++ b/Assets/Scripts/勍/PlayerControl.cs @@ -16,6 +16,7 @@ public class PlayerControl : MonoBehaviour /// [SerializeField][ReadOnly][Header("此帧输入方向,-1为左,1为右,0表示此帧不输入")] protected int inputDir; + protected PlayerInteract playerInteract; protected virtual void Start() { @@ -32,6 +33,19 @@ public class PlayerControl : MonoBehaviour playerC.Normal.Jump.performed += ctx => OnJump(); //为交互操作订阅方法 playerC.Normal.Interact.performed += ctx => OnInteract(); + //为左切换操作订阅方法 + playerC.Normal.LeftChange.performed += ctx => OnLeftChange(); + //为右切换操作订阅方法 + playerC.Normal.RightChange.performed += ctx => OnRightChange(); + + + //给玩家物体添加子物体:互动侦察器 + GameObject checker = new GameObject("互动侦察器");//新建游戏物体:互动侦察器 + checker.transform.SetParent(transform);//将其设置为玩家的子物体 + playerInteract = checker.AddComponent();//增加玩家互动侦察器组件 + checker.AddComponent ().isTrigger = true;//增加碰撞盒,并将其设置为触发器 + checker.GetComponent ().size = new Vector2(1f, 1f);//设置碰撞盒大小 + checker.transform.localPosition = Vector3.zero;//设置碰撞盒位置 } /// @@ -62,5 +76,17 @@ public class PlayerControl : MonoBehaviour /// /// 按下交互时触发 /// - protected virtual void OnInteract(){} + protected virtual void OnInteract(){ + //如果有交互事件,则调用事件 + playerInteract.OnCall(); + } + + ///+ /// 按下十字键左或者Q触发 + /// + protected virtual void OnLeftChange(){} + ///+ /// 按下十字键右或者E触发 + /// + protected virtual void OnRightChange(){} } diff --git a/Assets/Scripts/勍/PlayerInteract.cs b/Assets/Scripts/勍/PlayerInteract.cs new file mode 100644 index 0000000..7b7e41e --- /dev/null +++ b/Assets/Scripts/勍/PlayerInteract.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Sirenix.OdinInspector; + +///+/// 玩家交互组件,挂在玩家下面的子物体中 +/// +public class PlayerInteract : MonoBehaviour +{ + [SerializeField][ReadOnly] + private Event catched; + public void SetCatched(Event e) + { + catched = e; + } + public void CancleCatched(Event e) + { + if (e == catched) + { + catched = null; + } + } + public void OnCall() + { + if (catched != null) + { + catched.OnCall(); + } + } +} diff --git a/Assets/Scripts/勍/PlayerInteract.cs.meta b/Assets/Scripts/勍/PlayerInteract.cs.meta new file mode 100644 index 0000000..9c7f78b --- /dev/null +++ b/Assets/Scripts/勍/PlayerInteract.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 53a9e33ba521aa9469cf8214c44310e5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Logs/ApiUpdaterCheck.txt b/Logs/ApiUpdaterCheck.txt index ae7ca0c..f403dc6 100644 --- a/Logs/ApiUpdaterCheck.txt +++ b/Logs/ApiUpdaterCheck.txt @@ -38,3 +38,13 @@ C# parse time : -1ms candidates check time : -1ms console write time : -1ms +[api-updater (non-obsolete-error-filter)] 2022/3/13 21:33:35 : Starting D:/unity/Editor/2020.3.30f1c1/Editor/Data/Tools/ScriptUpdater/APIUpdater.NonObsoleteApiUpdaterDetector.exe +[api-updater (non-obsolete-error-filter)] +---------------------------------- +jit/startup time : 826.23ms +moved types parse time: 48ms +candidates parse time : 1ms +C# parse time : -1ms +candidates check time : -1ms +console write time : -1ms + diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 6881a83..1ec0d9e 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -17,9 +17,12 @@ EditorUserSettings: RecentlyUsedScenePath-3: value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d flags: 0 - RecentlyUsedScenePath-5: + RecentlyUsedScenePath-4: value: 22424703114646680e0b0227036cdbc9e6582b2b21382a357c67083debf42d flags: 0 + RecentlyUsedScenePath-5: + value: 22424703114646680e0b0227036cdafbfb583124382d34312e3d2936f1f47a2decee22f0 + flags: 0 vcSharedLogLevel: value: 0d5e400f0650 flags: 0 From 2675769e9563b2f4a169f8cf7fa5548d2d127bab Mon Sep 17 00:00:00 2001 From: lspdC <961907320@qq.com> Date: Mon, 14 Mar 2022 12:50:06 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=BB=BA=E4=BA=86=E6=A0=91=E7=B1=BB=20?= =?UTF-8?q?=E5=88=A0=E5=8E=BB=E4=B8=8D=E5=BF=85=E8=A6=81=E5=87=BD=E6=95=B0?= =?UTF-8?q?=20=E5=AF=B9Player=E7=B1=BB=E8=BF=9B=E8=A1=8C=E5=B0=91=E9=87=8F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scenes/乐/Sample1.unity | 95 +++++++++++++++++++++++++++ Assets/Scripts/乐/Player.cs | 11 +++- Assets/Scripts/乐/Tree.cs | 18 +++++ Assets/Scripts/乐/Tree.cs.meta | 11 ++++ Logs/ApiUpdaterCheck.txt | 24 +++++++ UserSettings/EditorUserSettings.asset | 3 + 6 files changed, 160 insertions(+), 2 deletions(-) create mode 100644 Assets/Scripts/乐/Tree.cs create mode 100644 Assets/Scripts/乐/Tree.cs.meta diff --git a/Assets/Scenes/乐/Sample1.unity b/Assets/Scenes/乐/Sample1.unity index 5474262..b8c6d34 100644 --- a/Assets/Scenes/乐/Sample1.unity +++ b/Assets/Scenes/乐/Sample1.unity @@ -349,6 +349,101 @@ MonoBehaviour: m_RequiresDepthTexture: 0 m_RequiresColorTexture: 0 m_Version: 2 +--- !u!1 &663361286 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 663361288} + - component: {fileID: 663361287} + - component: {fileID: 663361289} + m_Layer: 0 + m_Name: Tree + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &663361287 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663361286} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &663361288 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663361286} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.78, y: 0.75, z: 0} + m_LocalScale: {x: 1, y: 7.266563, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &663361289 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 663361286} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 037f21dc1592db342a165700917f287f, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &751536331 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/乐/Player.cs b/Assets/Scripts/乐/Player.cs index 67a0274..a608cab 100644 --- a/Assets/Scripts/乐/Player.cs +++ b/Assets/Scripts/乐/Player.cs @@ -64,6 +64,9 @@ public class Player : PlayerControl Flip(); } + void FixedUpdate() { + Moving(); + } ////// 溯 @@ -109,7 +112,7 @@ public class Player : PlayerControl override protected void OnMove(InputAction.CallbackContext ctx) { base.OnMove(ctx); - m_rigidbody.velocity = new Vector2(inputDir*speed,m_rigidbody.velocity.y); + } override protected void OnAtk() { base.OnAtk(); @@ -124,7 +127,11 @@ public class Player : PlayerControl } override protected void OnInteract() { base.OnInteract(); - Leave.Instance.OnInteract(); + + } + + void Moving() { + m_rigidbody.velocity = new Vector2(inputDir * speed, m_rigidbody.velocity.y); } private void OnCollisionEnter2D(Collision2D collision)// diff --git a/Assets/Scripts/乐/Tree.cs b/Assets/Scripts/乐/Tree.cs new file mode 100644 index 0000000..390578d --- /dev/null +++ b/Assets/Scripts/乐/Tree.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Tree : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/乐/Tree.cs.meta b/Assets/Scripts/乐/Tree.cs.meta new file mode 100644 index 0000000..9f5a3ac --- /dev/null +++ b/Assets/Scripts/乐/Tree.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 037f21dc1592db342a165700917f287f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Logs/ApiUpdaterCheck.txt b/Logs/ApiUpdaterCheck.txt index f403dc6..6508084 100644 --- a/Logs/ApiUpdaterCheck.txt +++ b/Logs/ApiUpdaterCheck.txt @@ -48,3 +48,27 @@ C# parse time : -1ms candidates check time : -1ms console write time : -1ms +[api-updater (non-obsolete-error-filter)] 2022/3/14 8:27:53 : Starting D:/unity/2019.3.2f1/2020.3.30f1c1/Editor/Data/Tools/ScriptUpdater/APIUpdater.NonObsoleteApiUpdaterDetector.exe +[api-updater (non-obsolete-error-filter)] Exception caught while loading types from D:\unity\CangJie\Library\ScriptAssemblies\Unity.CollabProxy.Editor.dll (some types may not be loaded) + Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. + at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool) + at System.Reflection.Assembly.GetTypes () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 + at APIUpdater.NonObsoleteApiUpdaterDetector.ExtraInfoParser+ d__3.MoveNext () [0x000c8] in <00f49e0ec5f946baac3cd78779c2f2a8>:0 + Could not load file or assembly 'UnityEditor.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. + +[api-updater (non-obsolete-error-filter)] Exception caught while loading types from D:\unity\CangJie\Library\ScriptAssemblies\Unity.TextMeshPro.Editor.dll (some types may not be loaded) + Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. + at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool) + at System.Reflection.Assembly.GetTypes () [0x00000] in <695d1cc93cca45069c528c15c9fdd749>:0 + at APIUpdater.NonObsoleteApiUpdaterDetector.ExtraInfoParser+ d__3.MoveNext () [0x000c8] in <00f49e0ec5f946baac3cd78779c2f2a8>:0 + Could not load file or assembly 'UnityEditor.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. + +[api-updater (non-obsolete-error-filter)] +---------------------------------- +jit/startup time : 798.0919ms +moved types parse time: 53ms +candidates parse time : 1ms +C# parse time : -1ms +candidates check time : -1ms +console write time : -1ms + diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 1ec0d9e..614f2eb 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -21,6 +21,9 @@ EditorUserSettings: value: 22424703114646680e0b0227036cdbc9e6582b2b21382a357c67083debf42d flags: 0 RecentlyUsedScenePath-5: + value: 22424703114646680e0b0227036cdafbfb5831243c3d3204283a097df7ee3d2cfb + flags: 0 + RecentlyUsedScenePath-6: value: 22424703114646680e0b0227036cdafbfb583124382d34312e3d2936f1f47a2decee22f0 flags: 0 vcSharedLogLevel: