From 2bc203ee643035e249bc6db80d031e1d932f2d48 Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Tue, 4 Jun 2019 11:56:19 -0700 Subject: [PATCH] allow for multiple material modification Allow ModuleRestockLinkedMesh to reference multiple materials including disabled ones --- .../GameData/ReStock/Plugins/Restock.dll | Bin 25088 -> 25088 bytes Source/Restock/ModuleRestockLinkedMesh.cs | 20 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll b/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll index ed2407b998c5b9cf9a979a0a7e0af8322fff5c85..07933d32a6a3136ff81bbcfdf591c194d1580342 100644 GIT binary patch delta 5791 zcmZu#3w%`7ng7nY=f37~XXXa-s01b?JVFxk05PBf5in)}(K3hus!5ST5F`=gA<;W2 zVg;fl41%$B4cbts&>8|_EG(vg5=G0)wOOeUu?W9i*J_~^;kWE}zIzGO-AU#@=l{LW zch1Z?Gw}l~et@lgMtt?3rRN&zd$G?NwoYYh6O0W|w=4mOB{Fz!qMQw2=Mr_yNjtC< z=y4Y!2Nkkz1$gQ<0G4QNw0p%!xj$f_Rnb|#9HWSoXUC&?zvMpAmlh0013%X>#3UI4 zBZ}mp3?WCRZoW9M7{KuTtC@0t(9{$4VwRdzAYftQlDK)SOcOx!n+@~DB;oobsmV!N zPD(_LXzP>oh=}O=f)Y#;(NgYD(jrPd|A6k!U= zEtr9oS@4<(Pzt+z05-f9SSd7k9nL#kg9BO&jn?{QnkrQmkr|4aK3K@4e6}IwK@r2m zhy3d;3r=H*B`^nrYH$k9V+1DFTN?ZqmTSR9{Vdu%gez#neq*Jupad6SBTUAnvSFTI zN`4oS<3F>N!m(kexl-7$5{V7-6{+5X&KBIG%LJ2rGVwn!&387`Hd@;75XSMrmuNX1qL}g&*=z7`5HpjZ)PBsep_S4nV=4atM|Q%2IG1i*?Dc6d zSC=zB#bug76x1J*1sUjI!73_iCc2@7TKXHbv7ns_?Vv&@*|OaCpc4&VL0=70u!}bQ zLdZf7;=Fgm37UN-YHe^n(52BQ*j@`Zqe6p)zKz_5FgXvQpk;(csGTgTqZaN&p zS!z(M4Aqywr{vpU%l%PqY~&WGxZWCs$@ey~5tr%LR?M6ZJIU)?jDy?Gfh9Owd{5C| z7=GlhHYRp6-KaKJ;k#W&Nf^EeRvXWQfqPmqza^Oo5vXHfs6bYUtOx1-8j(><_yMsD z|30e{{Lq`&C}Kf~!Y0hy=PTbn3m^o2Nx6)aA;=`g{QD9gN0&Q~s2aQxT#Pe#5|P0l zf{&>T+5*cFhuIF|C;F3&!FFXa&w$tYPt^?A#Ggi-Eu^H)zq)&zik2CWV@tWK1@(+F z3>NaAtI3cG3B-|vGvSvQ`2p3D3D!hp;#9@KQnm$~T*dz@PiMbE`QvO0T299F6oM>& zN4`5$nd}Wr!|+XgUArI0GCqSWLr%31;kMu*)nTy7|0{Ir*km$`91LisT!BaGlO+6;aQ$8-4S>OE1pHR>GL7m@qJ zaVZ=%zeIzddo16QtjS{=^oz)z$v{7-gYEWZmBV>rPp7U9Fc6T{SL)t@y^)Dbz*&zC z3e_nI9PWOnuu z&BNW41O2=GRAl3bb+Jrb`&_uoV}0#xaB^WbUH|~P%#-1(sFc?MWbF2kG+pfJDk8niFdlVBh{?{V$o}f-WWqccnD54v3G-lVfn;@H;-^ZU0~JKw^m#DH zWt2V-7I-?DJ`a|9I+;EX-u9SGp9hDCxl5P_M~JO}m#{N=aHd7 zvbKEKQbd)Sy)j`vyzVk8CLeZtI$2CU>?7tbQ$D;;%uSyU$BC`Ld&e{_A3p8Yses9b zxV@0+3!&KYs7zl7TkvXktu=*kfLNE=7@ngQ!eN(DF@SWZ6ZqX9S*+vQk+$rpH_FwYp``7~CF|n1+WbhmnX3 zX5wuD52ldBjeaSA%aRx47x0K?@UC**#vQvj0gq)4|3TV+9%KIht5BfaCj;GR`X(jF z!V4S66GLicLD$B!DM1^_kDv|1^G|A1bvbq=M~rY7-55y?l>;8r`OwR}mM76xIUInLaj@92l<+^4MMt0bk%{H;sd_FVzJNBcjg?*zeWo7I$`$@Evr)Y%9(=)>4p;^wF#TLZz=5HOA z!9G)VqFUCN&E!eh4s-OYIF@M|VT0JuvPm1^8v~bEg#S2niB+*d!7GR%UGPn;Rx$Z) z)RnQ+p$ztsFUqUfkl+Bmip!2>vuVmDjPoyujGweCQ2Si4nmY}o-pZEZoyg>GVeQ#$ zXJi@Q%2M^kyo8Oh96kZ(twIfdIkc8HqRj@xMdB(ptRw7htYR+;4zFgJNTrs2%Nt9I(!*#zJP9WXV&nWLN6jE8nAM@eF08y906W$B%Kr24*6#hU#`lr9{9j1#E!omAw!!|*kem)Wn`M&CJ% za8dj>ravwIu3X}Ij&cQGgu(^m-0sEBLs_tgFqI{CnqW%3-A8;4a;_~P=g|TW;9Mh0 zo-shADR&yVBBDGY7AP5t+&wLLu^S^=KrW5RPuL%0K_k_LVimu`d|Z^U<@#D)!!{c~ z6E$op;Twh{Nj;H)R=udj2EHtwq6Rjw^}ZdVomTxR>P@y%6WlN4d!&Q#8?lJ&>&d>I z?G=hzPnIU{t(&UJYjlgShuX=uivj3Wr=+3eg4G8l*c%7eL)P2Lj_dtZTxm?dp2DrC zKqWY{Fn*b9fD$ze*1*%+V7x6#OoBCtH^F+uOlU>Sfjx*rpabz%!ZGki9FHgYWH^uG z=_H>?_%QU;ox!jWM(KlLIZV(?;1diz23EiyK(Wdav_h^%x$V z^6bZB(t8xE=keJ6{-YTW^Y1@ak{y1Nzy2szV~Li+Thc4pR+!6wkIxc(?#E|7%V(2V zov37$t!mL&(ONNVmPi~Majx~~twTkix~h8C#L7jp9<8dJ*Q$(8QCri;T@8fiJy>;O z+Oo#dmcx4H!Ds)_Cz1QZb7FfWzCDpTIg7O?Zl7G}_;itO$6rdf3`2`D7Kt|s&5n2K z1&pQl2Cn)TYSk#%@dg3RuvFmOvQQ9-H*+l@eeC$AKvY53X8PZ1>qY>RVAuu&pXr7n ze_=t18s*Fg=n|2U>mBi3dX(99C3a1oZlTLAblKI@z89l@VA;8L{Af@62}$f4RM-RU z_+ClobB&{;bVx*FB{-QM$A+hFaz&k%(bJB%OE0y6;V%=3?Xf||UJYcedlRQ(^U;3d zl)HV>q>F45%~KA|*k#AtFlBe5o{{)LwCKPN*z?gFlUZ0bz8KV(Hrc8MQ}dE_T+7;F zMuB{jz_=D8(Q)4db}*4VwE(en>Nri+WP=j*Qy&b=BwaGrmxd262agX+oGY&=@`O{*ctRPv zeD10pbLV~an=h~Kee+H4CuAA?m>fqNGLqSW)`n?QSgSSTJB5E<+#0F)iZvAI{|hV* Bdba=o delta 5606 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 HR%rbXDqe7C diff --git a/Source/Restock/ModuleRestockLinkedMesh.cs b/Source/Restock/ModuleRestockLinkedMesh.cs index 7d241271..39cf0d15 100644 --- a/Source/Restock/ModuleRestockLinkedMesh.cs +++ b/Source/Restock/ModuleRestockLinkedMesh.cs @@ -17,7 +17,7 @@ namespace Restock // reference to the material we will be modifying - private Material pipeMaterial; + private Material[] pipeMaterials; // array of property IDs corresponding to the textures private int[] pipeMaterialIDs; @@ -33,8 +33,13 @@ namespace Restock { base.OnStart(state); - // only the first material we find is used. complicates things otherwise - pipeMaterial = line.GetComponentInChildren().material; + // get all materials on the line object, including disabled ones + var renderers = line.GetComponentsInChildren(true); + pipeMaterials = new Material[renderers.Length]; + for (int i = 0; i < renderers.Length; i++) + { + pipeMaterials[i] = renderers[i].material; + } // split texture list and convert to property IDs for easy access var texNames = stretchTextures.Split(' '); @@ -74,10 +79,13 @@ namespace Restock var stretch = line.localScale.z; var scaleVect = Vector2.one; scaleVect[pipeStretchIndex] = stretch / baseStretch; - - foreach (var t in pipeMaterialIDs) + + foreach (var material in pipeMaterials) { - pipeMaterial.SetTextureScale(t, scaleVect); + foreach (var id in pipeMaterialIDs) + { + material.SetTextureScale(id, scaleVect); + } } } }