From b99990d5ebcef2e6932b797f7959abb45b0e97a8 Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Thu, 16 Jun 2016 17:08:10 -0700 Subject: [PATCH] Updated Unity3D integration --- .../UserInterfaceState.xcuserstate | Bin 46464 -> 51662 bytes integrations/Unity3D/Assets/Demo.cs | 39 +++++++++++------- integrations/Unity3D/Assets/MainScene.unity | Bin 67424 -> 72520 bytes 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/integrations/Apple/ZeroTierSDK_Apple/ZeroTierSDK_Apple.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate b/integrations/Apple/ZeroTierSDK_Apple/ZeroTierSDK_Apple.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate index fc06d3ddb2bfb8a9157508816a39e3c1f3ac63ed..a6e0d4cff0991d5826715b7f8cd37884b394825d 100644 GIT binary patch delta 27760 zcmZp8&2(-u^8`^AzGS|XiIST2PZ-!4I2c43#2CaGBp9?9v>9|5bQ$y*^cf5o3>l0V zJQzF~ycoP0d>DKg{22Th0vG}rf*67sLKvbLq8SnxG8i%$vKX=%au|vjsu-#n>KU3C zdKh{c`WX5d<})l{Sje!5VKKuJhNTRv8P+gtVA#g6i(xmzL58CYR~fD`T(4)i!Elq| z7Q=0Zdkps(9x=RNc*pRK;XA{BMg~R>Mova9Mg>MiMkPjNMioX?Mm0utMh!+yMtw#D zMl(ipMn^^`MrTGBMi0g)#%RVE##qKU#(2gA#ze*>#yrM+#sbDd#v;aI#uCO-#(KsE z#x}+t#$Lug#z~CR7^gGNW}L%VKaX(<<5I?zjB6R!F|KFa%D97Z5940OeT=6VPcxoj zJj-~F@fPE4#ygC68SgPZWPHx}g7GEed&Vz}e;EHVu`;nS@h}N8Nis<>Ni!)ksW7QB zX)+lySu;5@xifh)`7;GGg)l`h#WE!_r7~qQftit+iJ60$lbMfMj9Hvnf?1MTidl(SnOTL|gxQqY zjM<#og4vSUirJ3Yk=d2mli8Qqk2#3BK7u)tIf^-jIh8q$Ih{F!Ig>e;xt6((xt_U! zxskbvxtY10xtqD4WiHDCmc=Z~SXQ#EVOh_ziDfIx4wl_4`&bUL9AP=ma*E|F%LSIp zEZ10WvfN?0&+>@nDa#9%*DUW?KC*ma`Ofl-Ew_D<>-tD?h6ct0=1kt2C=z zJ*y(C3adJ+7OO6+0jn{q8LK6$4XZt?6RRt$2dg)$A8R0M2x~ZN6l*MN0&6mB8fzwN z4r@MZ5o;-H1#2~H9cv?N3u`-T7i%x;1lGx{(^zM+&S9O;x`=ft>k8J@tm{}evTkAB z&bo_rFY5u;!>q?xPqLn2J%`ik`}>j&1)tlwCFvi@QH z&&I^Y%ErOQ&Bn(j$R@%j&L+hs%cj7l%%;Ys$)>}m&t}AC%4Wf4&1T2u$mYW4&gRAD z%ND>E%ofHL$ri&F&z8iN%9g>F&6dYj$X3Eu&Q`@%%htfw%+|)%$=1Wx&o+r|D%%XU z+4XGm*cP%aVO!3&ift|12DZ&?+t_xp?P1%`c8KjL+X=SQZ0Fc6vRz@j&UTCKF53gP z$868oUb4Mmd(ZZX?JL_4w%=_3*csVb*xA{+*m>Cn*oE1}*d^Iz*yY)k*j3pz*tOa9 z*bUiD*v;9k*lpPz*qzzk*ge^O*!|gq*hASP*z2R&fANKaT&L44n0hoJ^d|oGhFIoPwM}oWh*) zoC=(ZoJyQ}ocf#woQ9mXoOYb{oZg&1oW7iXoKc+7oH3lSoSB?ioY|Z?oE4mvoK>9F zob8+)oSmFgIj3<>=bXX0gmWq9GS20kn>n{|Zspv@d5H5c=Mm1MoEJGSabD)U!uf#n zA?G751}+vZ)_N{ZE-o%UE`BayE)gyXE=ev~E;%kGE@dutE)6anE?q7|E+Z~8E^{tx zE*mZfE=MkRE)Omrt`M$Jt|+cJu4JxEu3WBSt}?C~t_H3)t{$!lT+_IwbIs*i$hDkn z1=m`xja*x~c606LI?8p7>m=8CuFG6Ex$bj4=6cEXp6fGL{ZFpH+zi}o++5rO++y5P z+zQ-k+*;fQ+-BTX+z#As-0s{S+%ep-+;QCT+zH%?+)3QY+$r3t+-cnD+!@@N+{N7G z+!fq4+_l_|+)dnF+}+$g+`Zg=+|#(HbI;&jz`crlHTN3swcJ~|_j4cMKFEED`!M$r z?xWo2xi4^E zB9AJM8jlu_Hjh4!0gnlfDUUmk2ahL@7mqiO505X8ACEszFi$2=7Ed-$4o@ym9#1|` z0Z$=M5l;tCCr=koH%|{wFHav&KhFf7i9FMJX7J48na{J5r+zKZex3t7XL!!?oZ~sq zbCu^B&mEozJP&yu@jT;s#q*lyJv)@a+j)C=C-KhWoz1(L zcM0!0-u1j2csKGM&*nYBdy@AQ?`hsMyk~jO@t)_sz-a58W)a5L~Q2r!6DmSdN4SJ4crYp%Ndjylo?bQcp0P_)EU$pcpLZ{Ha9Re zus29HNH(a)dAhiUXXd5km%9}u=BCCA*i9DbmsE{6GIF-GbhdEOH8*fI)HN}5G10ZO zG%(jSGIcR_H8!(!HFa{C{H$GVvTsL6y;OCzu8EO_j)I}Fxk0UtLbZi~fsTT?sX=Wm z%V8O#{W87vqq8LSwr8EhK(8w45z8-yB!8$=pJ8^jvKS2EZ!s53Y) zI5IdfI5Vg-xH7mkNHj<`NHs_|Xf(JsNH+L3_%*1<3y3)u7iSiiB<4*v?-EcD@N{tv z&d4wKODxMwPb|qViuQDI4M|M$NlZ%3i5JiXd28~P&I*fIPZw9$l+2R+BFCcCL;(hl z*kBj$_~88H?9`HCy=0h!Lm9#uG#4_2HOMSvh-i>)P@nvOUrIlQA$}1Lkfe)B8DV}jRV>T5m9bz$J!UhCGIRhJq-S zo8>}1DC(oK@$tXQ} z?lf^%pZxS)p~|-k=PV*v_y6qB34Upt{;X zM**CE!8A1O)^juLVb}-Py}!Wb~Kf=d!h zQoU0v;{}9MD+&_xQc_bqQ&RIvGSf0si;Cj~B++!b7v+~0I8}mmD5J>*r6#B5K@3JR zR|!p3SY~l%Qch}6YH~?%J=}JYo0+ewmS^*3mVko1w;^GXk==sqhMid zQdYb%>&u4DpK@UNO98c+=qC;Mw5apmw<)T6(@`_=J-9 zEf~Hu2se0u5`TdMIQ7HK{=x7YMWqeH-v;ppFObR^F32hw85voSRWh<4H6BV z4RafoHY@`r2mw%W=8~FJnx38tF00}N#Gqx@<_~U0PsTt7 z&ElPU;EdYN%@{X=rRHZjhLKu*W=rv60bzF=G>B zGh<6bX+vd0bwllC#&*UI25!bM#xBP0C`9%P^~_62t!OA~C~v4htw;oTz=bShKjVbS z)xGkpix?*|6i%-0RnUYQHJQPVvAdzFL874|IM~G-X2T4ya1BU!vcU`yE3hdHb&PWt zfeP@;jPn_|85b}vWL(6!I65UiximL5uOu|cC$c0nH?_DVF}I+hzM-LkAzr|I^2KyL zA$Up!o5Q$_arxx=@jo@l}kgCztl=urRJ+D4bl{r_CE%RT7_>mst{D zRFJGO`Q9Y$dd3Y5+>9F;7c*{VTo~>bte2EnoEq&HtXGtplUR~jmfFD3(ArQBF>V{< z_E5jz&>){hjN2Fr!Fii;Cn(|UYG`k$MJXpNz-xo*bT{-g)b}o7Jj!^C@i^m&hQ5X=4bvK?H>gMWq^6aGWu}%#24$vafLT#K;OyX= zpOP9cAPQ;~6y#)rWx#m}l#^lhoM*fOvgZQhMaD~vmmB&UCNxZJn6!jJoxzUrIwPpj zA<;0op#zi|rNbt_n_R34@yUHg_XUXL|A_GkC|5mhn7WX`u0f(feX`(Gk$M3}m@Tgu z-@uAG#o~n1q-_ zk}xz5K{m+x2*-`ws---sMMnTkj%-JGkAQE^BE*Zp}3hTl5sJUB|{+NVurwm4Gjzp z8ygrPE{bDxU&y52u)LuboE4aon35;+_G_~+r7#pu=Iz&lWH_cYru51A{pu`C84QJ! z^ZV86A-b~|-4`-QH?YH#7gHWnIfLd3rhKLXrb4D7redZNrc$P|hOG_T8n!p=XxQ1X zt6_J;o)wG|OqEPkOw~*^OtnmPO!W;N4SO4z*&CU;8kr>;nKc@jJsX+5KuKA|sVFru zyC6R^ucX*9xg@hJu_QGme)2E&1IDlf)5X-!pt*#po2iGXm#ME|U&H=}0}Th4Fil{Z z$TW#*a>Jp9YmH1HjZE7b)F;2=*k`~ri)k){<|3xqOmi9zHymBWG>>V1!|{gm4eFN> zr3TXya0ziFUZ8OD#dNjF6L?K0|K}1HMN+X6tm0U_KrUE?0H5LH|6H<4Olz1nFla7j zTFbPKX???qhLa7a7BgOF+QhWEVRFOihI60>Be(M8-8}AAOgou&FJ#))aHiobBtZ9q zn;np-IKXr;2Hx5YPAyr?bb#p)Lt&_2aBynLWJz8HC8ncHCqXtHV>-@sqTxcr#fD2D zn@%&GX_(w_x#0@frqtYc0Wm~F$I#5eL`T8U(8LJZ)M2^|a>JE|t1vfQ2fG0lxVM<@ zg2L)H)18Lv4L27t-DA4naJ!L79yPF@fP>;jyg(K>C?@c_3Lyp5OR(&%$^P+K&Mi0+*Fmo})FJk6q=4p7= z@ETrLF!M7DF^DW;7GM@^c;4`05wkF}NW;s9SKyA1AFSWYEX^#3qDr1wq2W!#+Xm$T zWrwZ{pn{44>IY_3W*r92Wz1^K>dYF*oWPvO zoYct3+{nn%$jA!vPJCVjGpI0N&TeF6gO>)(dCaAt0Lo`BU@l}XVlHMbX=G$?WaMaM zhzYF{!}F&=M_Xk_FCH7y$%1sbM-^1tllb^MZ(;}h8?UlZ=1 zyir&g()MO>nYS@-XWqfQlX(~OZstAAdztq!?`J;1e31DN^I_&A%tx7zF&}3>!F-bW6!U53 zGt6h1&oQ58zQBBu`4aPG<}1usnXfTlXTHIFlld0&ZRR`7cbV@o-)DZn{E+z(^JC^G z%uku0F+XR1!Tgf>74vK6H_UID-!Z>u{=oc^`4jVJ<}dZkUzxu#e`o%|{FC_?^Ka%q z%zv5xG5=>_U}0ooVqs=sVPR!qV_|3EVBuupV&P`tVc})rW8r5JU=d^yVi9H$VG(5! zV-aVOV3A~zVv%N%VUcB#W07Z3U{PdIVo_#MVNqpKV^L?(V9{jJV$o*NVbNvLW6@_Z zU@>GdVlif^H(@blF=H`jv0$-ev0|}iv0<@gv174kabR&|abj_1aba;~abt03@nG>} z@nZ32@nP|0@ni9431A6i31SIm31JCk31bOoiC~FjiDHRniD8LliDQXpNnlB2Nn%N6 zNnuH4Nn=T8$zaK3$zsW7$zjQ5$z#c9DPSpNDPk!OU@2iKWhrARXQ^PRWT|4QW~pJR zWvOGSXK7$*WNBh)W@%w*Woct+XX#++Wa(n*X6a$+W$9z-XPLk8X0RF8S5HB3K|+2 z8ygv$8X21#8Cx0|TN@eM8X4Og89N#oI~y6h8X3DA8G9NTdm9=18X5Z=87DL{PHbeH z)W|rwk#R~R3tda3}Bjbri#*>YVry3bgH!_}SWIWr*c&?H0 zd?Vw9M#hVcjF%c2FE=t?X=J?GSkHK^k@0#XtH!?nHWPIAl_^grfc_ZVCM#h(ojISCQUpF$oX=Hrc$oQ_2@qHuX zhepPajf|ff89z5NeraU<+Q|5=k@0&YcOw%|BNJ~U6JH|}ehw zlTag*a3hmQBa>(&lUO5@cq5ZUBa>t!lT;&p;92 zQo0b{MiB3;lo5ot1;k^QhU(i6;#o+W^MK9V1$Kq@WNT^J$t-w?}v;V zMD8kx=O$|c;oSi7nq(~?yxSn&Az3vD?;eQvK^AKJLl93{P8}lm1jGxHgL?cqi1#s3 z3nKRl#M>ta4TiTM-g`M{(0%~%?Bt~;>&bIKRDXtuC_#eh8#tJxCp*fE3;6oGxWXdn zCrH&qc|C}pKOo+5d8k|dgLvQMA+Ba+0`XK7bigWESwXx81&PT83K08PIUphm5P5D8 zZ-s)24k(gX`M|b|FuJ4`<9@IM+Aoic?QG>heZ0o zLWETlq$xuQ6923^Al^hJU5J7DAl@-0NDQzVfq37Qpdn%k;%O^uKvY_Qc+tv`m}9jD z@g68k3Hv$v!Y#4`yGLg71ZDBb7nGr)=m=4%2#z&Y7qAjJkP^!<*Pviee?M4wxr3#| z8GSPIvNQA2YigWA{ak!p<9+-cU0j1;s=PqPMX5l;(HF$)RZ)dFF#yEdr2-ABU=Z)A z3e=-vAfA*eBpI?sf_NdSP<=5VUZW}`k+8;tcpG4HNg&=`RY`~qsUY4zRT&5`1H`LJ z(g^^^MmE^}q6qi!NA%K z;!Rbzg+xso*Z`Hu{2HQ@KdB2r?C%6A;n9GmfgTXg2FB|L@p3ev!8QrRo2>ygdMbz) zkqmYB3=r=POyz74uQnN)z~_N@PMXk2TL|LiYC?Uu1jL)Fscs1N;c~D8B@sRhcMS6L z^mC8*adGo;bccI#6-d`>O{h!Of_UOu&;+vq#PiZJf%tASh}WhCwQU=Sw@yn95*$0h zw#iQ3s3k5M5ajCS839Xzd%!ZEs&B=I?x<_7sON3)rDwy0M?*1dA^RAbU=`2m}7`5N=keTmRFs8 zP*-H~B3%)PfzLoj?9)|+81WLUL;|El0J$W115zcZ2Q4h#gLuw*P)B?M@yhie1vKkd z5O1v>H2QylcsKNPA$I)+@p$#2QTGqTbI^w*MK(qduRtFXQfw?B-a>syer96_@y_Wx zflXoK0`Vjapgdj>FUbIsz1RdmydDFHeQd%Y-a!LMUS|^n@g5mKDm*qx5KqZa3u2}W zh{tavJ~`VE63}e&Adv<`h+El|K)i>BvXd_uazb>dLPQ`{51R&v$8V$pk<$k8tc}zm zJUtLE%P0gK!fb}%5VoKE!B}bXYa>WhvzZ_XS{Or;FPk|?U!sNRr4C@FPLn?v>rc)#5rZgo1}T-d5S_fh z1RA<-AQ6ye2UE7mKTM<{nmwVKFPLadb~A-q?gJJCIbLn@6jMm4$>tBzA7CRg+22HP z@?BGIh&@3d(GRAU5MC&VXJ}>vF*^cmj3YPl0*xU$$AdllWlATCNtRzLu3|%WI!PW zk&%QLvJ7m9)#QuzGLvg;p@yskDSdAtGx@y@$K;c?Vi2Wkz)GXQO7raaCyUxaYI(Nx zAm#pc9uRvrfq3)n>>--Af;CygHHp|mowEa^OyAxUqG>mXchMZ=Y`Mvs?4cpB4m9-&yi*_^$lL-)>B+W^;t-S0 zf=x1+Ea<2+x!Vz%GcJIX&U18yD7g$);ywAJtM=pz&YY8#oTMNU*T52faES@-Y?B+E z#39z*1evkGDG0*51LA=!Z}3nRbM*}fiHvvhcZr0#`#wl|fs-EC{Ca0-27d%L-wJ9z zv>NYugA3*y5sV9g*OnoU0K3QfP?K}z1aMnR1E1>z|NfNYkS-0lV~<^O_2H@bO) zjbUd18{-c32IYAN-U&>7m z@(_ZU&I2~xaq>r3GjYe@U{80ycvrtrUuf8}^Mf=YOk-s?2AMCmy5rmUDC)fD!L)038 zWE`MDdCCWpwb+e8qR8rHe4*;iKr$e+<$T#igFGFb;O${{OR!s=CVzC5nf%mGVDe^P zNIA}K1JVOAjeGKEUv-Gr?2(i^`e{O(;{;N=z*~OuL_bJX&+ZBm0To9L9^8|k`a$E` z10*Wo?+-D`8*G&KWX53i$$UY)ljr$E5-YnONSR`Q&E)$*oRe7tL?D&~LPR4WnnRE@ zuL*!u80_H?CFYZb0wJ{+dlXoiJJ^mj0o;=d10h8!dn`!l#6WL|*$E(?zqkBkhXC2h z3PHROJCebgBPKHjJ5H_)f;uh@r1W2q%jEk(;t9L`gMRiS6Y65LqROGIfevB`Z>d#F&U&*AktpKFWA}5H7Lj*)`w)D2G-{f(>M8R zIMk6d!4mE;2`OiPA0Joe5Kn(USm%O$4p@l`Oo_O=tDkF-r!!n0G@=wQ-~p4L{4)ZY z#6g2glLaE7g%D^M2}zkmkZXver(e9Yf2bd90D&DmxHKW!Ve-#NVTgx815EJ(o|E&U zY$d#1Bb_}!dK?2hVO|CgIb}!1L4poE8XC2rA*Xl&Kad8#FgO1oZ}4Ol`+oKVlTXGdurFpm$bN{SaPr9*TQ2q^ z>_;Ip6q5yFl}*`CvY%tnT*7{e{WSX-_Op#l3XM#PjZ8|7Ov+2x&$C}(zsP>6kx8YI zNw<+nuaPMbH2SYG`D3i`5vWWUwOq`Hv(P9u{VWU|MU{Q*P#BKC*u zj~bcO8=17>(>?4@*>ppH!NJPG37s|J;DFAWFc~lA;Nsxs;AvzsX=E~OWHM_|pZq^QA(TUi(S0F@a3hmB zeAa|Rj6;?|a~X#?hXjWthZKi2hfE`rMI)1CBa>AllXWALO(T=-GRET^@}OB04kZS= zhG~sVpt*dBMka>_(3Jjq;VZJ>84V5{hWLdXx{XZs@X<{UP~QPGIg-J}z|CRI5WikP zfWw5tl*5d}oWp{{lEaF_n!|>}mcx$2p2LB|k;93@xsl1Sk;$o%$+?lqrIE?Ck;$!* z$-R-uqmjw8k;$u($-9xsr;*9Gk;$)-$-j{)0AU$u_+~O}WRC+pO!FQ(md61erh$ze zae#+us*-fTsgwgeOamM5-~bQPz{Wc`z{51K@eU5~FpX+5q>IG?9;ShfFmQl}X=;<@ z!6OA6pkbPL0fHk19N+;Qi}?oM`n;a036`and>Pg($ECP zQN~fhpt+EvypbtrAxC8+Q!qI4WhPHe6|3i{ABU54{Q*t9yY9mv6BU5H0Q+6X$ zZX;8EBU51`Q!&WM2^PDvZjZB+SCVe@;Gvtj- zVetYElP_i(t0Wd=>L(Ut#^)BN>m?&irE`EM${U#?;sxA53MczzbIE2F#3!bt6rn0y z2bw5uWQv-snC>c!m_X*(3=xl+{IStY``msbkXGaI!|N=zlVsI#0xlqCxGW>D;sir;`q*>xrF00#}|&T9N!w5 z${Lx<8<{E^nJSlX{NVV>pw98Tk*TVYsk%Y3k*TIZeR6hg_2k?f0jJ1nLo;(@(6TjX zn&)KYo0A6U$Yu=Tzp@0IiHdUv$T*$*IMl&Z*PL)Yiz<4${%lpbnbjE}CpR=R!=ip^3SX zj)IY?g(+y+otd!_viprV&2hTKg42>go!O|7sjHExyMa{_Jf&})Csohs!0C$BC2pMV z4CnF+Kv+onbB5q_NhoI+gF0tKBh$o2rb!KKl8sE08`LM? z%~P-EjN?qk>Xa1DR0eg<^hTzsjZD)(PMHpIN?}p6=FJ>lxHJH#Rb@Xk=Om z(zU8Vee&Z16+_PLoO^KU+RM3*L7nqJBh#8jrnMkl>l)N2TNY{mw=;9>ii z^CN@iTFxh&PdT4)KIeSF`I7S$=WEV4oNqbbalYsL(8#pCk!fcm)9yy5y^T!!8<`F^ zGSwe$WIEc&bi9%2WFyn*My9ikOy}2fe&YPh`GxZ<=QqypoIf~!a{l7{&H0D(FXz8T zri+bCHyfGmHZnbEWO~xb^tzGhLnG7YMy79#OurkM{xvc)HZrrIR5M)6kdkUgyns=K zZbfo_N~&&7e!7*uzN?YT+7R&*lV72V8$iTQO*Sq? zG2av-er9qFs<;(I{M_WDsN(hz@e7mr%4|fqoVZ*VG#7F?H!@vX$mQC|bh$x&a$K3B zB9|wl`$8_SMy4wbwO2t4b-8>Q=X3dS`75=#;V zm>QX0HZonm#I=rrn`=GS2GD}(l*E!mCqKqUrdN=d+r+gw7QToIq-!zPCax_Eg<*cd zARa6zwsGx1xOrzI(;JYR4Y(M%x%Pk@y|We7-ZnCQhne;PWZ1_>rXSc0)8_gC^ZkiNrk|i> zyON=vo9h?XZ>~rI=0>Jp@YwmswZYk)0TeCJ5a(v(W`=u!o28NI57bI-c1HJw+#HQe zf3aC z3rL1Jayv7KEaY}-Wae1N?b681*`N&CYv-4kn+jPG7(e+~jY2rLCwCBo$O>*RZf|ZM zZeMOcZh!6o?!ZQ7?nY*wMrPhdX1+#d{zhhjMrOfAW}y|_!Hg0N>fB-6;oK42k&F_J z%)$*F4U&z_B8|+Vjm%<=%;F6l4a$@4YTw&%XL08-XfEc?=FZ{HZDf{gWR`AZmR-!9 z&t1S>*vKs3$gI-Htd3F{a+iS%c4jG1a~`RJw zEaGnAZf#^%Xk=Dg#NE!_(a5aS$gJF;JXx_`t)9D|dlE>=1n!BA%&LvdYA8xV%QI6- zGQu)aLAw}WhR)=k1JZ%rP?(~H+)F_|Uc|kadr2d+W+Ss!BeV8m?q%G|xmPqY>ohWZ zG%}kvs860!pX1NHjv;<2_j>LP+#9(!ac^#9)@@`qX=Ju&WVUH!c7TubaBt(@1u}Cx z_YUrzjm&zD%=(SY28+3ObMN8a+sJI#$ZXWeY}}we*}q|3J@+y0Q`i)r<~{>*fN3MM z8Q1~JkUd%q41o%vPNkVSDKHOQ=Dv_d^Z)7%XnAXVb+Q{tQFb%ZIcJitg#mUQB>gsuz8Mt{^cvwN@KWK*zs3q>x zy2J8ZBeNU07T{s$;eZtQsf&2n84BYC1VZvt5-SxFOB9T(49pb*d<9;CN1k|iK$}nb z8F(958kj)iL0k;nJc11Is~97=b2yrKM0vz`#5rH{Nb*Q=K5J+JrF|yn=tgGmMrNNz zW$QGAA}NCp9uBH!`O*GN(2& zr!_LCujGjb?bYK+;z{O7VU*xW<4JF1&H!!JYh+&2$h@hM`EEl;BlDw1=En`{pyCd? zwOFhuH4(CjFc^7L@?@PZX-4>7i%Fx8eQ_NEfa%2flDNh+sIZp*oB~KMkHBU_= zb7muRRwHwEBXdq8b8aJZUL$jUBXdC`bKyz`b)I^VGa2l7nt57yT6x+)1!NJ(nGF(+ z%-xO5a~hfFHZm^+jQ}I|6|zG&7EV6jHBAk38zIjmo+%8P3wb6tG8Zr8ncB!)0@+Ad z&oh%}Hb`PtBXj9Oo;i)oWvE*Tc^2?2LElQqvy{P(XL%!YImkhs4a$%ty$Tdbs~eds z;A6Es>v*;?;NMNCx}0Y_&kmlQJiB;yGlp|CH8NK=GFLS+*EKSCG%`0eG&eFuH>giu zJW)BH=OE89Y`X_}j`N&gQ0F<-$XwmXTmuTM+6HB1$GyTulkN1r;uy$4+K|L^f#)J) z4bNo;yGG{rM&^cw#zy9P$nL>xp6iV6i+OJF+~m2{$lTb-+|tP03g4E*vzzB0V|OES zQzLV8Lq)uR2zc{(YEfBca%ymDNoj#zazTLrCv zpy2=1$lTRXJ6U(KLOstnp5F|bOL)HX{NVY?^Q)1$r;)k0k-4vtxqk`IAD+LA$9euY zGEZn^o(d}NDBXX@%f`#ipt*#XotJ}`lb5TJS$1M0^Q1=R$&JiYux!Gc{AzNYFs~S| z1cT;6UhzieX$#@o?WF5@WqIXc`&M`r8ku3+?0A(K;urC%@TxX4&unByY_#Lm;MHb8 z+OyAifLFJntC1PJ)2;(jS3z?muOY7qiqeC;x((f6r7#ti^}JS)c^R09Ew4Rn%N?&n zBQtEz9j`OUIWD}ejm+~KnHRvTTwV`eZ)7_VyY65H2Ji->D1h&~y8_y1R}b20#~Z=8 zm^X^appki114AS8B8+Wzyb+*ncDxA;fgt%+4I3Mo7b7KV-Xz{+SfXCp$h-uasKH5v zH-piAF>fYs7H@VV^U_A>8O@ zBW<+fZDDj@$QuRnC#-qu)cbiSG%~MiWZr-X^~v?T(~v`z zA(eMVgJL7|deAP)K1f>u76Eg3=c6fI2vWKcq%>~7}R+W@g8PS=RFE4XdB*i@yWBM`%NyJuI36l1_Bm>NZa6fzw!Qno!h|svyu5M{NM)O zKfM1yrO4k#=5q^q|2Hz9Z&06XFhkm(kC~5~L324D3m+>V8y`F4WIj$lu14kyjm#Gt znJ+amUv8*sWWLhKd=;dGg%1wFN-m(04eFC;&+wXD+$dkqC(S1da|)kaBlC5*Q}`75 zlpsY%ynrZTQz7{D1Vcj;3-}Q#d}@3ea3eGunQtMC(BadA`-V@yk@+_K;0rz@J`)Db zh4qY+8>$xanKm-tK}cEfS%LN~hc%Qfu;EUpmMOMHF zKaOFt;T#)Ak;&n6)a&_D`O-qcCt@@(GH@_RGAJ=B1^g@dSMjgmKg@rI|1AG`{yY5l`5*E>;eW>eg8w7`5B^{LfB63iFbMDp z2nmP?hzUpw$O^~{C<V1Zzp;4Hztf+qy83f>UBC3sixzTiV4P9ZTNNg-(=IUxlhC82tCArm2MAzLAP zAx9w(Auk~xAwQu2p&FqnLTiM!3hfZuCA3HAq|gnaTS9k)?g>2*dL;Bj=$X)0q3=RJ zg?AnGRSA?hXSBN`cF~=pyG8elo)JAKdO`G(=rhsxqF=-q z#dyWU#U#a~#bm|8#S+BI#Hz(6ip>%`Dt1cjt2nc`j<}_`qqwiQzj&Z{uy}opc#?R! zc!7Aac&T`~c%OK`_#E-2;>*QXimw)5E51#9hxjh>J>vVs4~U->zbt-F{F?-`1djxt zgn)#QgouQ!guH~JgtCOHgt~;QM3O|S#5{@R5-TKDNo<$cC9y|hzr;a_!xGmeZc03p zcq#E(;+@0?iBA&0B^e}{Bv~ZcB!%lGB_yRJWh50Pl_gar)g=uiZ6%!~T_oKky(N7m z{Urk>qa@QMvm|pQ^Cb%9o|Dp@L3DqSj5DqE^Ws#j`?RQ&>} z!&2v^E=paNx+-;D>W$PpsSi@0q`pXfllm{sCe0zuCCwwvCoL^4D=jarD6J=LAZ;XV zBJC*cEbS`oE*&kMA)O_iBb_JRF5M~JE!`{KFFiwgw)9--`O+(-FG*jQVU*#LF_1Bp ziIz!`Ntel#$(E^*>6Gb~>6Pi1nJ6>4US_JybeWklt7O*5tdrR&vqfgR%r2R|G6!T1 z$=sCrCd(`J2H8!rTV%J%?vOnwdsz0U>_gLH?5b z75VyW@;BsvDo82VD!3_lDtIgSDugM7D?}{8gHuutK>B9o%BqK%@fqKBfFqK{&zVwhrtVya@6Vvb^-VzFYWVufOrV!L9eVz*+i z;x8q3B~B%7C0?a+r52@$N|TkQDot0KsWe+@ZoSefr8P?Hlr|`BQrfDtLur@ND`in- zXXPU0MambI-zxu7{;T|7g-L})g-u0DMOj5dMN36TMNh?A#X-eM#YM$a#aqQ!#a|^> zr9fqh%3PIID(h7?s%%!-p|VS5kIFuk{VFF^uBtpzd7|=6<%P;Cl{YHyRDP@cRr#;V zsLHI$s#?#k%BiZN8l;-5+M&8w^^EFG)my5!Rqv`kQ+=-bQuUkachw)Nztq^(IMg`R zxYZ=oB-NzUWYm<^bky|K4AqR)T-5y30@Q-kLe#?5j;ftgyRG&}?Wx)ewbyE&)V`|y zQ2VX+SDi(jTirn2M?FnFU%g1ZRJ~liMSY_B6!q!qv+C97sxMGqtiC~glloTm?dm(# z_o(kvKcN0V{f~yShNnip#uSaY8VfWQYb@1Rr?Eq0x5g)p-q1qAJ(b{p^iP|aJ>DpP^x!MKV#oA@smD)Ah_1aC^t=b*h-P(QH6Sb#k zPuHHMJy&~ycKu@QW!fvX*J!WT-lV-%dx!RJ?S0w@wU1~Y*FL3vR{MhXW$kO)H?{9* z-`9Sm{Z#vf_G|5T+8?#QXn)uKrTtfjL5Ep~O@~v5M~7cWNJmshLPuIhPDfEkMMqsn zOGj77K*w0eOvh5kM#o;qNyk;kL&sakPbW|(L?>J)N+(t)p`^I*IA^qRA+_GYMpgD8+EqmY}eVPvsdSU z&S9NnIwy6`=$zNNq;pm0hR$uBdpZwwp6EQ+d8PAK=Y!5?oo_lnb^hr5*JaXW)#cFT z*5%U`)D_Vc*Ok(h)vZ_1Rn}G0)zsC|)z>xBHPyAywbr%Mb<}myb=URM_0CVJ+2 zR(iI24tmadZhD@2K6?IoL3*Kj5qi;jae9e*$$B|@`Fa!eX6en<+p4!u@1Wjoy(fCl z^?CKh^dg*>%k(StSLkol-=cp@|FQlv11SS#12uyXgII$EgBpWYgARiw z25SvA7~C*;Xz;|4)sW9n&`{sd!qD0<*Rag6(r~fi8pHL5pA3H+{xi}yvM{nXDln=v zsxg{xw8Ch$(Pg7MM)!@Gjd_gujqQxxjlGNujjN1njTalQF2uRpW%r={CGrMMX-|Ue&r@4^1 zsJVf;rMZoHlzFmwn)w9tndbF#%nzBLHa}I{9I;Gya+PcNM z-Flhzdh1QrXRNPU-?08_{m+KcM$^W~#?;2oCfp{2IbC%6?DWU!zq6FHva_1AZ@qJv zbEI>VbGLJ!^G@eO&PSb}I=^%N=pyZ+;-c>2?-Jn>?b6`V>C)q}$z`|8K9>hBFJ0ca zYP*`an!A>{*1I;jE_7Yxy4Ll&>jT%vu0P$F+*sYL+??Iq+;ZK@+$!B>xh-~E=625Q zy4x+czwT`AobEdArtTK*k?u+EsqUTb^^@GEx<7M&@BYcd#KYFZ!K2Be+oR9ptj9Hv zo1TK6Ql7G&37(mrIi4FmcX{sh{Nnl7i^0p;%g4*#Yl_!guLWL@yk2{~^Op8j@mBYa z^-lB7^j_q>+IyY%C-2|h|9lL5EPZTz%6%GqntcxWoc1~A%k0bJ%kLZH8|@qCJJoky zz3)Qb2fiG>J@W%w2PmH4gj+vvB&@1@@-zpwr({<{7K{t5n>{yF|D{Wtk< z^?&aF!T)oBMSx>~OF(D9q=2ab=L2p8+z#Xl6b=*%3a4+Yq)hY){zdus>n{ z!yUuD!hOSMhc5|V9{wYOF@hx`I3gw@K4MYC>WFm_e-}qi|vfP8hbDHVVr85UYucELtJNEPu%&q8*#VejpD82?cx{3uZ~}r zz?UGNAeE4nP@GVfa3JAi!kI*&MCnAi#Pr01#Nx#Ior#AMk0x;>2_}goMJJ^sr6;XQ z+MKj4=}$6iGDos+a#(U?@|@(Q$t#lICVxx*nc|eoy%_`4o$ZF0yoOLGae70D& ze6~_{dUio}arU9?)7j^87upr}6;3alRrsdxYvGR~&!V8BqN2*8nMLc1_7v?c+E;X-=uXkgqEAI% zi+&XSF8Wu@Ud&a@TP#p4Tr67bP@G>pulQW??c#gI4~w4^KQDe+{I`Uygu8^VM6g7- zM4?2rM59Ez#Gt;!xWu%?yu`I6qNJvzv!t(NV#$<}nI*GJ=9MfcSy^(lf%{ZRU|^iS#kGR88# zGU+n8GQ~2LGW9a8GTkz(GMh5{GRHFKGPg31GOx1yvhK1?W%W18{*}v>tCwq)>z3=6 zTa;Uu7nN6+&nsV8zNCD4`Kt1@cPnVx7zfgX&{7waP z1y2Qkg=U3Og=s}hMQTMx#l(tP6>}^0R2;21QSqqab;Y|%?n;qL@k;wjk4o>#)XKcd z!ph#tX_Yf8w^r_}JXl}(sq%N_zbexzyDG=3hN{l0o~ol&=c+DNvsMdLi&jfiOIOQP zD^$BydsjzPS6A0nH&(Y)w^w&n_f}7+o?JbxdS>;U>iN}+s+U%;s9s%tuKHs2mFnx& zx2o?}Kd63O{jB0V?twYV_9QmV@+dyV^d>y zV_)OM#>tJ-8fP?aZoJj_qDi1hvPro~x5=u>xyh}`v&pB)zbT?Ax+$(Hp((j3wJEQu zqN%Z|uW5SItfsk53z`-;t!Y}{w5e%J)ApvFO^2G!G+k|a)bzUPZPWXv`j1VYoBlNY zZ)R#{X=ZQcY!+&kZ`N!!YqoE8YIbe*X!dRnX%26WYL01+Yffm+Y%XqYXzpz8ZtiXF zZ=TpZt9fqog62idOPiNBZ)o1ze7yNe^WEkL&5xU(HNR~B)cm#iNAs`dzs>(!I9fzo z;S8H$UwAPueb6V%ME^J-gx~8>$XY1kC z3#~U>@3h`;eboB2^RJ9<0%J0^7;@3_)&t>Z?=?M{JC*-rUR#ZHyZ$j-FRjLxji+|EUv>pSZ= zc5d$6*7>^gN9V83Kb`-(Ou8JqoV#4RJi2PTy1IJ0`no1|9qYQ>b+zky*R5{;ZkcYm zZiQ~;?uhQx?u_p2?!4~8?&9wL?it;)yXSQ;=-%3WqWePn{d--|= zdIft$dc}KHdewS0d(C<+du@8{d!2e+dVPBXdV_mId$W3Td-Hn>dW(C@dYgOOdOLf2 zdi#4P_Ri{^+qJ>2`FkF}4ZkGqerPq0t8Po_`4PpMC(&$7>^ zuimcDzR#)8wXdqLy>DjU?7n$@3;R~}ZR*?Fx1;Z1-}%04eRum_^}X%;(D%9TTi=g< z#(tK5_I}QOxqiid<$jfZ^?t4X`2L*!y#B)ey8g!gmj3qsuKu3>sr@thXZO$T-_*ag ze|!Iq{@wli`cL%Z84rT=>W&HhLIPy1i=zpC&5KY?ii%LLX5922-FNKBBPAU8pA zg31K73HlR^CYVkzpWrjWe?s7dpb4Q9A||9xNS}~3A$LOAgsKU(6S^k!PM9!Z@`Py< zW=vQ(VabH$6IM>xH{sxf!xN57I6mRjgzFP-O}IPZ!Gy;Xo=$i-;p2oa6TVI4p2#;* zV4~nek%{6HRVJ!Wtk;^TJJDdG(M0Qsb`u>ZI!}z47(Fp|V%)^Ui768cCzebspI9}q zc4Ga+j)~n9`zB79xOC!*iK`~Ap15w}#)6CZ3siYvPwljFW^WiB6K3 zBt1!PlHw$lN$QidCRtCio8&ObX_D(Ck4fH>{3ZoV3Yru%DScAIr0J8^OgdOU>E@(Q zlm1Oso~$)ld$QGJ_sM>f11E<}4xb!1IdO8zXoV2r{0=+cj}X=&!@hc`gZF3X%f@irWH-A zp4K#N+O);fR!v(wZNs$9({@eUJMF-CDqvr}Ir0oUT3HV!D0(bf@XA(>+Y-vvtG{nFzf4V zj@ewZg=b65mYOXyTW+@cY@6A3vmIx<%yyscHQRS~!0h1JVY4G=N6*ffoi#gWc76Wr zn%Q-;8)i4p{yc|a4$~Z#IqY-X=Y-4&n-ei7dd~bgYv!z*vtiEWIUnczo69>_V6O07 zvAL3SW#-DyRhnx!*JQ5wT&uY@bM5Ck&UK#aIyYo)#oV29U(Dm0r#8=VUc$W0c{%g) z=M~PYn>TUZlzG$V&6+oN-hz3H=PjGJa^9MG`{y01pLb;5v3V!wotbxj-o<%W=3Sq6 zbKdiLzvc_icb*?MzjgkM`OD{To_}Ee<@wj<-<*GE{{8un=0BbPV*cy-?-npFU|zts zfMWsI0-go@3xpPkE|6FtwLo`)+k%h<*$c`R^ekAv;P8TT3vMsCx8UJ|Ckvi0c)3t; zq1-~ng(?fx7iulkS!lSh-fp4mLidH93%wTxEeu^4zA$QG%)-=#84I%)<}R#S*txKK zVei8Jg%cM}UO08(^o7e7u3Wfg;rfM}7H(a*ec`T!dlueU_;lgBg&!7vTKHw*w}t-~ zF)d(RRbCJ&?zeNp;Iu}h?GP747 z7j0N{e9_58*B0GabZgO_MK2e6@$|*B7SCC{bn*JdyB1$se1Gwa#jh8?Tl{hHm&Jb<|6jtm zgn0?;680skOPrRZE~#76y`*o+#3fUfOj|Nz$(kiQm+V&8pvQ&Mk=2Ekz=1VP>S}k>7 z>b2BossGZTr6EgWmnJPuU7E2pYiaq?nx%D18E5LWmL6Jqbm{S>50*ZvU;1?E^QEtr{$IwljCC3NGOlGj%S4ySER$cRv`lrG z`ZAMc=F6;>*(~#1=Do~!ng6nwW%0`rmnAPNU)Hj$eOc$S?qy4sEnl{B+3IC$mu*|N zbJ?C{`<9(vc5c~)WtW#-TXtjF!)4Ewy-eVTA{K+eTCKvofY~k3|IK9h+dJuqIt!n z6{}Y4TXAc}`<0w4g;ol$6kRE|Qhuf4O0AXJD|J_ztu$Y0S-;Y0rSnSHl|d`xS0=4Y zU74{mdu86r!j*L^8&|fhY+Ko}vU_FU$_Xo%ue`SM>nh1r+N&&9S+BBP<*>?mmFudY zRiUdQRz#v|y1VN8YKGN9t94deuC`fSZ@1cUwaaR^)xoPnR)?+*U!A|YW_A7Q#?>vW+gEq4 zp0;}C>N%_DuU@oz$?A=(x2)c_dgtmrtM{!wz53kh3#%`$zP9?t>Zhw;tbVon?dlJ! zKdt_~hG`A!8jdyGYk1d4t&v}&xJG%6#u}|PI&1XSSg&zd7*Tk$z tT$60FCUs5Lnw&LxYYNt^T61vCp002zV^>+XO delta 23357 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 CDy{|q diff --git a/integrations/Unity3D/Assets/Demo.cs b/integrations/Unity3D/Assets/Demo.cs index 78a025b6..148fdcf0 100644 --- a/integrations/Unity3D/Assets/Demo.cs +++ b/integrations/Unity3D/Assets/Demo.cs @@ -12,6 +12,8 @@ public class Demo : MonoBehaviour private ZeroTierNetworkInterface zt; string nwid = ""; + int server_connection_socket; // The "connection id" + private void zt_sample_network_test_thread() { print("test_network"); @@ -69,33 +71,40 @@ public class Demo : MonoBehaviour Debug.Log ("Leaving: " + input.text); zt.LeaveNetwork (input.text); } - - + public void Connect() { - GameObject go = GameObject.Find ("inputServerAddress"); - //Text text = go.GetComponents ()[0]; - InputField input = go.GetComponents () [0]; - Debug.Log ("Connecting to: " + input.text); - //zt.Connect(0, input.text + GameObject addr_go = GameObject.Find ("inputServerAddress"); + GameObject port_go = GameObject.Find ("inputServerPort"); + InputField addr = addr_go.GetComponents () [0]; + InputField port = port_go.GetComponents () [0]; + Debug.Log ("Connecting to: " + addr.text + ":" + port.text); + byte error = 0; + server_connection_socket = zt.Connect (0, addr.text, int.Parse (port.text), out error); + Debug.Log ("server_connection_socket = " + server_connection_socket); + Debug.Log ("Conenct(): " + error); } public void Disconnect() { - GameObject go = GameObject.Find ("inputServerAddress"); - InputField text = go.GetComponents () [0]; - Debug.Log ("Disconnecting from: " + text.text); + GameObject addr_go = GameObject.Find ("inputServerAddress"); + GameObject port_go = GameObject.Find ("inputServerAddress"); + InputField addr = addr_go.GetComponents () [0]; + InputField port = port_go.GetComponents () [0]; + Debug.Log ("Disconnecting from: " + addr.text + ":" + port.text); + Debug.Log ("Disconnect(): " + zt.Disconnect (server_connection_socket)); } - - + public void SendMessage() { GameObject go = GameObject.Find ("inputMessage"); - InputField text = go.GetComponents () [0]; - Debug.Log ("Sending Message: " + text.text); + InputField msg = go.GetComponents () [0]; + Debug.Log ("Sending Message: " + msg.text); + byte error = 0; + zt.Send (server_connection_socket, msg.text.ToCharArray (), msg.text.ToCharArray ().Length, out error); + Debug.Log ("Send(): " + error); } - void Start() { // Set defaults diff --git a/integrations/Unity3D/Assets/MainScene.unity b/integrations/Unity3D/Assets/MainScene.unity index 7b4d9f735a7bdf672248e124e5d348dcd22ab93b..cf749dce9901624c6ac3792ea61e448efe3b301a 100644 GIT binary patch delta 4310 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