From 4ff743ce2bd5a6d7ccb3e2ccfd44ea3097037077 Mon Sep 17 00:00:00 2001 From: tym <653291656@qq.com> Date: Thu, 11 Sep 2025 15:00:19 +0800 Subject: [PATCH] Fix UI Shader --- .../Properties.meta => Editor.meta} | 5 +- Assets/Editor/FullInspector-Editor.dll | Bin 0 -> 326144 bytes Assets/Editor/FullInspector-Editor.dll.meta | 30 + Assets/Editor/FullInspector-Editor.xml | 2555 ++++++++++++++++ Assets/Editor/FullInspector-Editor.xml.meta | 7 + Assets/FullInspector2.meta | 8 + Assets/FullInspector2_Generated.meta | 8 + .../fiBackupStorage.prefab | 41 + .../fiBackupStorage.prefab.meta | 8 + .../fiPersistentEditorStorage.prefab | 41 + .../fiPersistentEditorStorage.prefab.meta | 8 + Assets/Material/BG1.mat | 231 +- Assets/Material/BG2.mat | 91 +- Assets/Material/BG3.mat | 119 +- Assets/Material/BG4.mat | 139 +- Assets/Material/Background.mat | 89 +- Assets/Material/Button.mat | 103 +- Assets/Material/DescScreen.mat | 115 +- Assets/Material/Elevator1.mat | 91 +- Assets/Material/Floor.mat | 231 +- Assets/Material/FloorAlpha.mat | 256 +- Assets/Material/InnerDoor.mat | 191 +- Assets/Material/InnerDoorGlass.mat | 115 +- Assets/Material/OutsideDoor.mat | 103 +- Assets/Material/OutsideDoorGlass.mat | 115 +- Assets/Material/Pillar.mat | 91 +- Assets/Material/ProjectiveLight.mat | 100 +- Assets/Material/Screen_0.mat | 145 +- Assets/Material/Screw.mat | 231 +- Assets/Material/Shadow02.mat | 115 +- Assets/Material/Staff.mat | 211 +- Assets/Material/StaffLight.mat | 211 +- Assets/Material/StartLight 1.mat | 82 +- Assets/Material/StartLight.mat | 82 +- .../CinemaDirector/ScreenshotCapture.cs | 2 +- .../CinemaDirector/SetDestinationEvent.cs | 2 +- .../CinemaDirector/StoryboardEvent.cs | 2 +- .../UniWebViewMessage.cs | 3 + Assets/Plugins/FullInspector-Core.dll | Bin 222208 -> 244736 bytes Assets/Plugins/FullInspector-Core.dll.meta | 28 +- Assets/Scenes/GameEntry.unity | 2560 ++++++++++------- .../MoleMole/AccountManager.cs | 4 +- .../Assembly-CSharp/MoleMole/AltFISettigs.cs | 2 +- .../MoleMole/ApplicationManager.cs | 10 +- .../Assembly-CSharp/MoleMole/DetourManager.cs | 22 +- .../MoleMole/InLevelMainPageContext.cs | 8 +- .../MoleMole/LevelDesignManager.cs | 6 +- .../MoleMole/LevelEndPageContext.cs | 2 +- .../MoleMole/MainMenu/CloudEmitter.cs | 8 +- .../MoleMole/MainPageContext.cs | 2 +- .../MonoEffectPluginSpeedSensitive.cs | 2 +- .../MoleMole/MonoEffectPluginUI.cs | 2 +- .../MoleMole/MonoMemoryProfiler.cs | 14 +- .../MoleMole/MonoNotificationServices.cs | 16 +- .../MoleMole/MonoSettingAudioTab.cs | 18 +- .../MoleMole/MonoSettingGraphicsTab.cs | 296 +- .../MoleMole/MonoSettingImageTab.cs | 10 +- .../MoleMole/MonoSettingPushTab.cs | 32 +- .../MoleMole/MonoStoryScreen.cs | 2 +- .../MoleMole/NetworkManager.cs | 6 +- .../MoleMole/NewbieDialogContext.cs | 22 +- .../Assembly-CSharp/MoleMole/PlayerModule.cs | 2 +- .../MoleMole/PlayerProfilePageContext.cs | 2 +- .../MoleMole/RedeemDialogContext.cs | 4 +- .../MoleMole/RemoteAvatarDetailPageContext.cs | 4 +- .../MoleMole/SearchFriendDialogContext.cs | 2 +- .../MoleMole/SettingPageContext.cs | 2 +- .../MoleMole/SignInRewardGotDialogContext.cs | 2 +- .../MoleMole/TestNagivation.cs | 2 +- .../MoleMole/TheBaseAccountDelegate.cs | 4 +- .../MoleMole/TheOriginalAccountDelegate.cs | 6 +- .../MoleMole/TutorialModule.cs | 6 +- .../Assembly-CSharp/MoleMole/UIUtil.cs | 2 +- .../MoleMole/VentureDataItem.cs | 4 +- .../MoleMole/WeaponIconMaker.cs | 28 +- .../Properties/AssemblyInfo.cs | 5 - .../Properties/AssemblyInfo.cs.meta | 12 - Assets/Shader/miHoYo.meta | 8 + Assets/Shader/miHoYo/UI.shader | 114 + Assets/Shader/miHoYo/UI.shader.meta | 8 + Assets/Texture2D/Footmark_Mei.png.meta | 74 +- Assets/Texture2D/Footprint.png.meta | 74 +- Assets/Texture2D/WaterNormalMap.png.meta | 76 +- ProjectSettings/ProjectSettings.asset | 503 +++- ProjectSettings/ProjectVersion.txt | 3 +- ProjectSettings/UnityAdsSettings.asset | 11 - ProjectSettings/UnityConnectSettings.asset | 13 + UnityPackageManager/manifest.json | 4 + 88 files changed, 6135 insertions(+), 3889 deletions(-) rename Assets/{Scripts/Assembly-CSharp/Properties.meta => Editor.meta} (57%) create mode 100644 Assets/Editor/FullInspector-Editor.dll create mode 100644 Assets/Editor/FullInspector-Editor.dll.meta create mode 100644 Assets/Editor/FullInspector-Editor.xml create mode 100644 Assets/Editor/FullInspector-Editor.xml.meta create mode 100644 Assets/FullInspector2.meta create mode 100644 Assets/FullInspector2_Generated.meta create mode 100644 Assets/FullInspector2_Generated/fiBackupStorage.prefab create mode 100644 Assets/FullInspector2_Generated/fiBackupStorage.prefab.meta create mode 100644 Assets/FullInspector2_Generated/fiPersistentEditorStorage.prefab create mode 100644 Assets/FullInspector2_Generated/fiPersistentEditorStorage.prefab.meta delete mode 100644 Assets/Scripts/Assembly-CSharp/Properties/AssemblyInfo.cs delete mode 100644 Assets/Scripts/Assembly-CSharp/Properties/AssemblyInfo.cs.meta create mode 100644 Assets/Shader/miHoYo.meta create mode 100644 Assets/Shader/miHoYo/UI.shader create mode 100644 Assets/Shader/miHoYo/UI.shader.meta delete mode 100644 ProjectSettings/UnityAdsSettings.asset create mode 100644 UnityPackageManager/manifest.json diff --git a/Assets/Scripts/Assembly-CSharp/Properties.meta b/Assets/Editor.meta similarity index 57% rename from Assets/Scripts/Assembly-CSharp/Properties.meta rename to Assets/Editor.meta index 71d1da11..60eecd71 100644 --- a/Assets/Scripts/Assembly-CSharp/Properties.meta +++ b/Assets/Editor.meta @@ -1,9 +1,8 @@ fileFormatVersion: 2 -guid: 0ab42e016d1c1ae48a0bc2938df987f4 +guid: 196a32b5a66d86f4994f5517006e9d0f folderAsset: yes -timeCreated: 1749670530 -licenseType: Free DefaultImporter: + externalObjects: {} userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Editor/FullInspector-Editor.dll b/Assets/Editor/FullInspector-Editor.dll new file mode 100644 index 0000000000000000000000000000000000000000..d84964b5e946233178fc6b7f22afa551a8774393 GIT binary patch literal 326144 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�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 sODXKv)%-M zAnp0+_M2#rM{%jQ^W1d2nf+XO9w~y>t>qI4qZ5WD4v$i!y!v$NJWRJuMZU@~<*~?b z8($HQ$onJhPV`V4aJ@FMt)vaR&2S-zK>&|(&sBz+CpZwnL1)@Z`9Li6Ev=HJSc)i} zrbVzu$m3;xk>d{1j>9~)oM-1#@{`=Ln2)Qm{{pJyl~`^xnUaP#-|*kFXl5d73BT7FFXY2F`T6$JJdv-8%?yDR>iMt# zKh?BCuSCjEGS^F)t%4|wm-4>;|4ehg*7P;6zO_GZ6R#K@@Q1PCZ)|65jx$=;qrYGO zUw8^Kh1-8yKc-W+e!tI%YR_U`Po{R9vd7;%D%QEulmpuN)_y$7bL~iy8SnP9j!yI1 zVZ7fqDj?jFyUJsJ{p_~VKuYLFD}c=GM`qqdQxPwKS zJy$c0ga&v=ezigE+e^cPT#bGK_(PG0q9JfM%3glE{1lxSAH}{~k-|pWyPdWfH5Ly6 zm_*3n8;!5mY)jFsOHCiim6Y&W=3u^&%&#w{YLyPLcBO>r>!rw-E#b4VPxHCfmlgOn z>u@bUP7IR(migapTK**Ux2yK+|EmvH@jMoDAU=e2?`p32Vhl5AWJIissjs-UP+EFw zKKGvH?&Ze2AHu}gclj#t&II}^ZwgPBbC-L!a(WV$+X_;E1ULh(&WINm1YFZ zrtijD%Q*0b^z7SOW*)4}u5Ni0@9c3iX5S{6?=x0?X+dGz_M41l9wsAq`>Dgv*RL8{ zv?PR8m`v}`{15Z{?S2-2hzwYHQyDqjn7Nb#ZU6cfRS%Z3cFG<|e!}M8r^l1c$bW0g z2JSj%Xx<_DJ#Rb(LR8?q(V@NFf#8R?a@?IyjeaBekYHyQZ?|dXWy%;!Z^zQE)AZq4dUcaNKF)jye|yvC+x#8P-|e(8)3lBTw=qUEHl2~CbG9?Cm$`=f?~pJuVsnkt zhgQ=o*T(Z+x<&Bq9df`$Gh?S|_3New_8IhMe1`HnmvWENJAwUGS}DGJmy)3=J$ceb zq5fQ7%zIJjNXkWIdY`hlQkT5io0MWxz(t;2OAl7kpOMsXnwW*K=o>ye%hf>v<~gcwIQ@T;QG1$C#rC(E zzoCrFT;|FQ_vgQucq~$4=BydaTtLin{=Z0VYq@hT@5qMnL*f`o4f}bwkWuYVEep9{ z9kVGLl*6xmmv;zjR?9_J0j45m`BXlWC$TPG9<*;y^f@9Nx$5fAR*!z_zqKKPz?6WnuVzFBQWkHqm0SO9-Z)5) zNdma3uUTC-$o1uJNR5?^E5Xk`&wn%__T_V}IZBCoUKCyti`*Ow)7m#$-1mlJkkNnU zQMLj8bDfqJvU!y2eHqu?^adRgGBlPpm3RJWyUV`vMcCJwjGs+$h(g`*)54MT{xtIJ zZW)iEv<2#GQ{ztaqh>nqQA&V>_NMp9ko3=|Yd4c{SlU1cwuY+#A%@`kMU99H`{@KP4WBHI@ zHI}l>7aoDQm^Ftj*%Q**`7i&+tQYwd+R&R?U#0!{bKmBnpok&2&ZI1Dn#qsod>}n* zrRwYcKgm3HJ5EoP)Q zBkdO{*0(32i|dGr;W|Zy)5b5)m;OvIgW`8VC_%*UNv8+d*L2|!sq@js?iW+I-zLhls%dloXoZZjA$Mmd`W@%qF za)>7Kt?`qUMORjQ_+Qr9-IdYKz<=KBj5Ll!av=9CHQQ;mu$Y(mUCk>#^{c$LoqR37 zv$-FZ_oa0tZsqx*@3F>W5d20P5ZclG`v32vxvh8}3jUe>eVZx2ZSB|pw|4}6x%G9< z(|6d`blUi7J6J9K`17r1jG&}+)B9)z9P_&?+I~dXkK88S_xX!F1vh&bBH-cKz{k$iyWn8pP zu5B*96#v@x%I;mCo{zRP@_(ME^nWU?ujDrWyc?fNcY!Sci*I{=otoa{ z9UNSphbbSXe4M#7({`R&b?2Gaw~-`cc$N3|T69ZkOS}JnE;HGpUhh*r_6I+V2i5u` z;)}<5X9b@`*5CuqOt{TG;z(L>HF9J}=USfZOItsWb0LTtNuJt7o|8?+xUu>5E)Mgt z{29#;<HfrJ=2P#~r-Zyy`3Sh$o&+%*h&F+2eIGaz5e(0~QVQ=!z&)5Gaoz_ZSa&xr{3g9Eq)V)qfIiJP?U%lL#(@Z;ucGLKaV>gKe+7$^0#6 zF5y0Oiul9WV=7=_*)W4|aGU2GyNee`(w8DJFJieMfXA6xxZ+sK5vwA&yht5voVhh4 zyJ=79Q|-JvBXpSk{;e0w&u@8Y-TCeY&9z1)vn~|g$Vmm+KVYR z97*&9OZTaI*PC%t%3glG6N!lb)X`n{=65o^S00&MPXDcVT(=L~(S1*UkhYop&Zh=g zn38$+?OhugWoNE9TV*Go`T7hSnT@d=+DLwAyU~1plNRt2@Ktco`Xd7nDcP;*{MvVJ z9Uf;rj;A-yLU2wBYLOFaAYpLHqx{-1J(Ew@GVi-h3)}~Xfsa@J@6M_*^8V}M?#LBggBdt!C5Wp?o4{hUT2+ulhb-P2(AFn9)`A$9774mww#l zy;aeUX!~DQ`)TU7uV*+T=5!ioP4I-}{(AH3G@r=~EM!ceQT(B^wCGLRYM;+i#%46N z+0&ynJ^`~bf z3^$J4?WEVdtc7L<+L>toTW@qxH$Inlg-ZGMqxLTIwv*pisq?ha01m@?o8HPqz{_B= z{b}V!`u!%?pi%HyErl+<&7JfO+`ca@dzL%NYi-&c$@8?un|yA+rmYV*`TI0aK!U~V z2O0Cdv}+_StA0Yn%};UJ2hs;Qotr#M_uyFZc5%Fn*-W0lNj<}P0_*o-|8OPGmi$_G zGwF@7aLAUiXr;rq@091_5UtsiYM&tS*XS#LaV@$NnyFz9%YQEF@B<(Bz(1uH=f#9d6kF#ENwH> zvw6yQW?ZIRQ9G~Xy&U~ue)m4;5B)Nm zc0iXMy}y(8oTXHH*XBXo<2R|p*4kRf{D7Ubb3Nl@W~~zzekLXRb{;j&Wqf3}StYf1 zH3Ut;MxJN%+zHncJL6Tt)7raT7db)#p!0QA%3QBSBFwRULH2}@WtvW0Yj^u#?!uiAPlykCQi{Fp^t2rHqqNjF(WBX&9Mg4HmJ`@elJs}qp6(}M8;Tp77&wp zJ}uyLLw_9S;oK9EbBiAx(s&$wD|tZ9lb7W=x!baNCSIkJJy^yvXil zq>dJF(5ABk>8tCsl!h9JBsi*r%soljyh8GcQ=nZ?uunzI`tT-w==wQMA!OU%rR{pt z`lsRrk*h;C$-4E0dnLasis5rzM>3ovXa=^@3cCsW8wtWx!={q`Urn#yrTsQ4zsTH? z*7v#dVNFXu7$0yjq=4>Ee+BcIC z;R87ZLk=o*_GMkkgcMlzaHlqq!>jTg{WW{n)=w z({M7zMed$V3&pY*d9FV*u1tqFI1k8oA&Qb5y1JiI?b_sh^Y(BoNIa%HBvs4EjC`cp zt(D2N`cZ@;%L;T5lsxQmo_LqnSGmvm9?rA0hqN!RFzcst4PtSdnnqKOJp=eV z{NtHCEkf8#o1I%HkL+00u76KY6a%}YQ*^Cf%#~I$>;FQ=d^+;5n7%pI)`74+Sp)qU zF<+1KD9^AG#>jEg?3I%}#Rsp`0;>#5$T=l-L<9t%E?UdA)}uR1X>c4*`Z~R%JST4} zzL9_DN1W!pSoAbws>im7=mm{)koMtlViXOhy;|Cn`CQ5P&r0R!2~b$g#?BK<@8oTe0!it_4=Q^y_k zq&4!GRud1Mh3;xH?`XopKV=fM5$of_^?IFaybaz1j}=dj}g zBpvuJulQBYEWou8Bew1S_&-Z+Y@H$GzzDpek1ZyT1nbp~@zSuE#1J9p5Mhw;YjM%` z(n~SfyYx?lVg25wOfiqWKQeAuP*xWm!{R%;>{))vDAaYTk+toVec8;nBWn1y>nXvi zI7xq;n@R6OTyIjQtOd`Pm*QJsuTwVUdOYKR4KbKaSKO1#k!lf5C4tXB@5dF+xNqIs$Al_drJXQl^uP z%@xLx(R21uF;C!AVm%Q8+2fbUM>;SELx`l}afu50QUY8;mP%Ant?T~hhg;LFx9%Jl zat(Xywv%3?|MVOe$zBY2pLld8qk|!OkkL9!JNEMAZPVUbOS748d+&{dorzZ|YpH2z z;SC?l(^gtsUS?lGVwWH<l211+T4ufz+rqXj7$riH=L`qmbv8h;}VN0pks1WzAV@5K-OrQgWQQn>DWG>J!$l~ z^NYmpb~@m<@#~$AyO=uo4VB|0g(62;Aog4&?U+3nlYC-##gx62WyE52T(Y^sq?&0) z!KtPLP49W;PC#YBjF|hySiB~<;#{udC5j!Pf6o0C#Vw}24!RQM@J}2C=E!9uyqvi? z$}7kUWJGMUl(`et&_{1lcdea|*Hz*1r>UE#@-k1^pLr1p5jXmFQMigx5f@da#CRHW zUZwa3XWy<&Udno|(?t$z(a&xi&E|`m99qU!pQThd)p$yiRVFbfxnn3bJ54}to^BpY zU1W)sw*%JM>^Hf8IX&J=@8QbU1dbwq+oAnz^=VqOk*kv_m4_}q;G;tXjiG(jw(s(E zco_Y8ayn(n`YK^ASI_f9o2k_aKARa!NB{4nh1TMBTGF4fg5{2;PO||K>2F@k9LQv! zq?fqpFH#F{#m-bL0TH4$!yafDUdLJfTI&vM8p=J3=`)=!OW_L%#`0s2_gwm7KL|Z^ zm6FN}>Uw8zhRa+v9#%XYjlB6vYk^{|q?GMkVRhvqoCx7$8vDQCL?bCpq&S>A z;VNX?Y1xoMtFSaM#9wr~m6BnfeBy!hd^k_DvE!L%{xs=$n)~4TCuzO>Z5zMfo4`XL zN=~pa|BwfL?B4Y??`1R~5i}AT!?r(3JM3P&kG}c*uC{vUy(}e9QEMyWUP~YBtN7NI zi78lU-m+&g6=Ah6ns;Ar$=#OnYK;`%nU1CxX(PysvcIh~n#nWOy2X_7K2ph_bM+zZ z_^Ipgpsro8(@#XJocng+Yg!0Loz0rGS6G&2K4T>cu~K;<`1y1NA80V`9gKuu73r%pxv2jg?-^lUMmGO2YsYbYfx=B~cf#k;`2vd_Nw*Ef+L(f(QHXt0rlle7?;Nz=1d?EGj-U(fou z$xnag^JT8y=1DAUmd%a?I^Md3birHsk#wz`w0$`asI_u=D%cdT6ss3g3o~mr^+Gl6 zak$Fo@K)a2iZqh@1lB=}R7v=co zR=AD4mdrqZ?!g$waw1uGz27grx2kE=S^=BQ^E^@d?b}K+I{ld==T_6SJaI^}cz`d> zcFPaTXPoDgjf`|(dLl0@X6M6T9~Ea0&au+Wz)_w*&xo(4uQF~%)NT@`lSf#|^YlTy zYu}JqmER+#hp+I_W-(~{|bfzYM6qbP(0cFIW5ko9y9G&am*NnLxU62l50}q7- zlu>s;yez@9)N1FjXu&&p@o-+z)iu73b`hE5mh7h8P8$(T;SjoaGdk#hR5(bn^&)HdHp2xN#qE;4l9yB!?Qaz7?0AMI(L(=MK(@8fVr z@oD;5V_thK#h$NHdLeyhDc$ZQyQN6eO6t7H9O8e`B3MUI9!R5B(-N@2p+-(>@0F8K zAqQmaQEGDn%DYBB7V@kke`O_c5)N`7w2`J1!;R+^7Qt3}$-AVHcu&xTfsEluTEW+( zt6{Sw+TKiA8moUIwPBr@dFV0rnXIav4g<|-Zl@2%4$?0FvX>F`#bXO;Grb3SvAaQR zC(Ey=_Bz^s$y>(1q2Xn`t*gsCx0QRzAs-&)su?=08F{IC-;1%;o=<-;{$!uUtK zDF@2WN@9)77(p}(G|76$-F|=_EWEz>>_vaI{ARdP5Dml z!E}@v!!v}*$TdP&_=PkL&uKKT>@;Mj@F*autS4S7tZOQ-ifJLML_3{iwCp|J%#+*c z>AO4u*AY!Z5BJj|2uDxqhVWpa!jEvoWi$qJm5(mNNe|iUIiC4^+06TJTC^PkD8+X)++zyBreqr*^&XM`|ENSLq%9iQdKl zo5?RrLpwch#$G0g7t8Cx29ST6PhE7>S;h#nh9^KWlKaoJkQ8SjOH1Lq^uyV+n-wTDd~GT2XVkf`oa%& zawZmywqlD`HPSP z-h-@hUq-+aE6v!*$CGe~&`mS`G!NbpEN?EYwZ7gr<08J*1B?#$i@%@<=eahJdr6n? zUbxH%Zm0Bx{O6&t8^+{G=Akle{8fAXaRt;Ow*}u=N?YZ!#Cx=)Y>_>`GMKcH$X6y@ zhL(4YjaRvE`8c1-_KGiHzmRoVXN({yi?0yTebYTxA!tCw%W%i&*&u%G4iZrZq*UOmgRa@fAm(<(d7Gq@WUdCs^D<+Jj* z3khQ#MZ~_WROakiQyXRgt>xTIQe}Mk)XTXK^0V5E8cp7p)?oC&rp7YTB3b7;3^h+U znbOxmOr-UEWGoPVq1nZ=;QiI!=*hGXGui6G!LsjP^otKe>fuxBAi0ny*#MUL&mKwXu;My@q$hVTWoB76^UE62b*upV zRlc9!V0a%QBqS$*xYN-!x+F80ydKn~V&e0d2<{$7`Wm zWzNLleppw&{%G!4O?mQxPzc^b<<;PAm~3bH6y8owXaq682nO%wG{0;vNx911@?B+@ z_#$#sZ&HsnIGDM)$`8NvB=5u)_N#1UB(8G>rs@1dujpu4Hf{h-g_TRMSv^+wMaIn8 z19&>}Z*)U3$L!js+3k3DMsnF5C)VQ49j0|MTC~J^`uQ>=v(?O(j0m1NZhm*q_;llkfsXF`Kzx6i-{vXv$V&Vqep2oiN(8s3tXgTr;Z-y zKP}?>aUqwmA(;%jUs=P;v`365k`l+#{Uq`#eK^aS!{)Tl1}oV)xv)Nrr~b^1ub(6r zg{}F^?(k}HD0}m{@7JVF@b>69=p4Qgo}{>o{n^UBz6?i>oW6p_vW0vFI&?UrWL?O( zVLl&ccIg8w77;N##8-VdH-~0}!$3Enj61m-!x;}7f?z%K&Bzc&3Z#nHc9Lhr5GN^1 zPK%b}A+VqCa!r^%!S8 zd1g3cA!|97l5sNRXK-}rztgmVCu8pMX<=gLDMvryN-XM&yz6VEh#ld@Vb4kF^+GP>`R}ad$h%IuE8Ok`U7#JlVmdN-LYFu95j*z~Kt4+P4SQ>aS^~xEPjl)zMOu6#?a;{HPFK*U)JvX7Wi(Y3WG~D1iQ7bOAds7rvqT?FjtK6v0T4MYhVDZ{Ij$` z`BsTcD~&7fEO+-drIXsSPmj}ganM3q@jRbwH**N*b#6cOhIIVlzPO#hz-V8%I(qejOh`Y=O-o zYCTU2`TL^Y)wEp94wK|liePyxa9eSvU9nEboJy&?`HU^HOL!=+NTUdw&2{2sPwwKS z*ja!i@P48ePK+(i<;y7F} z$Pr$jc=jUg!~_%7vNd=GGQRW>zaH*LyN>6_%7w`A>vz)M;e7rgckwY`=`=4S@3d)~ zSV|rcj>Fcnb7aeC8;7?UVL3w{IlN590V5HcOlFY|7E8jaF-h@Ye4BywLxSx+T+P*< z)U%i#VA;wyip_CkA)D1R492y*6FJ}pVERALdq|{ss4wq#a$QE?BK^Q3I?vrWmL$uL zC!di@IG)@Aw2426gXlCPqrg9a3lBub_EH|s9SjHGx3D(SPnU}}Y4Yog7kP26Deup> zJn$qh(lVl=ktn;W9z=ly%3W( zX&vcX%X>P%Z~-_i=`?En`7d8`-aKtwJZz=c*tE2=P9u%JdzF&Z;0fL7YPx2JCjgu0gtedB8VY=U0+i#xfMh8r7Wv* zHKo|q3)99F!AHSf_a(2d^4w*v!J?k#4p=;$%g+#-%NLS2$d)LWZ4}Y1WhP{&a<3wIQ7K7gSH&1s zm%Iv%&Tf-ZzBZKRWz$cZ+1T*M57QQXm#2q4^OR+4VaWDSiWu3k!?X}?;43a?Ql2?u zhh&6%QnpMQ#6($`wqq#^3&I@A>c}XHYDC=M(S_VMG{w$oD1#Z<$XK4|wcWUwlvorP9(oGlG(T_` z@hrcTUt;VaF5-K;WniY_ax4#sKZd&K?tMlcMst|HX@#s0)Cs0Q-ejGe-np1(@VG^? zqNJy(g}2Wx-K3__0SDN*W2jOIn+mv~omSK6&^RoL; z6ETS#9xj5_WgXC1VjYpsn~XE5flAr;DqBD+Kps}}G^PYy2*rd4hz9%9ZV@HkGCcu3 z$2qpo1`c|XvE=*L$r#WS`FUJMnX|Q~F42nXShu684@!d*-J5=k(P<}pdS2!!9=Nu` zwIK*jLaZ;ZmAQJHmKaOB_ULY?G+bdXHTnWtS&Ff|k~7&!yW~RX1kz(%oO9{K1}He| z%v+PKgA3A**t@(mGh}7JLyz;c5+G!dK4=2Tm+zMQlDUUD@XJ_Z7L`wBPwYuE-`0ib z!k!yzN6($Og8TPAb&0^SGzapeY_ZsYzQA{3r!jwCWL$W$xWH;U$sO`&&?N{kl!|?X zK8$9BeeW{%=}eyHL6P6Wa2}<#8ySV0jO*(>V@9v?DRh>!^7SBX<{f@+UkT){ICrva zG@^V8D`=#6`m#1SAtE}+lT%2shvCs8IQa`>Yo|75Ka853%Sgz$%Iuz`J@yj$(qP~5 zf`uhJgS~;Lfcq)eLK5)fuG8zXyn`7F(X)L?_z2KNTx?m1s+WF#l$ID}*#&F@+IKwn z@;IQMa3Q=cr72-{g}P++Zik=pr6&J*Lg z95?b{U*t+Ne(;H%l#k`SoL0$c8H38ziZJYl=SA?uW>T&k6^`@!X7-(FXkU*VNUP15 zi!{U#_WJHL^J84aGduYe9bvc~rqz6UlKD7Sus-+%uts*usdvCDV>; znN#^RSNJosvzWzv!P(qNa%A%C8lcTD(*l`1_>^^xFN{Mkn~K+9RmfgJHteDm&Dzfg z%{xqAtSde#CXbUU@EBg_9j_DSIiBZ_GX@ymcp7{t^}>{#dBJzF6T(RWVq<6>RKmU+ zS-6X|;BBtU5!shY1B%;tUD$@$QayQcuIVqPpjl@b#L1W{yfPY~kad2B@y3_L0D=gQ z=WaVf`NY0)@HBtzo|63*YvIRZBFX%*i(*xXomDIA!Fv?{Lp!jDR`U5;Q_gWd#fIVk z^LL7E$se`4;D z=^}aErToePh)OJ2 zWrt|liVu0#EZ#xWM(fz_3i=xgX)ml8c)Tf{wTI8!$$(XJmDbpC1?6xm5Nl#@hi`U+ zPu2cE7T>M}IU&*^PM%EfPBRjuLoV0M%l3)mVK5?3Hpb3BSRXIO84>(OyPnP8Xj%hJ zhVkP;K>m2g?1~7D{klob7ilXbM$~}229H@y9pd2Q^r1h0VIk}-`K52{#$hSgVtEAY zc6>uf>`F>m$hbn2;AvKaxnE3M_!4B->X-N9bBR7^Z@xQh+{xcJc?N@pl!%02iu`>( zh}c>diFfA9&cq(D!(t5>A18tFg2^RJM7%JbI@U8*yeBMR(FHGFgv8#9w8*s9J;G9SyZmU`(OzJz#51SuoTg27jnBJ-ukJT?B7%&xgFya!9>BJE^}WJs}b*newj zEPd%ueNK7ffr|e5^*liA7JEF{b69{`gUpDZ_H&Q>ePbw0jsNi?e=+Rl(q5i61WjDH zoih0PV;KqfH2c4o8trhSGjYazPrFrZKb4(!Fb&df29?p1XV}24+>P_f|A*z<5o|ZA z(K>6!8Jgns1}vECw7+(qucz%0;+_1Zd(TrIoL5Fc)WG|M)(@oLIOo3200Kq(nNi*i zpVqk^>=nP`B&A^*!pXK1#A3J}CQ-kNCuO*)sl;T?=#|)RBzfHo{o#h+-Eo2S_*` znLPwNEto5Rax){&n%T<*>pe-SvWk!>=hV?pW(s;{93V&54c4RRx7C7tGX6Xa(mLMG zXR>n89E>=T=hO6_FNa&=+jOyV=x=rh>fD!cf$y*_aMxmU>N`}QKIZR}YgmaNxaURs z15@>ljy7&vxvtTE0#|#2O>Y7-rxlFwSur+)*oz@4T44`F0xT0%)}}1&x|Blb}E&c}3@9s?c@#Z!G5f^or(ZYsKc5`TIIE z$AZWJ>l+WAhrl~ zm%K9R`r<~)vCE9&4BBPFe}=%DZJ7%Z?QKdjA`n=kHUM}3EUV<3FqTHeLu^+qGA!{dhVvd;S96|JZmp^uuxX1sb#Uf;#a_qLne zu4J5Vd{K;Ck_{7w!Ea|a@e~fzR^JZ7FJDhvd3++#%hbWElrgpQm8Xe+&+_oCVVw3D zTLJcX@8%c37DOWMW>iM~}{y0B!_#({J^jHs^XFig9eU~kHK21A#rkFM5 zL&!hcon|%59P&8q>|$elGlz9A$3}Z@rCcYqi%0QHr}LWDz*&ass#(rL)_px?z_hZtcY$~da>O5%R};sHIgFyLsay`v>NHVGo)eC@aRsZ0?ZdB`7R<84JAedGuoDu%!bSn6Zqv-G6pm#|(~0~kiU2XVaKO{bmo1SW)h9Gv1bzoIpn zX?wBls1Yk#`Njqd&)Si1#bn_Jiz!K<=$6H`F8QBw=4 z7hwcLY0X8h;AIwSfCY)KI-RHZ!#uh9JPC!h0&xN`j^JCBwY3UZUmQ#*xwxIDYMskf zIh|oYPx36`B{(B;z?E@;3GlG!Kpb5D$7$0Zx|OH7kiPLoWVl7iSW0pVFdP^V1kqWc z@~Er?9NB4eVpfr=k;Oh`XGN`IL-`mh&OWfg^mspiwQ(|Sl=I`6V%*8b%L?P0E#!AO zb<-=~_o$x+ILYM$f9KOjNblO5b#o@z>F%Gz| zYVOPbfjk9?hBAvBc>e<#0sAxLbDd4>Bo7uFQvqM%COuSmo6H$VB5^*e2oLIw?;;a`rHip3dJ=Ki+0~o>kaS~BennN)7Z{M! znQ1G%b;n3EGyD0!+RQGwhtT6Y^9SoxDOgO+ozE~CoC&;^a-k98`zI-DFD1WE4`@za z61@yPX3u5!<}%`PxL75XKX9Ioco!={%)|SoTg912Dd{F7A+8c%j7F2lCzX#X(?Bu? zQr>22rv0(H*$G~^I6$_yavrkkJWf6rL{X*}%If5PI*g_FU2|5er~;eWdbF#;xihpO z6aiMshT_r{|H)jKdH(%T>f^=9x!~c$h>o(}j5=9`V9P!7QDGj=LVlk2J{`#Y&fj74 zA&MduCvm_hU*(S47fRCPFq}8Uf022{!R0NnHK%!!RvXBtea)*njoZwW2Sz@O_hz0F zP4YE(oOr|HXwv9CjMIF`G>Kq%xp>`6X$^!x9KV=WxkDaZK2)B~_sSK=-fmJ{Ae<(w zALDBs74j(N>G;t{}w?Dyt5$X4lx8m&ed5#R5MH+h*d zNCltYIAV0yJ!~C@u>642AI09VAG^?C55Cnw{?6LiNG>c0F z&OlLtosn>uiAb1Sk<;AyC&hCREyCN_d20%r0A}ml#NsnT6ImdZjTi51Z#X=ObSey7 zOb!-fhJNF1K_KW>r@UZo+UW_4q96UQwIgDHS(C!iTy?I6H7XnD#PPX&Za4l_ep#f= zykZ4+av#>_cJ8$nR?@oDj1it)ajM|7kf5R5Wfzj29wJlhG0~jt!Ej2~v$wg5MLd@) zLn&iDuW=e)q-9R$fEmJGmQyD!qYb;w2t)3$#CWrq;yfl;5^J`e7TMW7oV#&C;0?~%jp0Dm!WTVD6XXhjCOnXYL>Alj5!a`UKT6KZaxU1dv7mErdChjJ%QYJpehHrt8X;#U zW6C$WP5b4{WxQAbm?5O(Fry-##)cZrXwqxqkjjuj70raTi0uF^b*cwzDf)JLnVn@~ zee7C3tSqk_FZ(XWe3R#}e(d(0$bWOr1A@)Sftt_0lwl`}yqXnAx5!~Ti%7ey2-zt< z1rNsgPnRj}IPc)^;;@Rwa2jyfak0gvc)~JmB*N)*)&eh}A|!s86Bi4QFGLipTl?gD z={t;j_K=0cQaZja1@?cvj&&ZMzBaO*G zir|p&YFsOpZZUVm-$V_3h&nl1RLEn&#*r<@WW+Vnk$9Dd-JWM7-l3KGv9Q3Q{IL3VLWmXcft??|-;CYsw67sYP!rNic~(^rgjUQ*@ljkj;1gK#XS6c)=Fapnc$c-^!g^Mc>x%#b$AO=lfs zyfNEF1!7>>pBU7L^Ezw4joolY1Aa<3i3NC_H)#zHJ_|%ATMgqGKWkpB1uc|ChVYAQ z#?o%l9Pb?W*_zo;3!D?e%0X6nE|5y>Ry$DPzxF&jC70!gGxTI;tyEc7t3`w`la|1^ z?3lN+_(krvJC|O>6><)pcm=3zwVZP0tJzo@ z5tioXX`aJE6u&`~AlRZG-mHGv(PBRMwsenOAl3$C1tM^kJ8tvILPq5#BMA4UE$u28 z$g>-HW$&eP<($xOWy-NRtxMFjoUwV7Ctxski`0%4`%^II+@nKg&0qeXxQiEe*>aIUcgm$I^$B>tj=OE;$hGdkTm|H-C4%Mc@edr2DUMp z8pm@F<~SCJSRG&4y0&K60h-@_QdS1$1!-fi`F$7{7^Jw7qNBozr&9A!`YS8?JWtts z32VR!WVPj%`6A*59OwDe0As{cJI%f9#Y~=+mAS~%%PFJQG%SB4ueBWCS`^MpmbVgb z!Po|x&+PE6eM+$1I?DvEOnOlZjBZALeZQNi<*UAbrOy!!LHej1y(G0;^mEfPsp2z!!m$ze&$!lXvnAjU~&Y zekcKi+RCPFMJ;xz(mqc45*5Jn_2MRf$*L@{*Z|9Bx#@N7S1kKZ@6~=o{4@JmMaH7b zVhuprt>VShEptLc${$~*Jh;fylnU#G2s^9#AmaghuXdAN=MA#|^q+H0aHhrbFuwKl z8^=yYbvCYXP84(P}p7fu6FYX|3*L?Fhc}ZezT>4k(?{LZ{ zeNf2bw42Rynvw6fH)4DQ_~BLBZA6_e&6f41?yW}Zo~AZ_1}}{dzMW61G;#b$W?GgM z*T~$$@_GGuz;b^g1-`0vwUtkto+C32C1#ssreTh-a4|D%`Bg?h1TvEQWD@z&&}MuX z`-5a-VW;8+XBBG0MV`W}u`feRhnX)Hpp*Dub}fi(_(N=h2!Aj8tR_*i7?WQslaCL3l+U3byhXe# zu_DV1p|X!m{^lS*bdE^bjsSdTHcsY1K9$}ki}V&B^Do9R-7I2A2^Z7|y53ll^()F56 zup0wM0^k~MJf2Rung;t)uPdH@#si#`f9E^&B4lW!u(9y zf|-Fg<%B>CQyw5YXh)RuORR5^IKK=}aV=M6k41Dc)%_&3D7PmE=@nw zTxGfV0~i53Od1paeJHJwt-{Q)Lr!6}r(vY(O;l~I6bI4i~X%+RTFgvC&# zTf}uc`C-BO^0WwD3r5<4^v*AbYsC_Xz&H)uh=;>$IBGvQ%^(A4b;iG_4;=|2ETx%GW>+aUb06gj)Tg@C%_~WY4XANkNj8p8R)2eJu-i!jFn(Bu}yHwc2oLD`UoZBh2dT+!x<@q z`IS@TQyu3{F(;dCj|w!D_X4k@#V#_helVoyO>2HT{gWGK1M(yg)mj>iJRA2*+|Wqol9oZbf)KhLkMTz&rn zdymryt07NT_E^e-m|_CZ;4e?Oe#6_{+2c9Qe96Doz^I1V4doghirf;$0{@N% zfVGOD#fxI0>x{B*%Ar3X{=N%=UjR`#$*AG%p5<9_jSMKxrN~zHp5=yJv9fw2_QXH* zoeceH5x<2uX7$r&bt)Z=4I?$Kb_&t5ymRMz+C3vy6kp&9v4}_cOK!1>#ih>0FoWl5 zKNO0$wU%~^xySOqyc%&o50ori<%f3*A7Q`wsB$56lQDu}@UcaH_H;Z?c}C9OXg-EB z5A28#OY7-j?zA%2QzqZtZX;d^M9cYobP;v}-h-V~&INUH8hISbT{r-^rp42$D2*4$ zyW@%Rqw$kOzAPRV;8t2dL*As%tOe$I-0z+rqC!>qJb3~zu9z)CO)<*~)0&Q*S#x~viLBbK*)_V)MD8!#oh zYCf+?7e59Tz<*;?X&4cwXtxnlD(FzIVsbGnV$f4V!YqlQOs#vz3<_EyX*kP7N3q{M;1z*=HGkeYNbpw+wT;d|_;tA8-2N_M4 zSKI-w8%Qg#3V4T50XU6a%QO%EdVij|&WQ1PYL}4{7HFp7+#%|NY|5~Z$U-n>^Q{Bc zm^~ZLv+%dg)Z?UumDGNa`wLGaZ#*R2Xbftx55#CQ&*Fk$zw>X|An}Ls;&tP$(wO|S z!oHkH#JcM*PYNH;PT+%#x}HGmMRdFfTt7%Wq*)#lr(67rW5hEk2Bb4PVW3bT{1m7< z9gaz@RWe-W)=Gm>IzO1N0L`1s*kC!y-5CuQtf!e#RpUd{;PT z1_Z@PB+j^6%^f^@ef23GH}4IC2@{k{tZ}!apH+mevjDtFxi=UOo{-%bA_V)roRo)! zj_J#0L-=L-L`C|`qkoz<$lDqzahYAg{?kaZN^}7v9#_@;$w1hRzn14|1WZY&0)*Dy zGrljM_+5VFo%vhNuoo+_b~w%aWO!j&U77|9t};bNo>o#bT_XR#k-p*fT%;9enTc`=8HV&B5XRStakCA;UHo!xnaDmjeI6!JeU$;)Ohb? z7E8)rIGE#RB(3mA=djSr^ntw!dc{**$TQ+7XC%nb9%e*YaB+Y=SR&fRrX3J?{u;D< zDgTEvHX?s>zMFDo3}l+F(*l0hRj!FCedC7}kIN;e#VQ^}8X(8ohdaRkpfd*20``xG zBM-%Q5KRuIoqX)Mw8=^#dC*b_(RF%d^}%nHRj1O{o^`n(`SbofNo(?Fd~5Go+Qo9Q z;$~zxeTUf7i{i4iwA?uzA{Sn@Xm}%S6rIsaIHh6{YX$;>nGZY(P)rYW@xhY_Qe1@nDBPDjH)hC|^W@1%t+CCh~eWUnXr;^WbM5Ky`U7jZGI zEv>9~*vRtSHL_#*+|GG?QEUJx??&n_D}9-|tQKdPi3jWy<`dL@*e7|<1B0%&M^OanT8kurwz3GYc{KbW4$I2DGE z1%l(n{#m(lRxl*H?X6|l8EnSvnS;61;%?psYhg@ax3n8hFZ(A~;sn6)$kSLx5SDh8 znSwg-{Gm;xNPH>=ChZz<`8QiC*^%whTls{`9C9R9q+MXyqjE=;VV3FJFmu5OJBxQyvasF zUdW+ciZ!lMI9%RX|PT37;h!`9?DguB%vL>)2$O74i0AdTlcB%(3U-h4K(7C>>lwrJW#|c^GTbprbHZ_LQS17C#P#wJKYV^PVU$n@fVDi z<-vTEOMn3JC;5hUkQNJ>=9tK97F2dv22)&!|L9x*=r%SE?^gzc^kMVTFOV1pnh zcZ2j}uR^sBb1#qBdJzxvn6QZWYVg+6T%Sp;?13zjUBd_Yaaw|S5ua65_CC+@A{TPa z&MtoaSjNp7lx2Yvvqe0h!8`%0ArUl(9f|{~hjqtqAkB0;EMl%16Z>WG4XhDt1Xf!1 z%XbLaL1gaD9F*5=h@7B<&N_nkYJoo0>3=kfsF`lr&v@Ntc?(lR)(XyHlEt&$O zZ#8|CVPU^`>mm&2LDB2%G%Vmc<(}sXk|0J56!7|0w{Fc+q8jqIF^*wA{7kZ=A*SBG1|PZ#O3mW29uc z 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 jJ+JlGK5b5O>8Q?X?Ehc>>>LYU%^wT + + + FullInspector-Editor + + + + + A list of all types that have a CustomBehaviorEditorAttribute attribute. + + + + + Cached property editors. + + + + + If there are multiple user-defined property editors that report that they can edit a + specific type, we sort the applicability of the property editor based on how close it's + reported edited type is to the actual property type. This allows for, say, the + IListPropertyEditor to override the ICollectionPropertyEditor. + + + + + Returns a set of property editors that can be used to edit the given property type. + + + + + Returns a behavior editor that can be used to edit the given behavior type. + + The type of behavior to edit. This should derive from + BaseBehavior. + + + + Returns true if the given dataType matches the given behaviorType. If the dataType is + generic and the behaviorType is a generic definition, then the behaviorType will be + instantiated with the same generic arguments as dataType. + + + + + Creates a new instance of the given editorType. It is assumed that editorType extends + IBehaviorEditor. + + + + + Attempt to create a new IBehaviorEditor instance. + + The data type that is used for comparison with the behavior + editor. + The actual data type that that usedEditedType was derived + from. + The type of editor we are trying to create. + + + + + Attempts to create a behavior editor for the given edited data type from the given + editor type. + + The type that is being edited. + The editor type. + A behavior editor that can edit the given edited type. + + + + Allows an IPropertyEditor to be used as an attribute property editor. + + + + + The attribute type that activates this property editor. + + + + + If true, then this attribute property editor will replace other property editors beneath + it. + + + + + Construct a new attribute instance. + + The attribute type that activates this property + editor. + + + + Construct a new attribute instance. + + The attribute type that activates this property + editor. + If true, then this attribute property editor will replace + other property editors beneath it. + + + + Mark a type as a custom behavior editor. That editor needs to derive from + BehaviorEditor{TBehavior} and will be used as the editor for that behavior type. + + + + + The behavior type to edit. + + + + + True if this should editor should apply to derived types. Defaults to true. + + + + + An annotation that signals that a class is a property editor for a given property type. + + + If the property editor is editing a generic type, then PropertyType should just be an open + generic type reflecting the edited type. For example, for a List property editor, + PropertyType should be typeof(List{}) (where {} are angle brackets). + + + + + The type of property that this class is a property editor for. This can be either a + non-generic type or an open generic type (List{} is an open generic type, but List[int] + is not). + + + + + Should this editor type be used for inherited PropertyTypes? If Inherit is true, then + the first generic parameter of your property editor type will be automatically populated + with the derived type that the property editor is being used to edit. + + + + + Internal bool to prevent a warning emission if this property editor targets UnityObject + types. + + + + + Mark this type as an IPropertyEditor. It will be instantiated automatically. + + The type of property that this PropertyEditor is + editing. + + + + Mark this type as an IPropertyEditor. It will be instantiated automatically. + + The type of property that this PropertyEditor is + editing. + If true, then this PropertyEditor will also be used for types that + derive from propertyType. If true, then this also has implications on the generic + parameter list. See the documentation on the member variable for more + information. + + + + The default behavior editor is used whenever there is not a user-defined one that should be + used instead. + + + + + If you wish to just extend the default behavior editor by adding a section before/after it, you + can just extend this class and override the appropriate methods. + + + + + An editor that provides a good inspector experience for types which derive from + ISerializedObject. + + + + + This is accessed by the BaseBehaviorEditor (using reflection) to determine if the editor + should show the value for _serializedState. + + + + + Draws an open script button for the given object. + + + + + An IAttributePropertyEditor is identical to an IPropertyEditor, except that it also + contains an Attribute parameter. + + + + + The attribute that was used to create this editor. + + + + + A property editor is the core editing abstraction used within FI. This allows for + overriding of the default inspector logic for elements of a custom type. PropertyEditors + are extremely similar to Unity's PropertyDrawers, except that they support generics and + are fully type-safe. The AttributePropertyEditor is identical to the PropertyEditor, except + that it is activated when a user adds an attribute to a type. + + + Recall that to get FI to actually use the property editor, you need to add the + [CustomAttributePropertyEditor] attribute to the type with appropriate parameters. + + The element type that the editor will edit + + + + Notification that the inspector/editor is now active. + + + + + Notification that the inspector/editor is no longer active. + + + + + This method makes it easy to use a typical behavior editor as a GUILayout style method, + where the rect is taken care of. + + The editor that is being used. + The element that is being edited. + + + + Marks an object as a property editor. + + + This interface is split up into two parts, the core one that user's typically access, + IPropertyEditor, and one that implements the actual editing API, IPropertyEditorEditAPI. +
+ You almost certainly want to extend PropertyEditor{T} instead of this + interface. It provides an automatic implementation for all methods and gives type-safety to + your editor. +
+
+ + + The editing chain that this editor is within. This can be used to fetch the next editor + to use and the like. + + + + + Can the editor edit the given type? + + + + + An optional annotation for a property editor to specify its default foldout state. + + + + + The default foldout state for the property editor. If set to false, then the editor + will be collapsed immediately. + + + + + A property editor is the core editing abstraction used within FI. This allows for overriding + of the default inspector logic for elements of a custom type. PropertyEditors are extremely + similar to Unity's PropertyDrawers, except that they support generics and are fully + type-safe. + + + Recall that to get FI to actually use the property editor, you need to add the + [CustomPropertyEditor] attribute to the type with appropriate parameters. + + The element type that the editor will edit + + + + This is the core editing API that property editors use. We split the editing API and the + IPropertyEditor interfaces into two as we define extension methods on IPropertyEditor that + allows FI to run arbitrary code before/after the actual edit method executes. + + + + + Display a Unity inspector GUI that provides an editing interface for the given object. + + The rect on the screen to draw the GUI controls. + The label to label the controls with. + The element itself to edit. This can be mutated directly. For + values which cannot be mutated, such as structs, the return value is used to update the + stored value. + An updated instance of the element. + + + + Returns the height of the region that needs editing. + + The label that will be used when editing. + The element that will be edited. + The height of the region that needs editing. + + + + Returns a header that should be used for the foldout. An item is displayed within a + foldout when this property editor reaches a certain height. + + The current foldout label. + The current object element. + An updated label. + + + + Draw an optional scene GUI. + + The object instance to edit using the scene GUI. + An updated object instance. + + + + Does this editor display a standard label that can instead be rendered with EditorGUI.Foldout? + + + + + The cached height metadata is used to optimize CPU/execution time for some memory so that + we don't have to recompute heights multiple times over. In essence, if we call + GetElementHeight from Edit, then GetElementHeight will short-circuit and just return a + cached height. + + + + + We store the current + + + + + The current method that we are invoking. + + + + + Helper method to fetch the editing API for an IPropertyEditor. + + + + + Display a Unity inspector GUI that provides an editing interface for the given object. + + The rect on the screen to draw the GUI controls. + The label to label the controls with. + The element itself to edit. This can be mutated directly. For + values which cannot be mutated, such as structs, the return value is used to update the + stored value. + An updated instance of the element. + + + + Fetches the dropdown metadata instance that should be used. This performs any necessary initialization. + + + + + Returns the height of the region that needs editing. + + The label that will be used when editing. + The element that will be edited. + The height of the region that needs editing. + + + + Returns a header that should be used for the foldout. An item is displayed within a + foldout when this property editor reaches a certain height. + + The current foldout label. + The current object element. + An updated label. + + + + Draw an optional scene GUI. + + The object instance to edit using the scene GUI. + An updated object instance. + + + + This method makes it easy to use a typical property editor as a GUILayout style method, + where the rect is taken care of. + + The editor that is being used. + The label to edit the region with. + The element that is being edited. + + + + Detects when Unity is recompiling code. Before a recompile happens, all state is saved and + after the recompilation is finished all state is restored. + + + + + True if we have detected a compile but have already saved. This is set to false by Unity + after a compilation has finished. + + + + + True if everything has been restored. This is set to false by Unity after a compilation + / reload has occurred. + + + + + Detects when the editor has entered or left play mode or has paused. + + + This class is currently disabled / not used, but it remains here because the code is tricky + to get right and may be useful in the future. + + + + + A transition that the editor can go through. + + + + + The editor is about to enter play mode but has yet to go through Unity + serialization. + + + + + The editor is about to enter play mode and has just gone through Unity + serialization. + + + + + The editor is leaving play mode and has just gone through Unity serialization. + + + + + The editor is about to enter pause mode + + + + + The editor is about to leave pause mode + + + + + The last playing state + + + + + The last paused state + + + + + This function is called when the editor is undergoing a play mode related transition. + + + + + This processor saves the state of any unsaved BaseBehavior instances when the scene has been + saved. This type isn't necessary as the BaseBehaviorEditor manages saving everything, but it + provides some extra data protection. + + + + + Manages the discovery of PropertyEditor class instances. + + + + + The type of the edited object. + + + + + The attributes associated with the edited type. + + + + + A list of all types that have a CustomPropertyEditorAttribute attribute. + + + + + Cached property editors. + + + + + If there are multiple user-defined property editors that report that they can edit a + specific type, we sort the applicability of the property editor based on how close it's + reported edited type is to the actual property type. This allows for, say, the + IListPropertyEditor to override the ICollectionPropertyEditor. + + + + + Returns a set of property editors that can be used to edit the given property type. + + + + + Returns a PropertyEditorChain that can edit the given type. The PropertyEditorChain will + contain all of the IPropertyEditor instances which reported that they could edit the + given type (with the associated set of attributes). To get an actual property editor, + use chain.FirstEditor or a similar method. + + The type of property/field that is being edited. + Provides attributes that may override the default + property editor. This parameter can safely be set to null. + A property editor chain composed of property editors which can edit the given + property type. + + + + In Full Inspector, there are typically a large number of property editors that can be used + for each type, for example, a user defined editor, then the abstract editor, then the + reflected editor. PropertyEditorChain encapsulates this idea and makes it easy to retrieve + the next editor that will be used. + + + + + The editing chain. The most applicable editor is at index 0 (followed by the next most + applicable at index 1, ...). + + + + + Adds an editor to the end of this chain. + + + + + Returns true if there is another editor after the given one. + + + + + Returns the next editor that will be used, or null if the given editor is either the + last one or was not found in the chain. + + The editor that is currently being used. + The next editor, or null if there is no next one. + + + + Returns the first property editor in this chain that is not an instance of any of the + given types. + + + + + Returns the first property editor in this chain. + + + + + Returns true if the given dataType matches the given propertyType. If the dataType is + generic and the propertyType is a generic definition, then the propertyType will be + instantiated with the same generic arguments as dataType. + + + + + Creates a new instance of the given editorType. It is assumed that editorType extends + IPropertyEditor. + + + + + Attempt to create a new IPropertyEditor instance. + + The data type that is used for comparison with the property + editor. + The actual data type that that usedEditedType was derived + from. + The type of editor we are trying to create. + + + + + Attempts to create a property editor for the given edited data type from the given + editor type. + + The type that is being edited. + The editor type. + The attributes that were specified for the type. + Should inheritance behavior be forced? The expected value is false. + A property editor that can edit the given edited type. + + + + We only animate the abstract type height when we have changed types ourselves. If we + always animate when a height change occurs and the inside is also animating, then we + will create an "animation lag" which looks awful. + + + + + Provides a property editor for types which cannot be instantiated directly and require the + user to select a specific instance to instantiate. + + + + + A map of attribute type to the IPropertyEditor type that is associated with that + attribute (via the CustomAttributePropertyEditorAttribute annotation). + + + + + A map of attribute type to if that property editor should replace all other editors + after it. + + + + + Provides a property editor for enums. + + + + + A property editor for nullable types. + + + + + The general property editor that takes over when there is no specific override. This uses + reflection to discover what values to edit. + + + + + The maximum depth that the reflected editor will go to for automatic object reference + instantiation. Beyond this depth, the user will have the manually instantiate + references. We have a depth limit so that we don't end up in an infinite object + construction cycle. + + + + + This returns true if automatic instantiation should be enabled. Automatic instantiation + gets disabled after the reflected editor has gone a x calls deep into itself in an + attempt to prevent infinite recursion. + + + + + How tall buttons should be. + + + + + How tall the label element should be. + + + + + How much space is between each element. + + + + + The height of the category toolbar. + + + + + Returns true if the given GUIContent element contains any content. + + + + + Draws a label at the given region. Returns an indented rectangle that can be used for + drawing properties directly under the label. + + + + + A helper method that draws the inspector for a field/property at the given location. + + + + + A helper method that draws a button at the given region. + + + + + Draws the actual property editors. + + + + + Manages the options that are displayed to the user in the instance selection drop-down. + + + + + Setup the instance option manager for the given type. + + + + + Returns an array of options that should be displayed. + + + + + Remove any options from the set of display options that are not permanently visible. + + + + + Returns the index of the option that should be displayed (from GetDisplayOptions()) + based on the current object instance. + + + + + Changes the instance of the given object, if necessary. + + + + + This class assists with cycle detection in an object graph. + + + + + Factory we use for allocation HashSets (to minimize GC pressure). + + + + + Cycle detectors that we are depending on / derived from. + + + + + The objects we have encountered so far. + + + + + The recursion depth level that we're at. + + + + + The current recursion / nesting depth. + + + + + Increase the recursion / nesting depth. + + + + + Decrease the recursion / nesting depth. + + + + + Tries to mark an object. Returns false if the object is already in the cycle detector, + ie, it has already been encountered (which implies that it's part of a cycle). + + + + + Returns true if the object is in the cycle detector, ie, the object is part of a cycle. + + + + + An editor that is displayed while we are generating the PropertyDrawer bindings. + + + + + The current version string. + + + + + Full Inspector will effectively force the user to do a clean import if any of the following types are found in + the assembly. + + + + + A wrapper around AnimFloat that makes it easier to use. + + + + + Update the height of the editor. + + The new height. + Should animation be allowed? Sometimes animation is not + desired if a sub-item is animation. If this item animations when a sub-item is + animating, then there will be visible UX jerk. + If true, then a transition is occurring and the animation is rendering. + + + + Returns true if animation is occurring. + + + + + The current height of the animation. + + + + + Draws a normal EditorGUI.ObjectField, except it includes the component type. + + + + + Draws a button with a label in front of the button. + + + + + Draws a button with a label in front of the button. + + + + + Draws an editor for the given control at the given rect. + + The rect to draw the editor within. + The label for the edited control. + The element to edit. + The metadata to use when editing. + The actual control that will be used for the editor. + The updated element instance. + + + + Draws an editor for the given control at the given rect. + + The element to edit. + The label for the edited control. + The metadata to use when editing. + The actual control that will be used for the editor. + The height that is needed to fully display this control. + + + + Draws a GUI for editing the given property and returns the updated value. This does + *not* write the updated value to a container. + + + + + Draws a GUI for editing the given property and returns the updated value. This does + *not* write the updated value to a container. + + An optional context that the property value came from. If this is not given, then a prefab context menu will not be displayable. + + + + This class is used to cache results for some expensive fiEditorUtility method calls. + + + + + Returns the paths of all .scene files in the Unity project. + + + + + Find all prefabs of a given type, regardless of location. + + The type of object to fetch + Please note that this method can return UnityObject instances that have been deleted. + + + + Find all assets of a given type, regardless of location. + + The (ScriptableObject derived) type of object to fetch + Please note that this method can return UnityObject instances that have been deleted. + + + + This will sent a repaint request to every active editor. + + + + + Add to this list if the editor should be repainted upon a general repaint request. + + + + + If enabled, then the inspector should be constantly redrawn. This is used to work around + some rendering issues within Unity. + + + + + Attempts to fetch a MonoScript that is associated with the given obj. + + The object to fetch the script for. + The script, if found. + True if there was a script, false otherwise. + + + + Returns true if the given obj has a MonoScript associated with it. + + + + + Returns an associated object for another object. + + + + + A mapping from the objects that contain metadata to their metadata. + + + + + Returns true if there is metadata for the given item. + + + + + Sets the metadata instance for the given item and type. + + + + + Fetch a metadata instance for the given item. + + + + + Utility functions for working with prefab overrides. + + + + + Returns true if the period separate property path contains the given property name. + + + + + Attempts to extract the name of serialized key for the given property modification. + + The object that that modification is applied to. + The modification. + An output parameter containing the name of the key that the + modification maps to. + True if the key was found, false otherwise. + + + + Reverts the given property on the instance to the prefab value. + + The prefab instance to revert the value on. + The property to revert. + + + + Returns true if the given property on the given object instance has a prefab override. + + The object instance. + The property to check. + True if the property is prefab override, false otherwise. + + Currently, this method only works for MonoBehavior targets. + + + + + A cache of all types that derive the key type in the AppDomain. The cache is + automatically destroyed upon assembly loads. + + + + + Returns all types that derive from the base type. This includes generic type + definitions, which when returned will have appropriate constructor values injected. + + The base parent type. + + + + A candidate type that can potentially be used as a generic parameter argument. + + + + + The actual type that will be the generic parameter. + + + + + The name of the generic parameter that this type came from. + + + + + Helper method to return the index of the Type in the array that has the given Name (or + - 1 if the item is not in the array). + + + + + Orders the given types parameter array so that the order most closely matches the given + genericArguments array + + The types that have been collected as potential candidates + for generic parameter arguments + The type that we are going to use the candidateTypes for + constructing a closed generic type on + An array of types that can (hopefully) be used to construct a closed generic + type from the given openGenericType. + + + + Attempts to create an instance of openGenericType such that it is can be assigned to + baseType. + + An open generic type that derives baseType + A generic type with fully populated type parameters. + Just baseType.GetGenericTypeDefinition() + Just baseType.GetGenericArguments() + If this function returns true, then this value is set to + the created type that is assignable to baseType and an instance of + openGenericType. + True if a type was constructed, false otherwise. + + + + Searches for a particular implementation of the given parent type inside of the type. + This is particularly useful if the interface type is an open type, ie, typeof(IFace{}), + because this method will then return IFace{} but with appropriate type parameters + inserted. + + The base type to search for interface + The parent type to search for. Can be an open generic + type. + The actual interface type that the type contains, or null if there is no + implementation of the given interfaceType on type. + + + + Tries to fetch the given CSharpName of the given object type, or null if the object is + null. + + + + + Returns the value of a boolean, field, or property. + + + + + A few APIs to forcibly call SaveState and RestoreState on every type + that implements ISerializedObject. + + + + + Forcibly save the state of all objects which derive from ISerializedObject. + ISerializedObject saving is managed automatically when you use the editor (and can be + customized in fiSettings). + + + + + Forcibly restore the state of all objects which derive from ISerializedObject. + + + + + This will clean all of the FI data from the scene. + + + + + Returns the object that this serialized property is currently storing. + + + + + This class contains methods that do not use public Unity API. These are subject to + break/change per update. + + + + + Attempts to enable/disable the bold font that is used by Unity when an object has a + value different from its prefab. + + True if the bold font is set, false if it is not. + + + + Helper to write the C# file containing the selected serializer information. + + + + + Contains editing logic common to the backup window and the inline backup viewer. + + + + + The backup editor window. + + + + + The central API that end-users might be interested in. Provides key functions such as + creating a new backup and restoring an old one. + + + + + Returns all backups for the given object. + + + + + Creates a new backup of the given component. Only guaranteed to work for types that + derive from CommonBaseBehavior, but there is a good chance it'll work for most/all + types derived from Component. + + + + + Helper function that just ignores a few FI internal types for serialization since the + backup solution serializes all inspected properties, not just those that are serialized + + + + + Restores a backup that was previously created. + + + + + Creates a serialized object from the given component. + + + + + Manages backups stored in prefab storage container. The prefab container stores backups + when Unity is in play-mode and when the backup target does not live in the scene (an + example would be a backup targeting another prefab). + + + + + Manages the backup storage that lives in the scene. + + + + + This class provides a unified API for accessing backups across scene and prefab storage. + + + + + Returns the storage component that is currently best suited for use. + + + + + Removes the given backup instance. + + + + + Removes backups that are no longer valid (their target got destroyed, etc). + + + + + Attempts to migrate prefab storage into scene storage. + + + + + Returns true if there is a backup for the given behavior. + + + + + Returns every serialized object. + + + + + Reorderable list adapter for arrays. + + + + + Reorderable list adapter for ICollection types + + + + + Returns the height of the given element. + + + + + Provides an editor for the given element. + + + + + Metadata we use for the callbacks. + + + + + Stores all of the elements + + + + + A cached version of the collection optimized for item lookup. + + + + + For performance reasons, the CollectionAdaptor stores an array version of the + collection. If the adapted collection has been structurally modified, for example, an + item has been added, then the local cache is invalid. Calling this method updates the + cache, which will restore proper adapter semantics. + + + + + Reorderable list adapter for generic list. + + + This adapter can be subclassed to add special logic to item height calculation. You + may want to implement a custom adapter class where specialized functionality is + needed. + + + + The list which can be reordered. + Callback to draw list item. + Height of list item in pixels. + + + + This is the base collection property editor with a set of extension points for the other + property editors. All Rotorz-style collection editors use this as the base editor. It + provides automatic support for paging. + + The actual type of the collection, ie, List{T}. This is used for instance creation. + The collection interface, ie, IList{T}, or List{T}. The property editor + selection logic will choose the most associated editor using this type. + The type of items stored inside of the collection, ie, {T} in List{T}. + The type of item that is added to a collection, ie, + TAddItem = {K} in TActual = Dictionary{K, V} where TItem = KeyValuePair{K, V} + + + + Fetch an adaptor for the collection. + + + + + Called after an edit cycle is done if the collection needs to be updated from the adaptor. + + + + + An item has been added to the collection. + + + + + Should the item added to the collection be customized *before* adding it? + + + + + Can we reorder elements inside of the collection? + + + + + Provides a relatively simple editor for IList{T} types that only views one element at a + time. This is useful if the list is massive, or perhaps to just reduce information overload + when editing. + + + + + Returns true if there is currently an item that is being edited. + + + + + Attempts to ensure that the current editing index is not out of range. However, if the + edited list is empty, then the index will always be out of range. + + + + + The metadata we store on each item that we edit so that we know what the active editing + item is. + + + + + Adaptor allowing reorderable list control to interface with list data. + + + + + Gets count of elements in list. + + + + + Determines whether an item can be reordered by dragging mouse. + + + This should be a light-weight method since it will be used to determine whether + grab handle should be included for each item in a reorderable list. Please + note that returning a value of false does not prevent movement on list item since + other draggable items can be moved around it. + + Zero-based index for list element. + A value of true if item can be dragged; otherwise /c>. + + + + Determines whether an item can be removed from list. + + + This should be a light-weight method since it will be used to determine whether + remove button should be included for each item in list. This is redundant + when is specified. + + Zero-based index for list element. + A value of true if item can be removed; otherwise /c>. + + + + Add new element at end of list. + + + + + Insert new element at specified index. + + Zero-based index for list element. + + + + Duplicate existing element. + + Zero-based index of list element. + + + + Remove element at specified index. + + Zero-based index of list element. + + + + Move element from source index to destination index. + + Zero-based index of source element. + Zero-based index of destination element. + + + + Clear all elements from list. + + + + + Draw interface for list element. + + Position in GUI. + Zero-based index of array element. + + + + Gets height of list item in pixels. + + Zero-based index of array element. + Measurement in pixels. + + + + Resources to assist with reorderable list control. + + + + + Resource assets for light skin. + + + Resource assets are PNG images which have been encoded using a base-64 string so + that actual asset files are not necessary. + + + + + Resource assets for dark skin. + + + Resource assets are PNG images which have been encoded using a base-64 string so + that actual asset files are not necessary. + + + + + Gets light or dark texture "add_button.png". + + + + + Gets light or dark texture "add_button_active.png". + + + + + Gets light or dark texture "container_background.png". + + + + + Gets light or dark texture "grab_handle.png". + + + + + Gets light or dark texture "remove_button.png". + + + + + Gets light or dark texture "remove_button_active.png". + + + + + Gets light or dark texture "title_background.png". + + + + + Generate special textures. + + + + + Create 1x1 pixel texture of specified color. + + Name for texture object. + Pixel color. + The new Texture2D instance. + + + + Read textures from base-64 encoded strings. Automatically selects assets based upon + whether the light or dark (pro) skin is active. + + + + + Read width and height if PNG file in pixels. + + PNG image data. + Width of image in pixels. + Height of image in pixels. + + + + Utility functions to assist with GUIs. + + + + + Gets visible rectangle within GUI. + + + VisibleRect = TopmostRect + scrollViewOffsets + + + + + Focus control and text editor where applicable. + + + + + Arguments which are passed to . + + + + + Gets adaptor to reorderable list container which contains element. + + + + + Gets zero-based index of item which was inserted. + + + + + Indicates if inserted item was duplicated from another item. + + + + + Initializes a new instance of . + + Reorderable list adaptor. + Zero-based index of item. + Indicates if inserted item was duplicated from another + item. + + + + An event handler which is invoked after new list item is inserted. + + Object which raised event. + Event arguments. + + + + Arguments which are passed to . + + + + + Gets adaptor to reorderable list container which contains element. + + + + + Gets zero-based index of item which was inserted. + + + + + Initializes a new instance of . + + Reorderable list adaptor. + Zero-based index of item. + + + + An event handler which is invoked before a list item is removed. + + + Item removal can be cancelled by setting to + true. + + Object which raised event. + Event arguments. + + + + Base class for custom reorderable list control. + + + + + Invoked to draw list item. + + + GUI controls must be positioned absolutely within the given rectangle since list + items must be sized consistently. + + + The following listing presents a text field for each list item: + wishlist = new + List(); + + private void OnGUI() { ReorderableListGUI.ListField(wishlist, DrawListItem); } + + private string DrawListItem(Rect position, string value) { // Text fields do not like + `null` values! if (value == null) value = ""; return EditorGUI.TextField(position, + value) ; } } ]]> ; + + function OnGUI() { ReorderableListGUI.ListField(wishlist, DrawListItem); } + + function DrawListItem(position:Rect, value:String):String { // Text fields do not like + `null` values! if (value == null) value = ''; return EditorGUI.TextField(position, + value) ; } } ]]> + + Type of item list. + Position of list item. + The list item. + The modified value. + + + + Invoked to draw content for empty list. + + + Callback should make use of GUILayout to present controls. + + + The following listing displays a label for empty list control: + _list; + + private void OnEnable() { _list = new List(); } private void OnGUI() { + ReorderableListGUI.ListField(_list, ReorderableListGUI.TextFieldItemDrawer, + DrawEmptyMessage) ; } + + private string DrawEmptyMessage() { GUILayout.Label("List is empty!", + EditorStyles.miniLabel); } } ]]> ; + + function OnEnable() { _list = new List.(); } function OnGUI() { + ReorderableListGUI.ListField(_list, ReorderableListGUI.TextFieldItemDrawer, + DrawEmptyMessage) ; } + + function DrawEmptyMessage() { GUILayout.Label('List is empty!', EditorStyles.miniLabel); + } } ]]> + + + + + Invoked to draw content for empty list with absolute positioning. + + Position of empty content. + + + + Background color of anchor list item. + + + + + Background color of target slot when dragging list item. + + + + + Style for right-aligned label for element number prefix. + + + + + Generate and draw control from state object. + + Reorderable list adaptor. + Delegate for drawing empty list. + Optional flags to pass into list field. + + + + Generate and draw control from state object. + + Position of control. + Reorderable list adaptor. + Delegate for drawing empty list. + Optional flags to pass into list field. + + + + Position of mouse upon anchoring item for drag. + + + + + Zero-based index of anchored list item. + + + + + Zero-based index of target list item for reordering. + + + + + Unique ID of list control which should be automatically focused. A value of zero + indicates that no control is to be focused. + + + + + Zero-based index of item which should be focused. + + + + + Zero-based index of list item which is currently being drawn. + + + + + Gets zero-based index of list item which is currently being drawn; or a value of -1 if + no item is currently being drawn. + + + Use instead. + + + + + Gets or sets flags which affect behavior of control. + + + + + Gets a value indicating whether add button is shown. + + + + + Gets a value indicating whether remove buttons are shown. + + + + + Occurs after list item is inserted or duplicated. + + + + + Raises event after list item is inserted or duplicated. + + Event arguments. + + + + Occurs before list item is removed and allows removal to be cancelled. + + + + + Raises event before list item is removed and provides oppertunity to cancel. + + Event arguments. + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + Optional flags which affect behavior of control. + + + + Unique Id of control. + + + + + Visible rectangle of control. + + + + + Width of index label in pixels (zero indicates no label). + + + + + Indicates whether item is currently being dragged within control. + + + + + Indicates if reordering is allowed. + + + + + Prepare initial state for list control. + + Unique ID of list control. + Reorderable list adaptor. + + + + Indicate that first control of list item should be automatically focused if possible. + + Unique ID of list control. + Zero-based index of list item. + + + + Draw add item button. + + Position of button. + Unique ID of list control. + Reorderable list adaptor. + + + + Draw remove button. + + Position of button. + Indicates if control is visible within GUI. + A value of true if clicked; otherwise /c>. + + + + Begin tracking drag and drop within list. + + Unique ID of list control. + Zero-based index of item which is going to be dragged. + + + + Stop tracking drag and drop. + + + + + Gets a value indicating whether item in current list is currently being tracked. + + Unique ID of list control. + A value of true if item is being tracked; otherwise /c>. + + + + Accept reordering. + + Reorderable list adaptor. + + + + Draw list container and items. + + Position of list control in GUI. + Unique ID of list control. + Reorderable list adaptor. + + + + Checks to see if list control needs to be automatically focused. + + Unique ID of list control. + + + + Draw additional controls below list control and highlight drop target. + + Position of list control in GUI. + Unique ID of list control. + Reorderable list adaptor. + + + + Cache of container heights mapped by control ID. + + + + + Do layout version of list field. + + Unique ID of list control. + Reorderable list adaptor. + Position of list container area in GUI (excludes footer area). + + + + Draw content for empty list (layout version). + + Callback to draw empty content. + Position of list container area in GUI (excludes footer area). + + + + Draw content for empty list (layout version). + + Position of list control in GUI. + Callback to draw empty content. + + + + Correct if for some reason one or more styles are missing! + + + + + Draw layout version of list control. + + Unique ID of list control. + Reorderable list adaptor. + Delegate for drawing empty list. + + + + + + + + + + Draw list control with absolute positioning. + + Position of list control in GUI. + Unique ID of list control. + Reorderable list adaptor. + Delegate for drawing empty list. + + + + Draw list control with absolute positioning. + + Position of list control in GUI. + Reorderable list adaptor. + Delegate for drawing empty list. + + + + + + + Content for "Move to Top" command. + + + + + Content for "Move to Bottom" command. + + + + + Content for "Insert Above" command. + + + + + Content for "Insert Below" command. + + + + + Content for "Duplicate" command. + + + + + Content for "Remove" command. + + + + + Content for "Clear All" command. + + + + + Default functionality to handle context command. + + + Can be used when adding custom items to the context menu: + + + + + + Invoked to generate context menu for list item. + + Menu which can be populated. + Zero-based index of item which was right-clicked. + Reorderable list adaptor. + + + + Invoked to handle context command. + + + It is important to set the value of GUI.changed to true if any + changes are made by command handler. Default command handling functionality + can be inherited: + + Name of command. This is the text shown in the context + menu. + Zero-based index of item which was right-clicked. + Reorderable list adaptor. + A value of true if command was known; otherwise /c>. + + + + Call to manually perform command. + + + Warning message is logged to console if attempted to execute unknown + command. + + Name of command. This is the text shown in the context + menu. + Zero-based index of item which was right-clicked. + Reorderable list adaptor. + A value of true if command was known; otherwise /c>. + + + + Call to manually perform command. + + + Warning message is logged to console if attempted to execute unknown + command. + + Content representing command. + Zero-based index of item which was right-clicked. + Reorderable list adaptor. + A value of true if command was known; otherwise /c>. + + + + Calculate height of list control in pixels. + + Reorderable list adaptor. + Required list height in pixels. + + + + Calculate height of list control in pixels. + + Count of items in list. + Fixed height of list item. + Required list height in pixels. + + + + Move item from source index to destination index. + + Reorderable list adaptor. + Zero-based index of source item. + Zero-based index of destination index. + + + + Add item at end of list and raises the event . + + Reorderable list adaptor. + + + + Insert item at specified index and raises the event . + + Reorderable list adaptor. + Zero-based index of item. + + + + Duplicate specified item and raises the event . + + Reorderable list adaptor. + Zero-based index of item. + + + + Remove specified item. + + + The event is raised prior to removing item and allows + removal to be cancelled. + + Reorderable list adaptor. + Zero-based index of item. + Returns a value of false if operation was cancelled. + + + + Remove all items from list. + + + The event is raised for each item prior to clearing + array and allows entire operation to be cancelled. + + Reorderable list adaptor. + Returns a value of false if operation was cancelled. + + + + Utility class for drawing reorderable lists. + + + + + Default list item height. + + + + + Gets or sets zero-based index of last item which was changed. A value of -1 indicates + that no item was changed by list. + + + This property should not be set when items are added or removed. + + + + + Gets zero-based index of list item which is currently being drawn; or a value of -1 if + no item is currently being drawn. + + + + + Gets the default list control implementation. + + + + + Gets default style for title header. + + + + + Gets default style for background of list control. + + + + + Gets default style for add item button. + + + + + Gets default style for remove item button. + + + + + Draw title control for list field. + + + When needed, should be shown immediately before list field. + + + + + Content for title control. + + + + Draw title control for list field. + + + When needed, should be shown immediately before list field. + + + + + Text for title control. + + + + Draw title control for list field with absolute positioning. + + Position of control. + Content for title control. + + + + Draw title control for list field with absolute positioning. + + Position of control. + Text for title control. + + + + Draw list field control for adapted collection. + + Reorderable list adaptor. + Callback to draw custom content for empty list + (optional). + Optional flags to pass into list field. + + + + Draw list field control for adapted collection. + + Position of control. + Reorderable list adaptor. + Callback to draw custom content for empty list + (optional). + Optional flags to pass into list field. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculate height of list field for adapted collection. + + Reorderable list adaptor. + Optional flags to pass into list field. + Required list height in pixels. + + + + + + + + + Provides an Edit field that uses a string so that types of varying bit width (greater than + 32 bits, which is what IntField/FloatField is limited to) can be represented properly in the + editor without losing data. + + + + + Edit the given type using a TextField. Convert.ChangeType will be used to convert the + given type T to and from a string. + + + + + Splits the given rect into two rects that are divided horizontally. + + The rect to split + The horizontal percentage that the rects are split at + How much space that should be between the two rects + The output left-hand side rect + The output right-hand side rect + + + + Is the foldout currently active, ie, is the rendered item being displayed or is the + short-form foldout being displayed? + + + + + What percentage are we at in the animation between active states? + + + + + Are we currently animating between different states? + + + + + Used to remove the generic arguments from ObjectPropertyEditor so that it can be used as a + "banned" argument for PropertyEditor.Get + + + + + Provides an ObjectField for every type which derives from Object. + + The actual type of the derived parameter + + + + Provides a route to read/write data inside of an object. That data can be + (recursively) stored within a field, property, or collection. + + + + + The data path stores the type of the object. + + + + + The data path accesses the given property. + + + + + The data path accesses an element inside of an IList instance + (including arrays). The list instance resides at |property|. + + + + + The data path accesses an element inside of an IDictionary instance. + The dictionary instance resides at |property|. + + + + + Special marker object used to notify Write to write the default/null value. + + + + + Returns true if the given object should be saved directly inside of + the state dictionary. + + + + + Read width and height of PNG file in pixels. + + + + + Manages the type selection drop-down for a facade. + + + + + Creates a new type manager. + + The base facade type. + + + + Finds the active display option index for the given type, or -1 if it isn't found. + + + + + The available types. This will always have at least one element. + + + + + A displayable variant of the type array. This will always have at least one element. + + + + + Returns the default value for the given type. Notably, this will return a zeroed out + value type if the type is a value type, not null. + + + + + Deserializes a property on the facade. + + + + + Serializes a property that will be stored on the facade. + + + + + Provides a nice interface for interacting with and managing scriptable object instances + + + + + The amount of space between the object selector and the method selection popup. + + + + + Amount of space after the method selection popup that will separate this element from + the next one. + + + + + Adaptor method to determine if the given method should be shown in the method dropdown. + + + + + Ensures that action is not null. + + + + + Splits the general region rect into the two object and popup rects. + + + + + Returns the methods that should be shown in the dropdown, and returns the active method + in that list. + + + + + Returns either the container type, or if the contaier is null, then typeof(UnityObject). + + + + + Changes the serialization data for the given GameObject. + + The UnityObject to migrate (either a ScriptableObject, GameObject, or Component). If it is a GameObject, then all child components will also be scanned. + The current serializer + The new serializer + + + + Returns all scene specific objects that use Full Inspector. + + + + + + Returns all persistent objects that use Full Inspector. + + + + + This is a utility class that wraps the UX that lets the user pick which UnityObjects they + want to process. + + + + + Generates derived types for SharedInstance{T}. + + + + The name of the file to emit. This should be the normalized class name. + The name of the class in the file, ie, class {className} {} + The value for the generic type, ie, class foo : parent{genericType} {} + The value for the serializer type, optional. It will also go in a generic type argument. + + + + Shows a new selection window for a SharedInstance type. + + The generic SharedInstance parameter; that actual instance type. + The generic SharedInstance type itself. + Method to invoke when a new SharedInstance has been selected. + + + + Returns a SharedInstance type that Unity can serialize for the given generic SharedInstance type. + This returns null if the type is not yet created. Create it with + SharedInstanceScriptGenerator.GenerateScript(instanceType); + + + + + The current scrolling position for the static inspector. + + + + + The type that we are currently viewing the statics for. Unfortunately, we have to store + this type as a string so that Unity can serialize it. It would be awesome to have FI + serialization on EditorWindows, but oh well :P. + + + + + This class enables a menu item that allows the developer to toggle between DLL or non-dll versions of Full Inspector. Toggling + is done by switching file extensions. + + + + + A standard tkControlPropertyEditor except with some more appropriate values popualted. + + + + + Derive from this class if you wish to write a custom property editor that is rendered + from a tkControl. + + You probably want to derive from tkControlPropertyEditor{TEdited} + + + + Helper class you can derive from to write a custom tk control for a behavior. This wraps + some of the boilerplate. + + +
+
diff --git a/Assets/Editor/FullInspector-Editor.xml.meta b/Assets/Editor/FullInspector-Editor.xml.meta new file mode 100644 index 00000000..ca1752ce --- /dev/null +++ b/Assets/Editor/FullInspector-Editor.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e0af0c076a7105542a32185a79178970 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FullInspector2.meta b/Assets/FullInspector2.meta new file mode 100644 index 00000000..b72d1bc3 --- /dev/null +++ b/Assets/FullInspector2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5c7472f8ca1e2a44b7c6d2df64b3a86 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FullInspector2_Generated.meta b/Assets/FullInspector2_Generated.meta new file mode 100644 index 00000000..9cf17d43 --- /dev/null +++ b/Assets/FullInspector2_Generated.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5259900d9f34a4c428eff55172b7d06a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FullInspector2_Generated/fiBackupStorage.prefab b/Assets/FullInspector2_Generated/fiBackupStorage.prefab new file mode 100644 index 00000000..db1203ad --- /dev/null +++ b/Assets/FullInspector2_Generated/fiBackupStorage.prefab @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1823553846448924} + m_IsPrefabParent: 1 +--- !u!1 &1823553846448924 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4817884475758202} + m_Layer: 0 + m_Name: fiBackupStorage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4817884475758202 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1823553846448924} + 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: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/FullInspector2_Generated/fiBackupStorage.prefab.meta b/Assets/FullInspector2_Generated/fiBackupStorage.prefab.meta new file mode 100644 index 00000000..17abb488 --- /dev/null +++ b/Assets/FullInspector2_Generated/fiBackupStorage.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 928203131fe337e4bb3a22637d41e514 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FullInspector2_Generated/fiPersistentEditorStorage.prefab b/Assets/FullInspector2_Generated/fiPersistentEditorStorage.prefab new file mode 100644 index 00000000..d7267c57 --- /dev/null +++ b/Assets/FullInspector2_Generated/fiPersistentEditorStorage.prefab @@ -0,0 +1,41 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1460865372375866} + m_IsPrefabParent: 1 +--- !u!1 &1460865372375866 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4583350002654790} + m_Layer: 0 + m_Name: fiPersistentEditorStorage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4583350002654790 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1460865372375866} + 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: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/FullInspector2_Generated/fiPersistentEditorStorage.prefab.meta b/Assets/FullInspector2_Generated/fiPersistentEditorStorage.prefab.meta new file mode 100644 index 00000000..eaae328c --- /dev/null +++ b/Assets/FullInspector2_Generated/fiPersistentEditorStorage.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b7a1efc000ff004f9450de38a0d28b6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Material/BG1.mat b/Assets/Material/BG1.mat index 4efb047b..97fa25e2 100644 --- a/Assets/Material/BG1.mat +++ b/Assets/Material/BG1.mat @@ -7,181 +7,74 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: BG1 - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: c645ad565c4555e4cbb6564c3cc6d303, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BrushScaleX - second: 1 - - first: - name: _BrushScaleY - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionBloomFactor - second: 1 - - first: - name: _EmissionFactor - second: 0 - - first: - name: _EmissionFactorFromTexToggle - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _FadeDistance - second: 0.5 - - first: - name: _FadeOffset - second: 1 - - first: - name: _FogColorIntensity - second: 0.01 - - first: - name: _FogEffectLimit - second: 0.5 - - first: - name: _FogEffectStart - second: 0 - - first: - name: _FogIntensity - second: 0.01 - - first: - name: _FogStartDistance - second: 50 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _LightArea - second: 0.51 - - first: - name: _LightMapIntensity - second: 1 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Opaqueness - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _ReflectionEmissionAdjust - second: 1 - - first: - name: _SPIntensity - second: 0.5 - - first: - name: _SPNoiseScaler - second: 1 - - first: - name: _SPTransition - second: 0 - - first: - name: _SPTransitionBloomFactor - second: 1 - - first: - name: _SPTransitionEmissionScaler - second: 1 - - first: - name: _Scale - second: 0.01 - - first: - name: _Shininess - second: 10 - - first: - name: _SpecMulti - second: 0.1 - - first: - name: _SpecialState - second: 0 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _VertexAlphaFactor - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BrushScaleX: 1 + - _BrushScaleY: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionBloomFactor: 1 + - _EmissionFactor: 0 + - _EmissionFactorFromTexToggle: 0 + - _EmissionScaler: 1 + - _FadeDistance: 0.5 + - _FadeOffset: 1 + - _FogColorIntensity: 0.01 + - _FogEffectLimit: 0.5 + - _FogEffectStart: 0 + - _FogIntensity: 0.01 + - _FogStartDistance: 50 + - _Glossiness: 0.5 + - _LightArea: 0.51 + - _LightMapIntensity: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Opaqueness: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _ReflectionEmissionAdjust: 1 + - _SPIntensity: 0.5 + - _SPNoiseScaler: 1 + - _SPTransition: 0 + - _SPTransitionBloomFactor: 1 + - _SPTransitionEmissionScaler: 1 + - _Scale: 0.01 + - _Shininess: 10 + - _SpecMulti: 0.1 + - _SpecialState: 0 + - _SrcBlend: 1 + - _UVSec: 0 + - _VertexAlphaFactor: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _ClipPlane - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _Emission - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _FogColorFar - second: {r: 1, g: 0, b: 0, a: 1} - - first: - name: _FogColorNear - second: {r: 1, g: 0, b: 0, a: 1} - - first: - name: _FresnelParams - second: {r: 1, g: 1, b: 0, a: 0} - - first: - name: _LightSpecColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _MainColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _SPOutlineColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _SPTransitionColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _ShadowMultColor - second: {r: 0.9, g: 0.7, b: 0.75, a: 1} + - _ClipPlane: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Emission: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _FogColorFar: {r: 1, g: 0, b: 0, a: 1} + - _FogColorNear: {r: 1, g: 0, b: 0, a: 1} + - _FresnelParams: {r: 1, g: 1, b: 0, a: 0} + - _LightSpecColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SPOutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _SPTransitionColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowMultColor: {r: 0.9, g: 0.7, b: 0.75, a: 1} diff --git a/Assets/Material/BG2.mat b/Assets/Material/BG2.mat index be389ff6..f5455f34 100644 --- a/Assets/Material/BG2.mat +++ b/Assets/Material/BG2.mat @@ -7,76 +7,39 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: BG2 - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: f2bcc14170e3b8f428cb5be951850b51, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Material/BG3.mat b/Assets/Material/BG3.mat index 298bb093..d3d8bdfb 100644 --- a/Assets/Material/BG3.mat +++ b/Assets/Material/BG3.mat @@ -7,100 +7,49 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: BG3 - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2999 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _DistortionTex - second: + - _DistortionTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: f2bcc14170e3b8f428cb5be951850b51, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _Distortion - second: 0 - - first: - name: _DistortionIntensity - second: 5 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Distortion: 0 + - _DistortionIntensity: 5 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 0.60294116, g: 0.34580448, b: 0.34580448, a: 0.322} - - first: - name: _Emission - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.3159035, g: 0.303338, b: 0.329, a: 0.241} + - _Color: {r: 0.60294116, g: 0.34580448, b: 0.34580448, a: 0.322} + - _Emission: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.3159035, g: 0.303338, b: 0.329, a: 0.241} diff --git a/Assets/Material/BG4.mat b/Assets/Material/BG4.mat index bb72413a..950d1b7f 100644 --- a/Assets/Material/BG4.mat +++ b/Assets/Material/BG4.mat @@ -7,115 +7,54 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: BG4 - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 3001 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _DistortionTex - second: + - _DistortionTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: f2bcc14170e3b8f428cb5be951850b51, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _Distortion - second: 0 - - first: - name: _DistortionIntensity - second: 5 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _VFogIntensity - second: 1 - - first: - name: _VFogRange - second: 0 - - first: - name: _VFogStartPos - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Distortion: 0 + - _DistortionIntensity: 5 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _VFogIntensity: 1 + - _VFogRange: 0 + - _VFogStartPos: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 0.322} - - first: - name: _Emission - second: {r: 0, g: 0.8235294, b: 0.653144, a: 0} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _MainColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 0.503} - - first: - name: _VFogColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 0.322} + - _Emission: {r: 0, g: 0.8235294, b: 0.653144, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _MainColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 0.503} + - _VFogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} diff --git a/Assets/Material/Background.mat b/Assets/Material/Background.mat index 5ce89edd..f8dba466 100644 --- a/Assets/Material/Background.mat +++ b/Assets/Material/Background.mat @@ -7,67 +7,38 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Background - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 1000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: {} + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _InvFade - second: 1 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _Glossiness: 0.5 + - _InvFade: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _PixelOffset - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _TexelOffset - second: {r: 0.0007401924, g: -0.0015432099, b: 0, a: 0} - - first: - name: _TintColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _PixelOffset: {r: 0, g: 0, b: 0, a: 0} + - _TexelOffset: {r: 0.0007401924, g: -0.0015432099, b: 0, a: 0} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Material/Button.mat b/Assets/Material/Button.mat index d4a8a449..4866fbf8 100644 --- a/Assets/Material/Button.mat +++ b/Assets/Material/Button.mat @@ -7,85 +7,42 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Button - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: 86da39a3e0281a54ba7829a7e512a2f9, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Material/DescScreen.mat b/Assets/Material/DescScreen.mat index c1980c7c..8adad280 100644 --- a/Assets/Material/DescScreen.mat +++ b/Assets/Material/DescScreen.mat @@ -7,97 +7,48 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: DescScreen - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 3001 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _DistortionTex - second: + - _DistortionTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: 4dfe830b79948bb4b9af45e9751e55f1, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _Distortion - second: 0 - - first: - name: _DistortionIntensity - second: 5 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Distortion: 0 + - _DistortionIntensity: 5 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.791, g: 0.791, b: 0.791, a: 0.5} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.791, g: 0.791, b: 0.791, a: 0.5} diff --git a/Assets/Material/Elevator1.mat b/Assets/Material/Elevator1.mat index c69d9ba2..221f90b7 100644 --- a/Assets/Material/Elevator1.mat +++ b/Assets/Material/Elevator1.mat @@ -7,76 +7,39 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Elevator1 - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: ff8c16d60e8a571459e12fbb8579bead, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Material/Floor.mat b/Assets/Material/Floor.mat index 66381239..c5cb2384 100644 --- a/Assets/Material/Floor.mat +++ b/Assets/Material/Floor.mat @@ -7,181 +7,74 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Floor - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: b385515fb866cd8408b35f7a59b34f8e, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1 - - first: - name: _BrushScaleX - second: 1 - - first: - name: _BrushScaleY - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionBloomFactor - second: 1 - - first: - name: _EmissionFactor - second: 0 - - first: - name: _EmissionFactorFromTexToggle - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _FadeDistance - second: 0.5 - - first: - name: _FadeOffset - second: 1 - - first: - name: _FogColorIntensity - second: 0.01 - - first: - name: _FogEffectLimit - second: 0.5 - - first: - name: _FogEffectStart - second: 0 - - first: - name: _FogIntensity - second: 0.01 - - first: - name: _FogStartDistance - second: 50 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _LightArea - second: 0.51 - - first: - name: _LightMapIntensity - second: 1 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Opaqueness - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _ReflectionEmissionAdjust - second: 1 - - first: - name: _SPIntensity - second: 0.5 - - first: - name: _SPNoiseScaler - second: 1 - - first: - name: _SPTransition - second: 0 - - first: - name: _SPTransitionBloomFactor - second: 1 - - first: - name: _SPTransitionEmissionScaler - second: 1 - - first: - name: _Scale - second: 0.01 - - first: - name: _Shininess - second: 10 - - first: - name: _SpecMulti - second: 0.1 - - first: - name: _SpecialState - second: 0 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _VertexAlphaFactor - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1 + - _BrushScaleX: 1 + - _BrushScaleY: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionBloomFactor: 1 + - _EmissionFactor: 0 + - _EmissionFactorFromTexToggle: 0 + - _EmissionScaler: 1 + - _FadeDistance: 0.5 + - _FadeOffset: 1 + - _FogColorIntensity: 0.01 + - _FogEffectLimit: 0.5 + - _FogEffectStart: 0 + - _FogIntensity: 0.01 + - _FogStartDistance: 50 + - _Glossiness: 0.5 + - _LightArea: 0.51 + - _LightMapIntensity: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Opaqueness: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _ReflectionEmissionAdjust: 1 + - _SPIntensity: 0.5 + - _SPNoiseScaler: 1 + - _SPTransition: 0 + - _SPTransitionBloomFactor: 1 + - _SPTransitionEmissionScaler: 1 + - _Scale: 0.01 + - _Shininess: 10 + - _SpecMulti: 0.1 + - _SpecialState: 0 + - _SrcBlend: 1 + - _UVSec: 0 + - _VertexAlphaFactor: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _ClipPlane - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _Emission - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _FogColorFar - second: {r: 1, g: 0, b: 0, a: 1} - - first: - name: _FogColorNear - second: {r: 1, g: 0, b: 0, a: 1} - - first: - name: _FresnelParams - second: {r: 1, g: 1, b: 0, a: 0} - - first: - name: _LightSpecColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _MainColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _SPOutlineColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _SPTransitionColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _ShadowMultColor - second: {r: 0.9, g: 0.7, b: 0.75, a: 1} + - _ClipPlane: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Emission: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _FogColorFar: {r: 1, g: 0, b: 0, a: 1} + - _FogColorNear: {r: 1, g: 0, b: 0, a: 1} + - _FresnelParams: {r: 1, g: 1, b: 0, a: 0} + - _LightSpecColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SPOutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _SPTransitionColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowMultColor: {r: 0.9, g: 0.7, b: 0.75, a: 1} diff --git a/Assets/Material/FloorAlpha.mat b/Assets/Material/FloorAlpha.mat index 792927af..cad866ec 100644 --- a/Assets/Material/FloorAlpha.mat +++ b/Assets/Material/FloorAlpha.mat @@ -7,202 +7,84 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: FloorAlpha - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 3002 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _DistortionTex - second: + - _DistortionTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: 7179e4612d349784590a6eac9db6553d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1 - - first: - name: _BrushScaleX - second: 1 - - first: - name: _BrushScaleY - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _Distortion - second: 0 - - first: - name: _DistortionIntensity - second: 5 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionBloomFactor - second: 1 - - first: - name: _EmissionFactor - second: 0 - - first: - name: _EmissionFactorFromTexToggle - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _FadeDistance - second: 0.5 - - first: - name: _FadeOffset - second: 1 - - first: - name: _FogColorIntensity - second: 0.01 - - first: - name: _FogEffectLimit - second: 0.5 - - first: - name: _FogEffectStart - second: 0 - - first: - name: _FogIntensity - second: 0.01 - - first: - name: _FogStartDistance - second: 50 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _LightArea - second: 0.51 - - first: - name: _LightMapIntensity - second: 1 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Opaqueness - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _ReflectionEmissionAdjust - second: 1 - - first: - name: _SPIntensity - second: 0.5 - - first: - name: _SPNoiseScaler - second: 1 - - first: - name: _SPTransition - second: 0 - - first: - name: _SPTransitionBloomFactor - second: 1 - - first: - name: _SPTransitionEmissionScaler - second: 1 - - first: - name: _Scale - second: 0.01 - - first: - name: _Shininess - second: 10 - - first: - name: _SpecMulti - second: 0.1 - - first: - name: _SpecialState - second: 0 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _VertexAlphaFactor - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1 + - _BrushScaleX: 1 + - _BrushScaleY: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Distortion: 0 + - _DistortionIntensity: 5 + - _DstBlend: 0 + - _EmissionBloomFactor: 1 + - _EmissionFactor: 0 + - _EmissionFactorFromTexToggle: 0 + - _EmissionScaler: 1 + - _FadeDistance: 0.5 + - _FadeOffset: 1 + - _FogColorIntensity: 0.01 + - _FogEffectLimit: 0.5 + - _FogEffectStart: 0 + - _FogIntensity: 0.01 + - _FogStartDistance: 50 + - _Glossiness: 0.5 + - _InvFade: 1 + - _LightArea: 0.51 + - _LightMapIntensity: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Opaqueness: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _ReflectionEmissionAdjust: 1 + - _SPIntensity: 0.5 + - _SPNoiseScaler: 1 + - _SPTransition: 0 + - _SPTransitionBloomFactor: 1 + - _SPTransitionEmissionScaler: 1 + - _Scale: 0.01 + - _Shininess: 10 + - _SpecMulti: 0.1 + - _SpecialState: 0 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _VertexAlphaFactor: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _ClipPlane - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _Emission - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _FogColorFar - second: {r: 1, g: 0, b: 0, a: 1} - - first: - name: _FogColorNear - second: {r: 1, g: 0, b: 0, a: 1} - - first: - name: _FresnelParams - second: {r: 1, g: 1, b: 0, a: 0} - - first: - name: _LightSpecColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _MainColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _SPOutlineColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _SPTransitionColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _ShadowMultColor - second: {r: 0.9, g: 0.7, b: 0.75, a: 1} - - first: - name: _TintColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + - _ClipPlane: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Emission: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _FogColorFar: {r: 1, g: 0, b: 0, a: 1} + - _FogColorNear: {r: 1, g: 0, b: 0, a: 1} + - _FresnelParams: {r: 1, g: 1, b: 0, a: 0} + - _LightSpecColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SPOutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _SPTransitionColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowMultColor: {r: 0.9, g: 0.7, b: 0.75, a: 1} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Material/InnerDoor.mat b/Assets/Material/InnerDoor.mat index c9b1a396..0bf38b56 100644 --- a/Assets/Material/InnerDoor.mat +++ b/Assets/Material/InnerDoor.mat @@ -7,151 +7,64 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: InnerDoor - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: 86da39a3e0281a54ba7829a7e512a2f9, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionBloomFactor - second: 1 - - first: - name: _EmissionFactor - second: 0 - - first: - name: _EmissionFactorFromTexToggle - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _FadeDistance - second: 0.5 - - first: - name: _FadeOffset - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _LightArea - second: 0.51 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Opaqueness - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _SPIntensity - second: 0.5 - - first: - name: _SPNoiseScaler - second: 1 - - first: - name: _SPTransition - second: 0 - - first: - name: _SPTransitionBloomFactor - second: 1 - - first: - name: _SPTransitionEmissionScaler - second: 1 - - first: - name: _Scale - second: 0.01 - - first: - name: _Shininess - second: 10 - - first: - name: _SpecMulti - second: 0.1 - - first: - name: _SpecialState - second: 0 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _VertexAlphaFactor - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionBloomFactor: 1 + - _EmissionFactor: 0 + - _EmissionFactorFromTexToggle: 0 + - _EmissionScaler: 1 + - _FadeDistance: 0.5 + - _FadeOffset: 1 + - _Glossiness: 0.5 + - _LightArea: 0.51 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Opaqueness: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _SPIntensity: 0.5 + - _SPNoiseScaler: 1 + - _SPTransition: 0 + - _SPTransitionBloomFactor: 1 + - _SPTransitionEmissionScaler: 1 + - _Scale: 0.01 + - _Shininess: 10 + - _SpecMulti: 0.1 + - _SpecialState: 0 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _VertexAlphaFactor: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _ClipPlane - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _LightSpecColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _MainColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _SPOutlineColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _SPTransitionColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _ShadowMultColor - second: {r: 0.9, g: 0.7, b: 0.75, a: 1} - - first: - name: _TintColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + - _ClipPlane: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _LightSpecColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SPOutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _SPTransitionColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowMultColor: {r: 0.9, g: 0.7, b: 0.75, a: 1} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Material/InnerDoorGlass.mat b/Assets/Material/InnerDoorGlass.mat index d9b8e446..77f03cf7 100644 --- a/Assets/Material/InnerDoorGlass.mat +++ b/Assets/Material/InnerDoorGlass.mat @@ -7,97 +7,48 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: InnerDoorGlass - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 3003 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _DistortionTex - second: + - _DistortionTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: 86da39a3e0281a54ba7829a7e512a2f9, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _Distortion - second: 0 - - first: - name: _DistortionIntensity - second: 5 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Distortion: 0 + - _DistortionIntensity: 5 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Material/OutsideDoor.mat b/Assets/Material/OutsideDoor.mat index ad3a3983..80db64f7 100644 --- a/Assets/Material/OutsideDoor.mat +++ b/Assets/Material/OutsideDoor.mat @@ -7,85 +7,42 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: OutsideDoor - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: d51f61cb981e8e641afe5e85f49cd1ae, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Material/OutsideDoorGlass.mat b/Assets/Material/OutsideDoorGlass.mat index dd51f852..cc7a340d 100644 --- a/Assets/Material/OutsideDoorGlass.mat +++ b/Assets/Material/OutsideDoorGlass.mat @@ -7,97 +7,48 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: OutsideDoorGlass - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 3002 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _DistortionTex - second: + - _DistortionTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: d51f61cb981e8e641afe5e85f49cd1ae, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _Distortion - second: 0 - - first: - name: _DistortionIntensity - second: 5 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Distortion: 0 + - _DistortionIntensity: 5 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Material/Pillar.mat b/Assets/Material/Pillar.mat index 7145413f..fbe85d0f 100644 --- a/Assets/Material/Pillar.mat +++ b/Assets/Material/Pillar.mat @@ -7,76 +7,39 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Pillar - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: ff8c16d60e8a571459e12fbb8579bead, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/Material/ProjectiveLight.mat b/Assets/Material/ProjectiveLight.mat index e8eb9e8e..b9320430 100644 --- a/Assets/Material/ProjectiveLight.mat +++ b/Assets/Material/ProjectiveLight.mat @@ -7,85 +7,45 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: ProjectiveLight - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 3000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: dddf17da4b0ba674088edf17c95ed0ed, type: 3} m_Scale: {x: 1, y: 0.8} m_Offset: {x: 0, y: 0} - - first: - name: _SpecularTex - second: + - _SpecularTex: m_Texture: {fileID: 2800000, guid: 4a63eba8958a7bf4db34e834b4bafe71, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.5 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _LightStrength - second: 1.2 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.5 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _InvFade: 1 + - _LightStrength: 1.2 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.36862746, g: 0.28235295, b: 0.41568628, a: 0.49803922} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.36862746, g: 0.28235295, b: 0.41568628, a: 0.49803922} diff --git a/Assets/Material/Screen_0.mat b/Assets/Material/Screen_0.mat index fb85668b..81a7b075 100644 --- a/Assets/Material/Screen_0.mat +++ b/Assets/Material/Screen_0.mat @@ -7,118 +7,53 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Screen_0 - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 3001 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: 2363e702631cf454b9eea604158c7bea, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _Emission - second: 1 - - first: - name: _EmissionFactor - second: 0 - - first: - name: _FadeDistance - second: 0.5 - - first: - name: _FadeOffset - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _InvFade - second: 1 - - first: - name: _LightArea - second: 0.51 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.2 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _Scaler - second: 1 - - first: - name: _Shininess - second: 10 - - first: - name: _SpecMulti - second: 0.1 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _VertexAlphaFactor - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _Emission: 1 + - _EmissionFactor: 0 + - _FadeDistance: 0.5 + - _FadeOffset: 1 + - _Glossiness: 0.5 + - _InvFade: 1 + - _LightArea: 0.51 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.2 + - _Parallax: 0.02 + - _Scale: 0.01 + - _Scaler: 1 + - _Shininess: 10 + - _SpecMulti: 0.1 + - _SrcBlend: 1 + - _UVSec: 0 + - _VertexAlphaFactor: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _ClipPlane - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _LightSpecColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _MainColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _ShadowMultColor - second: {r: 0.9, g: 0.7, b: 0.75, a: 1} - - first: - name: _TintColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + - _ClipPlane: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _LightSpecColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _ShadowMultColor: {r: 0.9, g: 0.7, b: 0.75, a: 1} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Material/Screw.mat b/Assets/Material/Screw.mat index bbf9afce..518e849f 100644 --- a/Assets/Material/Screw.mat +++ b/Assets/Material/Screw.mat @@ -7,181 +7,74 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Screw - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2000 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: d51f61cb981e8e641afe5e85f49cd1ae, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.3 - - first: - name: _BrushScaleX - second: 1 - - first: - name: _BrushScaleY - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionBloomFactor - second: 1 - - first: - name: _EmissionFactor - second: 0 - - first: - name: _EmissionFactorFromTexToggle - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _FadeDistance - second: 0.5 - - first: - name: _FadeOffset - second: 1 - - first: - name: _FogColorIntensity - second: 0.01 - - first: - name: _FogEffectLimit - second: 0.5 - - first: - name: _FogEffectStart - second: 0 - - first: - name: _FogIntensity - second: 0.01 - - first: - name: _FogStartDistance - second: 50 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _LightArea - second: 0.51 - - first: - name: _LightMapIntensity - second: 1 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Opaqueness - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _ReflectionEmissionAdjust - second: 1 - - first: - name: _SPIntensity - second: 0.5 - - first: - name: _SPNoiseScaler - second: 1 - - first: - name: _SPTransition - second: 0 - - first: - name: _SPTransitionBloomFactor - second: 1 - - first: - name: _SPTransitionEmissionScaler - second: 1 - - first: - name: _Scale - second: 0.01 - - first: - name: _Shininess - second: 10 - - first: - name: _SpecMulti - second: 0.1 - - first: - name: _SpecialState - second: 0 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _VertexAlphaFactor - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.3 + - _BrushScaleX: 1 + - _BrushScaleY: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionBloomFactor: 1 + - _EmissionFactor: 0 + - _EmissionFactorFromTexToggle: 0 + - _EmissionScaler: 1 + - _FadeDistance: 0.5 + - _FadeOffset: 1 + - _FogColorIntensity: 0.01 + - _FogEffectLimit: 0.5 + - _FogEffectStart: 0 + - _FogIntensity: 0.01 + - _FogStartDistance: 50 + - _Glossiness: 0.5 + - _LightArea: 0.51 + - _LightMapIntensity: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Opaqueness: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _ReflectionEmissionAdjust: 1 + - _SPIntensity: 0.5 + - _SPNoiseScaler: 1 + - _SPTransition: 0 + - _SPTransitionBloomFactor: 1 + - _SPTransitionEmissionScaler: 1 + - _Scale: 0.01 + - _Shininess: 10 + - _SpecMulti: 0.1 + - _SpecialState: 0 + - _SrcBlend: 1 + - _UVSec: 0 + - _VertexAlphaFactor: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _ClipPlane - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _Emission - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _FogColorFar - second: {r: 1, g: 0, b: 0, a: 1} - - first: - name: _FogColorNear - second: {r: 1, g: 0, b: 0, a: 1} - - first: - name: _FresnelParams - second: {r: 1, g: 1, b: 0, a: 0} - - first: - name: _LightSpecColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _MainColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _SPOutlineColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _SPTransitionColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _ShadowMultColor - second: {r: 0.9, g: 0.7, b: 0.75, a: 1} + - _ClipPlane: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Emission: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _FogColorFar: {r: 1, g: 0, b: 0, a: 1} + - _FogColorNear: {r: 1, g: 0, b: 0, a: 1} + - _FresnelParams: {r: 1, g: 1, b: 0, a: 0} + - _LightSpecColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SPOutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _SPTransitionColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowMultColor: {r: 0.9, g: 0.7, b: 0.75, a: 1} diff --git a/Assets/Material/Shadow02.mat b/Assets/Material/Shadow02.mat index d2a8d1fb..e31a63a7 100644 --- a/Assets/Material/Shadow02.mat +++ b/Assets/Material/Shadow02.mat @@ -7,98 +7,49 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Shadow02 - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 3005 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: Distortion: None + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _DistortionTex - second: + - _DistortionTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: fc9ec89ab3bcee14ab27070e74099d35, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _Distortion - second: 0 - - first: - name: _DistortionIntensity - second: 5 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _Scale - second: 0.01 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Distortion: 0 + - _DistortionIntensity: 5 + - _DstBlend: 0 + - _EmissionScaler: 1 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _Scale: 0.01 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} diff --git a/Assets/Material/Staff.mat b/Assets/Material/Staff.mat index fa4ed5d9..7cbed06e 100644 --- a/Assets/Material/Staff.mat +++ b/Assets/Material/Staff.mat @@ -7,169 +7,72 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Staff - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2999 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _DistortionTex - second: + - _DistortionTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: d7e99776830b19e47b4364179f82c60f, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _Distortion - second: 0 - - first: - name: _DistortionIntensity - second: 5 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionBloomFactor - second: 1 - - first: - name: _EmissionFactor - second: 0 - - first: - name: _EmissionFactorFromTexToggle - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _FadeDistance - second: 0.5 - - first: - name: _FadeOffset - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _LightArea - second: 0.51 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Opaqueness - second: 1 - - first: - name: _OpaquenessFromTexToggle - second: 0 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _SPIntensity - second: 0.5 - - first: - name: _SPNoiseScaler - second: 1 - - first: - name: _SPTransition - second: 0 - - first: - name: _SPTransitionBloomFactor - second: 1 - - first: - name: _SPTransitionEmissionScaler - second: 1 - - first: - name: _Scale - second: 0.01 - - first: - name: _Shininess - second: 10 - - first: - name: _SpecMulti - second: 0.1 - - first: - name: _SpecialState - second: 0 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _VertexAlphaFactor - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Distortion: 0 + - _DistortionIntensity: 5 + - _DstBlend: 0 + - _EmissionBloomFactor: 1 + - _EmissionFactor: 0 + - _EmissionFactorFromTexToggle: 0 + - _EmissionScaler: 1 + - _FadeDistance: 0.5 + - _FadeOffset: 1 + - _Glossiness: 0.5 + - _LightArea: 0.51 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Opaqueness: 1 + - _OpaquenessFromTexToggle: 0 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _SPIntensity: 0.5 + - _SPNoiseScaler: 1 + - _SPTransition: 0 + - _SPTransitionBloomFactor: 1 + - _SPTransitionEmissionScaler: 1 + - _Scale: 0.01 + - _Shininess: 10 + - _SpecMulti: 0.1 + - _SpecialState: 0 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _VertexAlphaFactor: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _ClipPlane - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _Emission - second: {r: 0.33088237, g: 0.33088237, b: 0.33088237, a: 0} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _LightSpecColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _MainColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _SPOutlineColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _SPTransitionColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _ShadowMultColor - second: {r: 0.9, g: 0.7, b: 0.75, a: 1} - - first: - name: _TintColor - second: {r: 0.312, g: 0.312, b: 0.312, a: 0.5} + - _ClipPlane: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Emission: {r: 0.33088237, g: 0.33088237, b: 0.33088237, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _LightSpecColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SPOutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _SPTransitionColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowMultColor: {r: 0.9, g: 0.7, b: 0.75, a: 1} + - _TintColor: {r: 0.312, g: 0.312, b: 0.312, a: 0.5} diff --git a/Assets/Material/StaffLight.mat b/Assets/Material/StaffLight.mat index 6cf21584..61fbcbcb 100644 --- a/Assets/Material/StaffLight.mat +++ b/Assets/Material/StaffLight.mat @@ -7,169 +7,72 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: StaffLight - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 10750, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 - m_CustomRenderQueue: 2999 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _DistortionTex - second: + - _DistortionTex: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: d7e99776830b19e47b4364179f82c60f, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _Distortion - second: 0 - - first: - name: _DistortionIntensity - second: 5 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionBloomFactor - second: 1 - - first: - name: _EmissionFactor - second: 0 - - first: - name: _EmissionFactorFromTexToggle - second: 0 - - first: - name: _EmissionScaler - second: 1 - - first: - name: _FadeDistance - second: 0.5 - - first: - name: _FadeOffset - second: 1 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _LightArea - second: 0.51 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Opaqueness - second: 1 - - first: - name: _OpaquenessFromTexToggle - second: 0 - - first: - name: _OutlineWidth - second: 0.1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _SPIntensity - second: 0.5 - - first: - name: _SPNoiseScaler - second: 1 - - first: - name: _SPTransition - second: 0 - - first: - name: _SPTransitionBloomFactor - second: 1 - - first: - name: _SPTransitionEmissionScaler - second: 1 - - first: - name: _Scale - second: 0.01 - - first: - name: _Shininess - second: 10 - - first: - name: _SpecMulti - second: 0.1 - - first: - name: _SpecialState - second: 0 - - first: - name: _SrcBlend - second: 1 - - first: - name: _TSAspectRatio - second: 1 - - first: - name: _TextureScale - second: 0 - - first: - name: _UVSec - second: 0 - - first: - name: _VertexAlphaFactor - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _Distortion: 0 + - _DistortionIntensity: 5 + - _DstBlend: 0 + - _EmissionBloomFactor: 1 + - _EmissionFactor: 0 + - _EmissionFactorFromTexToggle: 0 + - _EmissionScaler: 1 + - _FadeDistance: 0.5 + - _FadeOffset: 1 + - _Glossiness: 0.5 + - _LightArea: 0.51 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Opaqueness: 1 + - _OpaquenessFromTexToggle: 0 + - _OutlineWidth: 0.1 + - _Parallax: 0.02 + - _SPIntensity: 0.5 + - _SPNoiseScaler: 1 + - _SPTransition: 0 + - _SPTransitionBloomFactor: 1 + - _SPTransitionEmissionScaler: 1 + - _Scale: 0.01 + - _Shininess: 10 + - _SpecMulti: 0.1 + - _SpecialState: 0 + - _SrcBlend: 1 + - _TSAspectRatio: 1 + - _TextureScale: 0 + - _UVSec: 0 + - _VertexAlphaFactor: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _ClipPlane - second: {r: 0, g: 0, b: 0, a: 0} - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _Emission - second: {r: 0.33088237, g: 0.33088237, b: 0.33088237, a: 0} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _LightSpecColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _MainColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _OutlineColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _SPOutlineColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _SPTransitionColor - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _ShadowMultColor - second: {r: 0.9, g: 0.7, b: 0.75, a: 1} - - first: - name: _TintColor - second: {r: 0.493, g: 0.493, b: 0.493, a: 0.5} + - _ClipPlane: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Emission: {r: 0.33088237, g: 0.33088237, b: 0.33088237, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _LightSpecColor: {r: 1, g: 1, b: 1, a: 1} + - _MainColor: {r: 1, g: 1, b: 1, a: 1} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SPOutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _SPTransitionColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowMultColor: {r: 0.9, g: 0.7, b: 0.75, a: 1} + - _TintColor: {r: 0.493, g: 0.493, b: 0.493, a: 0.5} diff --git a/Assets/Material/StartLight 1.mat b/Assets/Material/StartLight 1.mat index b4ab83e4..61cc1467 100644 --- a/Assets/Material/StartLight 1.mat +++ b/Assets/Material/StartLight 1.mat @@ -7,70 +7,38 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: StartLight 1 - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: ff8c16d60e8a571459e12fbb8579bead, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 1.5 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 2 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 1.5 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaler: 2 + - _Glossiness: 0.5 + - _InvFade: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.203, g: 0.203, b: 0.203, a: 0.5} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.203, g: 0.203, b: 0.203, a: 0.5} diff --git a/Assets/Material/StartLight.mat b/Assets/Material/StartLight.mat index b33b46f2..12114c20 100644 --- a/Assets/Material/StartLight.mat +++ b/Assets/Material/StartLight.mat @@ -7,70 +7,38 @@ Material: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: StartLight - m_Shader: {fileID: 4800000, guid: 0000000deadbeef15deadf00d0000000, type: 2} - m_ShaderKeywords: + m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} + disabledShaderPasses: [] m_SavedProperties: - serializedVersion: 2 + serializedVersion: 3 m_TexEnvs: - - first: - name: _MainTex - second: + - _MainTex: m_Texture: {fileID: 2800000, guid: ff8c16d60e8a571459e12fbb8579bead, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: - - first: - name: _BloomFactor - second: 0.2 - - first: - name: _BumpScale - second: 1 - - first: - name: _Cutoff - second: 0.5 - - first: - name: _DetailNormalMapScale - second: 1 - - first: - name: _DstBlend - second: 0 - - first: - name: _EmissionScaler - second: 0.8 - - first: - name: _Glossiness - second: 0.5 - - first: - name: _Metallic - second: 0 - - first: - name: _Mode - second: 0 - - first: - name: _OcclusionStrength - second: 1 - - first: - name: _Parallax - second: 0.02 - - first: - name: _SrcBlend - second: 1 - - first: - name: _UVSec - second: 0 - - first: - name: _ZWrite - second: 1 + - _BloomFactor: 0.2 + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EmissionScaler: 0.8 + - _Glossiness: 0.5 + - _InvFade: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 m_Colors: - - first: - name: _Color - second: {r: 1, g: 1, b: 1, a: 1} - - first: - name: _EmissionColor - second: {r: 0, g: 0, b: 0, a: 1} - - first: - name: _TintColor - second: {r: 0.203, g: 0.203, b: 0.203, a: 0.5} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _TintColor: {r: 0.203, g: 0.203, b: 0.203, a: 0.5} diff --git a/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/ScreenshotCapture.cs b/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/ScreenshotCapture.cs index 3b02ab5a..bbb77242 100644 --- a/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/ScreenshotCapture.cs +++ b/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/ScreenshotCapture.cs @@ -18,7 +18,7 @@ namespace CinemaDirector private void Update() { string filename = string.Format("{0}/shot {1:D04}.png", Folder, Time.frameCount); - Application.CaptureScreenshot(filename); + ScreenCapture.CaptureScreenshot(filename); } } } diff --git a/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/SetDestinationEvent.cs b/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/SetDestinationEvent.cs index a2a01962..bffed589 100644 --- a/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/SetDestinationEvent.cs +++ b/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/SetDestinationEvent.cs @@ -9,7 +9,7 @@ namespace CinemaDirector public override void Trigger(GameObject actor) { - NavMeshAgent component = actor.GetComponent(); + UnityEngine.AI.NavMeshAgent component = actor.GetComponent(); if (component != null) { component.SetDestination(target); diff --git a/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/StoryboardEvent.cs b/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/StoryboardEvent.cs index 085a726c..5fa5cb56 100644 --- a/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/StoryboardEvent.cs +++ b/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/StoryboardEvent.cs @@ -11,7 +11,7 @@ namespace CinemaDirector public override void Trigger() { - Application.CaptureScreenshot(string.Format("Assets\\{0}{1}.png", base.gameObject.name, Count++)); + ScreenCapture.CaptureScreenshot(string.Format("Assets\\{0}{1}.png", base.gameObject.name, Count++)); } } } diff --git a/Assets/Plugins/Assembly-CSharp-firstpass/UniWebViewMessage.cs b/Assets/Plugins/Assembly-CSharp-firstpass/UniWebViewMessage.cs index 797ebe9f..64c1ea2d 100644 --- a/Assets/Plugins/Assembly-CSharp-firstpass/UniWebViewMessage.cs +++ b/Assets/Plugins/Assembly-CSharp-firstpass/UniWebViewMessage.cs @@ -14,6 +14,9 @@ public struct UniWebViewMessage public UniWebViewMessage(string rawMessage) { + this.path = null; + this.scheme = null; + this.args = null; this.rawMessage = rawMessage; string[] array = rawMessage.Split(new string[1] { "://" }, StringSplitOptions.None); if (array.Length >= 2) diff --git a/Assets/Plugins/FullInspector-Core.dll b/Assets/Plugins/FullInspector-Core.dll index 85f1e446e217673e2f09bcbd04f24b5436945bb8..1215f59a1db488953213c205ffff2365035b1dfc 100644 GIT binary patch literal 244736 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�oOeIXD&K zG$I|070y;=O^zjGWNqYhqx3SUc-Oc$EjQK|CCBp^9G6M4_;V zUj{C@(v87=??!LWFJ|GNd3!JJQBL!bXYhWS^hZL`*U8pB?Q+iYo=(|I^J$Xkx5q|9iM+t*Mo^?nP@W-_z=0*_%V2wf$`F*|gE2q8 z%3KIa<02kfSymfl!;Cdtc4S-(cyK6aJ{xMuB}9^E@<`7@SkATgP?0r;e|sutnvp@E zat`+n^)@dfD|?@kOO;y^>tnr*O8wlj_@K#F2IJ=nulJf?cIYUYpJr zQkNb==Xo)NuDouW2n3XHl^&dbWXUF##??D}pSCYlTE#Fha$HJ=5+p3Gc7WB*zpQkxjbu+&RFyh*cl7onp+B8QeP;jUHp{U!n6Ix%c!!}%X#>XS15R$ zg6Y+R=JT(CCpyMQ)DBtTgu4tJyveh9rQdGsrUXj%96;^o@<^ViM0!p^lFNABF>gSBMX+Ma*e5d65zd zy3;w6Cn6mhs#2rzi%HMcR<{t2=tJm~dO_KS&!#(GIkJ8S|D|+cOT(-5eDt+dhCJyR zgFf%DV>)Z8vQ$Pf@=fM-ZDun^cxT>VRcG}x4>%Tw z?xm2ddR*PfAI;Cxw#YDZ1g+Oh>$MEYZM{}+n+R<)2R=)W>9+w} zhqX?;xb~`X>9gU(^_Pg-V{4`UW(Ct#fX0ml*{|igKzu;hcn83#=i&GO(2m2#I|ZQb zN~3fv{C`+BDGyq2B+2@k-QndMuclzZ)|Tq}CW5{JlA8&RY{>L*5N%C($t^sjW3`JV zyeqS4ya|jfTL*78uQwO)PD{xLB`3#L^tKGI%Q2f6qnD5qk?st41d? z7Rjw5p2@Fz&r{w?$`&ailYgdMw<&85+&l$pDS4Zt=kDMrl+#q0QF^qpsEkgI47*cC z=Tn^S-wvY;W9dG9^`>;dr9-XnvGCH68z$>_TX?5RdQ|jX$W`m# z22s!Llhh#H>+|+J&^v>%9eeFVZ!3zyc~l$kRw3}A@8RuDpQ3)FkFK-+6=-G$Z^Nci zZIR}dm`*Sp>35*Zb^)J*x*_x{I+hjMRZoNQVn$M0I`3SN)X@6MaIbrX@spSw+u6aC zcALC*(?ucfHlO~7gfB>7N5R^A(wveXlQ3MaajVerLSln;C3&yd^f~-$U*DD&U=!8S zP(<&K{|()~KThHG*-_8r7|_|R9a#Vp>`)qJ=QKOD-$%;YTXAOI_($dvVYt6GJTMM< za;56fHmI;Vki4I)$!`g-wC|~_=1l*cgdeO9cD9tHLJ#Ib&zmXqV3*MIGNA_$dZ0Qm zQ*~?4m-Mya`Go|&gWxQ~?Btv3mF1f&k!56fex~Lr6(gLD7$#SBBVHlIl3g(t(`|+B zaB*4=2iFE|qg|apu@kzons=vr*uU@r_`6LxcaYu7EQ#JdED!Hs!+`1zqh!
muIx zRs4gk@G^X)7hnzTgAfVqxkf`|;78=}e0_n#0Ur{cd%15?I7>rUhvU{4%4@%h&boZt zBlG>R@zt}NuOLOfA8~y3vdh}s)?>tc6uvrFe;sX8rG3zkLH4WYj;-9elj%!s!H{Bwl2eE9u!%3QI{Zyp# zFGJj(_@k6kl_J)z0plaU{w5999lBxlnsElp)g#)8i7(lPBXxJg4VdE?>~qrCEorWh z*64>zBkmyW2^x(#7M!zCYa1>*`Lbw*gKy=u2_lZS%Hr1K`l@}CN1I3wN~D7nT#~um zfq6F3t(N6(pJ9>3nVOmQM#VyI`xH4BaCoBPme&$d;skKD&m4TU(zm_#V)f$GUO3DR z9Ve1J+)sn-&F?L^qR8*tUHtIze=@+*YQJ;rDf5p>!{*(wjXodWbsr48ZF`ISfXKUp z&iG))<^O<2LF(#2tnPssfKt8eoN=MP*50z60i3IwYHzQ)f^GH;bn{fknTU<^z`*gE3r{u6@}WbK)~BLuGI-+aRQQ`^3uH`YMkX*Y3DyT3r) zR_#0Vu>ba#FgDZn#@_*I(B3QS05sFMR%E#GP0oLy(wrpCZ7=#bfC<)KXx;_rCj<=z z9j9)*itDa96y{)ubkHAwteu1S0Rj6d2G4eCv$ps{CG}Q(+^6)fyYHM`r^km~2XX=K zr2Fn9-}JSk%IY^ii6om*1($ZGAEP8f7=NAy!kEa-W89c7{uH>`aDzRR@$JM{je?%x z(So6=4TU+L=~gS6MkAQqpJ3{OcP8Wv#nuMv2ajMV^$U5r3z2cYk(L`$m#U0xUQ}J} zOVH%6-#p*j)P`*-W_aq3-gy@1HUk_wVkmcENt^t>*@MYb$GA4N=^)blG8oU|$(?!b ze3f8E-i14m7cbM5SMf*8%i6Qsb6J0$@?Je7uj0vPjIS)yX0H+`)A_Yt{ZqE4bHFIsP-xq3M=qadKc>PShU>iIt$P;waAkeZ!G$`QAR{b@e?wM1~jS8O-@x z+)wVx#mK8W%j@d;iOT!J8F>|F+k2ij?|EfsbVIu1m-4?@d9TUyTEA&=O7kVlybxT! zffwQ{c#z!9JKv)6BCq}f<;NGN1swp{YyTJVGj@T;x~VsUL}=>p zshbG7{V$RWM?l%0DY~!7>AHGUJo&0o><6>)H474Q{!KSIXZf#F{_AGsSNxIkV+)^9 zo>%61oGmC`u!X-0=T$k5vjxQqw&46M&W3XAzYzRa=lH`C*5cUz{kd-PhDWOGIrsaF zxYppuvIXM3NUvWglCRB4x~8o7oXs)!1FkKDR}Y$f;O z&?(AuXbn2A&*?aM6wl}&4>N~Mp58~2rzJXX$muwF6wl}+4BQ?;9@i&2AA7&(+>q08 zHmi8@^*L%f^IKD<+koD?edCP0iYMQAguK!x9S?I1T9W&+RJg5V2U6=jtj2FuYGh}6 z^tn*6+`ppFl1HQRt`;5t6dSp@t2+({%4*0d$v0s?vfkZ8kbZs&{Zq=xw}6+EZ|i9% z@Ezt_ZT<6E8*xX8^3nO*C?21oxYTP={bLqh?4Ob@dic=rPYG*Zw^{333}iOZsSzlrRoj9KY6*xI#8&F~t}cuFaG z5E1k($^HHx-SG_m%N*k7o21<#kDLBb(mIWrRrm!iHAahLTW$uWQzUdAs2%7If*CYp zmuvGaWN3T`0XQ{aB$Dq+MPc#~uMTyWw&l$t|2-2I+P;SnbI{&3rM*?Ozwc-#KX7D! z=*XsJ5Aw3RF)V`ynFTsjCY$#%5Y64`6%;0zNHoR3CcHg z?PdHadDFd&pT$rbD`@_F=M$Tpq|w|RnhZj!+9G)?r5f^TCex687Jn;{vI!SX{f|WC z`vDTzKFeO68TYPHxj57NGg5bJ1I zXawuyUxPK@TWJ}C4e@V?=I5P$=Jonl(O34&E4g=X5dRj0d8L&mPf%LFKK@+_kQe|q z7{=&!vc|s$)VtCI%u^s`@Qg;UC3grp4(ex1?zcqI!Ax2kQz;&ul4G3FPvtVY42s-e zCSym7-n!Dp4T1JNdh5=7Ol(q>q@?CiUR71bHdvn*t@qKmV4Edde=@-`xiWRnRnScH zDb-*@$rW+loRZ8dnVz%y>Mglyl3kZ<|A38?QUeM$L}@Ki(XzGB>BCtITPbBFqb~1> zsVXy5Nz0FA$uP3oxBMHOfWSnv+srKau+9e7nJM*$jH_tR;6ngol%eW1#0*r(2kUAsQL z?{rQM+SL`*uOnyN;ZU|8b(?;BChMBx;I=gV`N|nw>1l0i7`-h$?&A9UAjOx5PG&2K z`$bkKf7#z6EhHCGqOIbQ?M#v__Ih{2>qXKPQ>Uv4+rGZ(cVx1ZO>cZnklwiQ$}NmP z!9_+6v!3{9#nN&Q_Bo9Gfc3d@y)&b=#;_MD#ord74O9=TO9CZgD-za&}ldRgoP7kAU@Xk zGvWA1LI4n8tnpU?D3Ach%mf@e6F^0EXE}Z*;PC=r-BEl3p-$IgZS{WS!>=Nrk9_Uh z7!%r^B~@Z3=9EANZ&QaZaY%`hdrBaKTM63Kt-}}=h6*wzkio4;ZFKH17UUQL8Qft| z7Y<`#jv-K64~Oxt45KEDzl)1NZ9U=>XO=Orxxq_RMnCxn$n_^tZOK0gMWMSPC{3t^ z$#$UbcTyd0z9&rn;LqslTG4601x}OSCF;cwlOtie8@1n^i8UgzdH_ucWbpVT#A?4M z!&sDK2xM@F@!kw$agHHSTMxsCark3X;vetD2RA25Lfxf1I`}e#p|Pc7`eKHf?vve_ zlsAkKD73Ac@!rY^VhO~_FJb2ScIpqRMXaWkK3JfhH&(a5`ZeC#uY2=UcIia+<8*Q> zGEII$@Pba>2hi+^b>CDc0=4yUC4PT~u{6gJsI5n##G;B^LF(#CUc3 z4xb$fYv11~Gs353ek;h6%n7^7`~iSg<{k4A3Dnl3P$K0`OQhicQlfkR{St|KULseX z)4jE?aOKfBVo&6MsqA`D_G8}qkpa2+UJovHlHv?^OT0y_eMomn#4AzWN3ii0aRCf&ThiTwtL7 z2^ScwKi~rM>KvL=uKD$yU0{d$p)OFZKivg}>aTNw;reG?U_t%&F0im(-N~}o>c_ai zNd5UPu&92g3oNex-36A^4_;=-OY3L3z>f9nTwtgAH(X#@eerU`Szdp-3#_Q$>;gO2 z?{$G)>Wfzx&aU+{U0}ERt6X4Z{Z1EHRsW|8>|Q^4XG4zb&v$`6>Th&`(fX%cV61+( z3+!3{vkUB1AKb-qt*) zz(MuCT@B~p`soThqFsCidwLo6)cCEPE%#fG*V%H{!Qf$BfKbGa+Mfp#_eNG8v@c2|Y{*PxEyXF`I8QfvuIGtX0 z%P|CM>tPsO{kEGsr!ug@!SWF@W$To}>HFAY!PBp?&cM@(Mny7BQ$21x?3)C36HX?f^y|(v8m`0W-03;v7j-nZ*K!)P z)wf%D@MY0fvFMP5=D({iN53G8`+C?{P%8W%QD1ZDwW9}|XL@(&+XUek+SI3b zHg=#sr*6+fpH_&0eKd84LX6_0sXGbPUa}j5oT<+U$iO|C`YfUJYcMH%QurJI8`6x* zJAF$YP9THZwK-Z&Mdlv+M)C^TZ2KV)CYJ+_H;~B=X1U+{V@a)sTU)C0;QE!E%)7Fc zSr($fq~Fd~O)AwyzH!AA5W zVaz<+R&3j<^6+}ox~+<)08_i02^)mX;nPeL#y8~*xU)M(M#s&xZ8C9MnSp-PZ;&o9 zqx)3*6