From d43d5bdb322bc63afaea5173eb524401b16f48ba Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Tue, 4 Jun 2019 00:09:09 -0700 Subject: [PATCH] Add ModuleRestockLinkedMesh Extends the stock CModuleLinkedMesh used on struts and pipes to make pipe textures repeat instead of stretch when a pipe is extended beyond its default length --- .gitignore | 2 + .../GameData/ReStock/Plugins/Restock.dll | Bin 24064 -> 25088 bytes Source/Restock/ModuleRestockLinkedMesh.cs | 84 ++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 Source/Restock/ModuleRestockLinkedMesh.cs diff --git a/.gitignore b/.gitignore index 44a68bee..a545ba31 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,7 @@ deploy/ build/ build-deploy/ .vs/ +.idea/ bin/ obj/ +*.swp diff --git a/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll b/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll index ffbba4cfc0489c8ce0c8999d48372d906e3b17cc..ed2407b998c5b9cf9a979a0a7e0af8322fff5c85 100644 GIT binary patch literal 25088 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 literal 24064 zcmeHv3wT`Bb?!QkIrG$@nXx4q+jxv040<6yz_Q~Q%aUvaeqqVR4klux8Osxo=E!G8 z#J82uVmvi<^{QCxwROCR}d8g``QZ+plT4Uvk@|iGBaI z_Bk^n*&(FO_w~Eq?bv6Zz4lsr?X}ly?|sgUw!G_ZGKk2;b@nXLS8(UgdMV$!m;^ey z;Hy#kV(^89U(q(du&{4`u9zHg>>(#ToE%IS3U(b-mF33&z{C$yV8&@VVcUHvA&%;C!v~_{5eJ1X$;3QF?3LgM`RTbP?${yw^ zb@ibDPUh;$4M;voq8nSCqB96cWSc~VC%PL~)n`4-)#_yPHV9c(dKee;+Ka2|vz}-} z6)4pOECfC*n@&E8tie226KT@=+ZTy8ofe@R`p5JXgs}7!)M};B(8O?4$hxc9uUjch z#A;l(;7oBTDogZ<1m-4itAgtprbJtUUUkK|822lsC@v%l%>W&YFygdu0jrM~Dd0mX z$P#is2spKPS{ERH(TQSYLvaZZ4Ik=&%uDK6n9wJd)X$j#JFkHB<_jRwl9u|VH$%(j z84De);w9*?WRfx97GakE)KOn2-HRz<)}WXcFJ-9Mh_YUUsdxUG>3^2NUcCcABSvaOGG#9l>jFgYTO0n<&4x*K?sn#0`;YhYwC({AvWrKCb~#ZLFiE9 z+%}W;gEIt-xlC_{*r68x%^(joYmJ8UCS_1aT~!ih<@-ds)PKSHwgl7K%kgPiuwla+LpIVxDAJw>(p3b! zPpb)z_n_T*mS=o5YO6m3E_&)3RDwE&%=Y3!Pmfp!2BgN_og zdkkt?e%y-rQhuHneC%O}>I!p!dyD)?80V2c6bs$eGXE{)Z`u_LDTzCk#Nk-j4q%|W zS|I2LSkSN%^jp&fjan|D5^I{YPuGQ&{ny+9^PZaJdO#!=fd@of4`{wZse8PS)$ott zZX=t7*iT$d)#%Q@@}TVHO#!$L%N4Saj;I5^hiE1^8QlyEd>9wk`Qydz6$sckx~8xu zhZ@V!b<-fMOQFWCE~Q!A12FY2Zad_xGHFD&*&|X2JxjN*N7YE}6|6pf1MW*&%%!uM zeBeN`Qq?EJ9YGqZY5y5!8nhAd;-q#K6{i;xi#If9ol(@0miKY{=T)6)QbSy@Ms#5J z;~q#Mf-K>h@HNF_KE>3skce`?FGUMf8*2H{Yf~6A=7SA=%7)+|<33d$cfk4HzjIta zr@HCmBDGWv8Wd^PVC#4GR4CYN1(ht$1wKrkCuZ62L5bA&-gqE&fU7}2GF+bLkaw;J z8K8<@f-;ASUVt11DQ>JC=N4wm$+lSF!bXu`B-7X#!v6ye>1QM&+$XNI~W0xsxo5ErtH5P=Wl>|2-~5$0yt24{$S#mqaA6}8m+fmQvmcopGq zR-^L<2;51Pmnx;L7pEz`%FJ*?SWAq*I#4!#*fXA>#~HM5#ej{i#fvf0B-~o|UFDz{(H{ufA7To)x5Yb%mU`!Ppxsu^B`ziM=UsqoL~1An>tp|rI)*4Q(+ z!=K!KVSOB1T{Gfuj{580@nzuZLa)7s8;q^Sz7gbA)<$Zqwl?yiXKluawI>j(rXCoF zLzy<}p@})%u;5q1vFQeVoM9VlXsAXXXX2oJF96={uXl#n2&OV{+3>pa)Qsi{bY}yx zkoBQcEgpN9IhsQ)A61IbXNdrHA=V5IPu8pK^sF0XVEWn5lx_;%j77R;C`P126olC9 zJY1F81w@Wic1L8o`c!sjE6uRGC{yg-3JKWmtoI2n#O{})mF+LFe6?YJ6yxgSNRX!F z&&D<7FoxkdYl_JKZpZxR@vVM>A@OFe_~odVx(@?2 z*Z7^yVZ;t}Vj&zA=3~If!Klu@AJvFo_WCxQr>VxcG>ttF zrt2Q7teA=9ijA3-@Z(q&@T+5$HS<^%P{*o?m_IoFaTW+uL8=Xo|Cegu!D`^YdO&de zA+A1*A`xs_7!Rf%L3R8S+z693VOQeE#^XwcnJoxDg?h{PvGoX^se>}yt%tjxTeF6@ zC9`8bbv(nq9~--{+MU$FrLZ2Lpf6I*3GeK+SZm#(Au>1)AE6ft>g)x7VvAJylYp(o z^^jr`N;z*@uVjTJD5^6#Rs&hHr{@KxnvoZ}!T-E@!AITjB_wS468D4qFTu^t3r~^c z1>RC2N@R3>9KmU(J`H_MVAdv5+oia*{}o8}acLRnh6if&U|`%pt)b5T15npJAP+t! zpf6J&=d!YeSi>7Itl@e+Js1$W0{Gu!zNd{_;so)YYapumfay3C_~x6DrgYJxb6$Kep5 zh{L&tZ7Ew=)RD5y2{s<;mvEhREV-u#)KzN_mZE81hQ#HrJ=njwYY)@F z$9}%28+l0f+t>pUvLl6YVal>Du66GWb35aiu8~f)>#41*Gdk6(r?#ouVx7Q9ZSTTlLhne3N)v&vCVZ^e&}Zoi>xc)vNC!eYaQ7lV0%ZH`44;Rp%Uf z0={{H=#=LIQ(*0c-*@{UAKU9*TxW4zsuQgQE!M}oaf1a#Kl(UU6f-amQ=1L;qZ|$^ zQPsz}yen6~{xbAaP~8I+PhTx@qK_{Jm7Iy}$G9t20r78U-Lzak%5ds&U}}Q)AL3Tu zI$sY?v@lh@j9(vmO=oEk6C#f4@fnb|oKTuoOwP=XA)D#$fEnQB_&RZg4ERgw%mKx) zdql=*SB=!*jr1{|$^u2~l6nEfmO~(L_x62NGhWbYe-?w`DUWYK>>=LVbdp zEl8xAV!ry__UF(xu?i$jaBZ?&&&D!}?l4GI38GzhU}8Jr+E7 z`Uu>R{Y4ZLt63=vej#GE-wv|m%^8qbN6`>D$ z@Jt=csQ5Xah83gf46*cc_*SKN0r|YGQy(mXT?d?>Hvmm0tt^3tMBJA1lt=XVLUQ23$^d3%6~@j)`s zu3PYla4-bm7upJ{Q|rPYK(HrhkFLXoNfEZY1jCAS9k?@Z&coc5uZ6gvXTfuO02i+( zMDGb8Qt%1Ur+w`ai((d+AC_{3&x#~yH)OWxdS83cqMu6nJt@a5ZdoSf)lxdrzR5QS z9F|D=6|_WY0W=Y%K#*t?`5{i6{w2J@wCG8CQMV{-9S=n52WYn_Br+_D9uI_QSmX9@ zKr0q~(>NZmXm}$JH|dH%oO(@`_I^;_ zLyw`1(>S=rX_1r#Kaco9lSe!PtVMqoJgUd37FdgJ6>WT6%I}MYzZEzRo{xd&_4Gc- zW6^x$d)7_#1?k%tV~c;ue^iG&a3PBZr0>s-qp;&wYmNu5r;PNv8tv>=In0v1j{nut z=R+^}x0In@L|*XU0WbFp?xGro40z=f4wywiX+TlIeWRB98F=c>T#BI=YSQrT27!(V z_Eu`D@ z1t=Gr++u|nmFv$~Db&x_a=XGlY2IR7L0P@YSBE)YhH{;hgVYY5XU(-JGoaV#SNd9? zMXyAze2eyatrOUiwh5HA7`?(_tMt9r$7AipC>rgl;xm9c^Vev~Ukhs=mGYIy5L$i` z>O|kuC^b4mb5WKwru>n{{1f^C)IB*Xd_EpvK6goZE}x~E;!{H3ztEUNv(DVM>NlhQ zF8vnY_9P5LQ*;m3dX3)eLW_cT0{{Ciw4sKfhh1ou|095IUx;q#Hxhfmr_*VHZfkfs ztl_D~#TPT~d0K32&`k9<9ni7b9u4oG1vf=Mj9dfH&j_UYS(LBpXVI+1YJ|V7`Gn6; zNgNZ16lH)?0)3QL_&@Ip&=oH9W9#$25OujwB>Z__gm$>l;oz5jQQ9ZaF?!7SQ(uhU z??MgcH+>2Elt4-ov#9-2HTsW?mwdBmmkZq-cnLNw38Z9cphwEkW}|_g7wE@YL+q6A zLi(R&T%R$Q&Q{^@s6;-`` zpkocMg@5K-Os|$HHCjx6BhW2~&YuJKk1n(c&=UHE3*}+;rS!{kKOdmEycpu`>~~F# zE}^6g{h!)P0rguT zUYhB%0=*G*F7R8;^hE`UEY0*a7ss+R(>Gk)!f*{J7h`YDJXtTz)GUy)N;7SCaXj}H zYQS008@+{0-Zr_Tx6nl{^a0qYh1R&x%L4Ve&_&2PEmUx!^#XlRASHDR-J>9px`iHa zaV&KUeagkL)EIq@l7*#a*U{(*c2^o5!fL70$5CqZN$dcSi?B`e>Z&D(l~t!N3HCSF z4ZH;2 z6lYbQm3CEDw^Y~9ntnul09P1S4g9GF_NhURt)XFD2eAtX;hMr_;Tpzu5NmZ5*D$Vw z*z?rkn!?5ZhH)Ll4!I836s|a~VO$5XFW@X6L+PVAQeTKNM9WatVnye&L&_d0ua$C- zlxZn*C})EcQ;tbFh4MnW1Lei^I7*G4k@6M#v8mA;#1R*v-L)%F??JA41NC<7WKM=R zkfxo49|Se-HAl*MLb+JVW}$gS`)SPqdPS>^-3o7iIs9Qdtr@|Oq5NshL-eNhFM&_v zt12&tKZC;$^LYuQKSgs;e+J(Qcscy%c>eNo_%CUheuMvY^!iHREXu*Cp&h5c4}`Rp zLjQ`Ei_X(J^c!L;wfjZ>n8s`12@3kpQcU9&@P68AZr5TW=bPH!gm2T{)V4)$(-vw& zkvmX6X&uvY+HT{c+FFskOJO`dI~fnk*{idbe=WK{~WkoY21eLGL)}q z55;}~ny*DddRk}>YL{b&a$1{+CG?nfd+i+kp!SSat50dWY8L35A*T;J%)`+({h&S( zy8`7h^DLfZH5u#moc`UwMo>N**rJa?svY{6zQVr;<&P~cBjG*zYRu)`s2>jQ(@)S5 za~Na&YfTZoUJH)vcj!ENpJ?NRcGUQ~enLA~ds5#k8q3gb2sr38VB|Lv2NppNb-pEdPe(IXtVK*rbqjX$ED>ow1+*TXzaND6Z3$v zQ2XDZ5#t%uZ!%73F9weqJl|S6sqv2Tq;@)ZyTS9l3w%Cp-U}J-HXk%z(&NS_QJ&Tx zH(t@cUpr4bO}9n9X1t-Vi9Kh$qHl{mZ@fu7)8oXmI8I-~Oi$~-=YP?7Q~#v@yT)mK zjrkDldk3ucbI7KFawPV5;Lp}Mt=$*939|jfywKdEKNMJKPHFS}ZTd3J2(+5ZwD0-3 zOi2B-)ZbCF!aNEcZZzL7I=oie-9F+1o^Si*lE@jfk_4QKTDCMM-4@>!+l&?#<-eSrdrJR)VVJV-JGU*pSQcgtLrt=qT26{ zE-2Gf>N<8;23F7}@Y88IIO?<#Jo$}g809*wSvqaRvvD2Y8^$|i>cyBkzP~yfn620~ z*3fqFsG%L;QG+bef^rvKhH^L7q8fS^t$@Vu24$3P1Z9*mpu`yflu_Cb$|$`DluQU9$zExY!1@7$Jt8LmXEE*Ok~6bl^(UW!fO_AHtK}hj3kq>rq?@?K16hEoE-f z-mPR=yKZ%V|FZrzTH9MnJEe64F2v2txw&(HcJM$?p;$`i^PBC#bSY;Sm`adLwW3V5 zvyeSJk{v8%GdrDpk%(WjEj}5zW>AXF}M1os4*x%okD~{yTW1abQ zv3NOm*pw}G|Q=D)%<$P860jK>#5Rr~^|GccG|T6d50mUZT*?-T>;qtN`7{bZPIf4Jm@!vW*l=|!;c?E zo$T^1>K!YVvcs)C+h}`7-&Os+-P=2Mbo6c8L7m&SZ0X+GSJkp}YxnN$-JN~iUHvR ze1=%Fa7noHV3w4t<7xQDeD-h-9eYQ(nMabqDgY>Y{WDwfGa2f%3;S|IQY|nH0}ZE3 zTe8I>Wykn`ZO0xhG1y%kOpoyJ`E1`9D%_WSNC1o= z_i})jNlHxXItQ4c4pQYc#6O*Z_f%B6Azg&DZnO?C;JH;rAFZmI<@quJCpr|REIeRY ze?L+is+i9RWOKw}(2(gU;q}JAC{UY5b5&4Rc3^a9i1l2dK<8b#BAd3-#<^j5AV1cZ zE1kF5NoTUdY3D$thvJ-duF7RH*+Qkg9CMW>k2&jhSJvTxJQt~)Xw;FMeJ;8yTO4$9 zBb+KLNTmkpu_K#LAC_9Ng7*gA?jRHfOXngw?U6AD5m|+T+S9`wj*}icANlY|x=@AK zFG3=SrqAump~aN| zAttNFIe2)D?fhEo#=M;_{aUQM4;7POD6EJ3cVrR&4g;=tdV)x@cX$!R5~ExTtD9N_ zL%4cYzaLpgi2JW2S~P{A&ia)U*0 z-flK-?I|Gi?Gfy94&?^3=b+W9k#)*=wUi-Uaz-e!WAa|6=(-`-khI+GOp##o3>I9q zVCG!1j=bnn_2G~#${ruha8H*;R)HeU0W;Eh5%yl$-(SLSlIi@LX?G!TQ>OULn432} zM=G9=rh=68R#fR>`gYt~IkNe3b^@JUD5Y}+2#cu1c-Tjlb4*#E96PN$vO}Z!w9|cf z#KArft8*D$<%I}YUblMrV4@ZsR*&TWR!>GR5=8%AoQNb?O580a2Z6*KdJmRlC#6!k zn2L`rdl=h5 z*{5>k=k|@sw!q!SyT0u$f9%2ChqHrx(iy65+%Q&#I*Q&y3Bq2x&Bs9WyWP4WA zBuQ)80xGt(0}8hB7FZXLEu;sxDoqy^&)z}dSpW@l9RY-`A8<)<=YCvMo-~YmHQyxO zLQdzr2DI=N16QI1K5V@r#h&o+Imr$5I+nea<%mxEi?T4#*s{(Ed46cbF@zHCo7HRWix| z#!5?W$wL-yr`6ZP`>JWUH@9$b$nT52LGF6j_fnP9shItf&VqXPBPZV zp|_At`49Ur`!#EyE_r*rDA6jj#?Dpd%$&$~8S)X$8G+_)#0z^{3GdFgf`)ySX6Mm9 zL~OwVFj>68fL?>1FH^r)QxT?O+4EI=w*>a!xbY%#Q2awh9!K17ib1-e!k=xLgakM? zi;TYm?(;VyFKv@N)sIZF1NH5avHI{=Cn$Uf^5rF0)BH~0n05!9k8%+DVND^gE##cH z8?m<&wB6^Up6%&zRJ5@ZC8DIB=f}~>*+pf#G-gUIDo=VEtYpgRTsT`H_Q$4E4?$mS zlj*b^>um4g^I$kCI1?~86?q)(=a(&scTQehYS*ceRVMsx?OZJp&y;hYJEIGx%TAN` zp3mL8F(IB3CnZisyhS)r4x{Otgrt~?9ka4o;4J_fQ6=a$_p)^L? zO-x>hT%)OhZ*b=Y0t3sd|6~3I)OQ@?I-q>6B zbMtCtHk|P{iec62$*U-5vFTEtt1IN_$@~5-9XT!W0&xJt5Nj4Vy77Zo*zZ1XwM{+>Z@(?v}vYs({0m^Etf7l{W*t@J{EU6296jsPQ~!CF9*# zjP~M7jpS?P(pZdn_Q{f~HW=RajW>wZaf&DDq7Bcf*yY(}I0s;X3xx)o8zKv~JP^D8 z+53JF`X6LqS7|0SE#N~Do6XfI7rH-bYSBO-fG=cdu^t_Cx^H%Tg0Xlr4R9X7YeAAE zZcY%|;|GOgo}XLdlP7V%mhYxtn;)HBtLY411o}#8gtTa+R@3Ht%|475!EZA3XmoxQ zUs{MpQBr*JS1eEjA10XBP?NN@Xgn8*==0-KK0hSpdo8y{qo9sWNy9Ai$EW7RCf~&W z_|$A27(E*FoAEvKqk;HZOe1O~A>4c;$n%(dM2qi%)LA{gM~_2bPbzM@h;%aqd=12% z9iLi)nLuiE#}tq8EjD>C1c^^w8b8?LkIqMH0GHCi@n}31pL|*==6L)d5b?$F$p_<; z$K%7g1$9H-$z!bhXw)LGd^+l?@3^bZ<34D3@-;Q!(+o_tSY%+n(dGWAJB-e(p8>09 z)odn@a~*O#i;=j>|A$co@!d#e2p=XjDa@yq=@#o8N|&)tD5;)}20UiIHjOUg?~my5 zsnz(;UW4x`pcSexE%1eSD5EB6_^K341!Fvj`JnMZ5xK)pW;8l)-aJrGb+7h^!TQgD zJ?Y)!dtC34Ht{3W7>G^2z=Y~QizNNTJKkXLW6Mpxq%0_w3@0I+wBdU+Y+vz45rEw) zsp+bn87C;<4G@6X@jdaWo{;AglP5h5oJ6kxW(*SCWJX(LdQ+=qwz0`q*g@gb{y;PW zD5^sPKZ;MDhDIW6S#CpJXU793%33=u>OL*joad@-Dvie2RF>yAm4l}SYW)5{JOIhY z;(MapZ)#YO2Vo|(O&tW=Xq11GgMf>#H2hj1==bU96OHeI+~~!K_Qn24ARb{4oV*`i zS@uQD|I-lZ@%ZEu@nJ~H{wP8o3y6>0&!WB-w4hPM$>ignP9A67a$luG;la{vkzP;W z51K)ShA4vXq>m76(NNMr$VCIOsasi~s~Y_HyKwOa*RUMFCm}IPsFY(fz@}lg&^}ah z2ZAJEK+VWc952XSoF-7!5i>%$hxu*}eEG=UU2|5xen;~bS=}qk#1- z#(fX%N@TzCQ1(kG2~&p(_CzB|BpdeI<1h!lzJ=Ny(GY&L!*>J~nsB>=Jqz~}k)$M9 zr9qV{USsz_t~ut0<7xg@HU#oE1Y_{5k@(V4zp0#f(YM|4FE~1g&eS(cuj9K7&!!&EV?HnlC16e1zBYVis z<9Qq2cu^C69#MYNocz%}vvy0o(ZSAX8t-QRYExUZ6Wo2gBvX<2= zS1fB8T%K9EZ1u8C=JI8DfW#uSwJyU?9|1H}%fpYTyiX861j3I|%MJG|z4UR$@ic5) zM{%e;x|3TfpV~@QYCC$ndj0iRKQV9rH#R<`ZRz}6%bu&4Vb_|yJMmSJ;@+$6>{zlZ zd7WJt+S_Fh%KO3M-c7mERiguYcVv6{MQ=8qusR zpTLwqEnH8Q!D$umPlBq(eti3)3$JPL+CqKfCYzPlw}L&p1Waa5YZ|lv1pZ&r0RQ?B zPLF;2bg4Od3D1zuZD+cxaP6MN-%Ue~@IHHum8kB*hPxjnKf&z9Gt6x`o%iFu73Ya< zLi()vk7qcpm_L8KJO1*Dd`y%oHMkA9b>Y&$m7h#*#MYa)$$Ylrtu}ua6Zfh-x#MSA z-Z51O=t=XBz*K`w{JczU+|T92f7C#eC$aowxeece9bg^cmy#?mKhGJKQy@RpLAcB3 zYJ3OQ!|_JHQ2itb6x-3u!NG>laD0N}!#1Dq4gu!pB-L`ZBYA4&8FqoHh)p@m%TI6A z(S`?|em-P7RrlK^qj*Olrf$XKLO(- z5&noQevhW%i4MNhB|TUpBbYBsIE2Fk=a_TblK2%#@@?xOiSHk`L0Y769BEkZmGP8? z`N+qIBG#&B1)}vbr){n*Y+;_0XJhY)*i7A3=B9MG9sPODAC>cSMI$r&;qQNl&ZpDQ p)cm=6XFGL3YJLt`dHV31`au=HyU&RHohVw*;rgGS|L-*Le*xKn?=}Dc diff --git a/Source/Restock/ModuleRestockLinkedMesh.cs b/Source/Restock/ModuleRestockLinkedMesh.cs new file mode 100644 index 00000000..7d241271 --- /dev/null +++ b/Source/Restock/ModuleRestockLinkedMesh.cs @@ -0,0 +1,84 @@ +using UnityEngine; +using CompoundParts; + +namespace Restock +{ + /* Extends the stock CModuleLinkedMesh used on struts and pipes to make pipe textures repeat instead of stretch when + a pipe is extended beyond its default length */ + + public class ModuleRestockLinkedMesh : CModuleLinkedMesh + { + // the direction along the texture that the pipe points. set to "x" or "y" + [KSPField] public string stretchAxis = "x"; + + // space-seperated list of textures to be effected by the length, preferably all of the ones on the material + // Unity has no good way to get all the texture names attached to a material so it has to be set manually, unfortunately + [KSPField] public string stretchTextures = "_MainTex"; + + + // reference to the material we will be modifying + private Material pipeMaterial; + + // array of property IDs corresponding to the textures + private int[] pipeMaterialIDs; + + // index of the texture scale vector, 0 for x, 1 for y + private int pipeStretchIndex; + + // initial scale of the pipe object, may not be 1 + private float baseStretch; + + + public override void OnStart(StartState state) + { + base.OnStart(state); + + // only the first material we find is used. complicates things otherwise + pipeMaterial = line.GetComponentInChildren().material; + + // split texture list and convert to property IDs for easy access + var texNames = stretchTextures.Split(' '); + pipeMaterialIDs = new int[texNames.Length]; + for (int i = 0; i < texNames.Length; i++) + { + pipeMaterialIDs[i] = Shader.PropertyToID(texNames[i]); + } + + // default to 'x' if an invalid value is used + pipeStretchIndex = stretchAxis != "y" ? 0 : 1; + baseStretch = line.localScale.z; + + } + + public override void OnTargetSet(Part target) + { + base.OnTargetSet(target); + UpdateStretch(); + } + + public override void OnTargetUpdate() + { + base.OnTargetUpdate(); + UpdateStretch(); + } + + public override void OnPreviewAttachment(Vector3 rDir, Vector3 rPos, Quaternion rRot) + { + base.OnPreviewAttachment(rDir, rPos, rRot); + UpdateStretch(); + } + + // updates the texture stretch to match the pipe object's local scale + private void UpdateStretch() + { + var stretch = line.localScale.z; + var scaleVect = Vector2.one; + scaleVect[pipeStretchIndex] = stretch / baseStretch; + + foreach (var t in pipeMaterialIDs) + { + pipeMaterial.SetTextureScale(t, scaleVect); + } + } + } +} \ No newline at end of file