diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee.meta similarity index 77% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Coffee.meta index 8109a2f..eb096a1 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/Plugins.meta +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0585e4223fd112043930f2fe8227c706 +guid: 1a06e18767c1031478a76b8f96e60fe6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions.meta new file mode 100644 index 0000000..6d64472 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 464892be6eabb2d43a4f71878bcfea72 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect.meta new file mode 100644 index 0000000..6fc4c20 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 96837540e9d9b4d199c332f11ef9047a +folderAsset: yes +timeCreated: 1487124681 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/CHANGELOG.md b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/CHANGELOG.md new file mode 100644 index 0000000..089d277 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/CHANGELOG.md @@ -0,0 +1,498 @@ +# Changelog + +## [v3.2.0](https://github.com/mob-sakai/UIEffect/tree/v3.2.0) (2019-07-17) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v3.1.0...v3.2.0) + +**Breaking changes:** + +- UICapturedImage: Immediate capturing option is removed as it does not work on many platforms [\#161](https://github.com/mob-sakai/UIEffect/issues/161) + +**Implemented enhancements:** + +- Add demo for Unity 2018+ and TMPro 1.2+ [\#166](https://github.com/mob-sakai/UIEffect/issues/166) + +**Fixed bugs:** + +- UIDissolve's "Reverse Play" option works only in OnEnable [\#183](https://github.com/mob-sakai/UIEffect/issues/183) +- CanvasGroup.alpha does not affect [\#180](https://github.com/mob-sakai/UIEffect/issues/180) +- UIShiny effect remain on screen after calling Stop\(\) [\#165](https://github.com/mob-sakai/UIEffect/issues/165) +- Material caching is not working properly [\#163](https://github.com/mob-sakai/UIEffect/issues/163) +- Add a null check to TMPro sprite asset material checking [\#176](https://github.com/mob-sakai/UIEffect/pull/176) ([Oskiii](https://github.com/Oskiii)) + +## [v3.1.0](https://github.com/mob-sakai/UIEffect/tree/v3.1.0) (2019-03-10) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v3.0.4...v3.1.0) + +## Support TextMeshPro! + +* All components are supported +* Advanced blur is supported for Unity 2017.1+ + +![](https://user-images.githubusercontent.com/12690315/53533025-8495d800-3b3c-11e9-9e94-320f3ec7ad74.png) + +For details to use, see [Usage with TextMeshPro](https://github.com/mob-sakai/UIEffect#usage-with-textmeshpro) + +**NOTE: Unity 5.x will not be supported in the near future** + +**Implemented enhancements:** + +- Support TextMeshPro [\#137](https://github.com/mob-sakai/UIEffect/issues/137) +- add reverse animation option to UIDissolve [\#153](https://github.com/mob-sakai/UIEffect/pull/153) ([antpaw](https://github.com/antpaw)) + +## [v3.0.4](https://github.com/mob-sakai/UIEffect/tree/v3.0.4) (2019-02-15) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v3.0.3...v3.0.4) + +**Implemented enhancements:** + +- add initial play animation delay option to UIShiny [\#147](https://github.com/mob-sakai/UIEffect/pull/147) ([antpaw](https://github.com/antpaw)) + +**Fixed bugs:** + +- UIEffectCapturedImage.effectColor does not work as expected [\#148](https://github.com/mob-sakai/UIEffect/issues/148) +- fix warnings [\#146](https://github.com/mob-sakai/UIEffect/pull/146) ([antpaw](https://github.com/antpaw)) + +## [v3.0.3](https://github.com/mob-sakai/UIEffect/tree/v3.0.3) (2019-01-21) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v3.0.2...v3.0.3) + +**Fixed bugs:** + +- UIHsvModifier works only on gamma-space [\#145](https://github.com/mob-sakai/UIEffect/issues/145) + +## [v3.0.2](https://github.com/mob-sakai/UIEffect/tree/v3.0.2) (2019-01-15) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v3.0.1...v3.0.2) + +**Fixed bugs:** + +- UIEffect & UIHsvModifier & UITransitionEffect Strange action [\#144](https://github.com/mob-sakai/UIEffect/issues/144) + +## [v3.0.1](https://github.com/mob-sakai/UIEffect/tree/v3.0.1) (2018-11-07) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v3.0.0...v3.0.1) + +**Fixed bugs:** + +- Compile error in 2018.3 [\#139](https://github.com/mob-sakai/UIEffect/issues/139) + +## [v3.0.0](https://github.com/mob-sakai/UIEffect/tree/v3.0.0) (2018-10-09) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.8.3...v3.0.0) + +### New architecture: easier, faster and more beautiful. +* Simple & easy-to-use +* 20% faster +* High precision parameter + +### Immediate capturing (UIEffectCapturedImage option) +* Capture the previous frame immediately without any camera. +* You no longer have to wait one frame to capture! +* *NOTE: LWRP, WebGL and Unity 5.x for iOS/Mac are not supported.* + +### Advanced blur (UIEffect option) +* Remove common artifacts in the blur effect for uGUI. +![](https://user-images.githubusercontent.com/12690315/42547121-80134788-84fb-11e8-97a0-048bba9634ea.png) +* It is effective for small padding size atlases, including dynamic fonts! + +**Breaking changes:** + +- UIEffectCapturedImage: Remove 'TargetTexture' feature [\#136](https://github.com/mob-sakai/UIEffect/issues/136) +- Remove 'additional shadow' in UIShadow component [\#110](https://github.com/mob-sakai/UIEffect/issues/110) +- Remove 'custom effect' feature in UIEffect component [\#98](https://github.com/mob-sakai/UIEffect/issues/98) +- Remove 'shadow effect' feature in UIEffect component [\#97](https://github.com/mob-sakai/UIEffect/issues/97) +- Remove 'hue effect' in UIEffect component [\#91](https://github.com/mob-sakai/UIEffect/issues/91) +- Remove 'cutoff' and 'mono' effect in UIEffect component [\#78](https://github.com/mob-sakai/UIEffect/issues/78) +- New architecture: Shared texture for effect parameter [\#63](https://github.com/mob-sakai/UIEffect/issues/63) +- Change: Change `ToneMode` to `EffectMode` [\#61](https://github.com/mob-sakai/UIEffect/issues/61) +- Separate shadow effect to other component [\#52](https://github.com/mob-sakai/UIEffect/issues/52) +- Use the graphic color as effect color, to reduce parameters [\#50](https://github.com/mob-sakai/UIEffect/issues/50) + +**Implemented enhancements:** + +- UITransitionEffect: "Pass ray on hidden" option [\#135](https://github.com/mob-sakai/UIEffect/issues/135) +- Add component menu in editor [\#133](https://github.com/mob-sakai/UIEffect/issues/133) +- UITransitionEffect: Add Show/Hide method [\#132](https://github.com/mob-sakai/UIEffect/issues/132) +- UIEffectCapturedImage: Immediate capturing [\#130](https://github.com/mob-sakai/UIEffect/issues/130) +- Improve blurring for atlas [\#95](https://github.com/mob-sakai/UIEffect/issues/95) +- Use Canvas.willRenderCanvases event instead of Update method [\#87](https://github.com/mob-sakai/UIEffect/issues/87) + +**Closed issues:** + +- Add tooltip [\#92](https://github.com/mob-sakai/UIEffect/issues/92) +- UIShiny: change parameter name `highlight` to `gloss` [\#93](https://github.com/mob-sakai/UIEffect/issues/93) + +## [v2.8.3](https://github.com/mob-sakai/UIEffect/tree/v2.8.3) (2018-09-29) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.8.2...v2.8.3) + +**Fixed bugs:** + +- UIEffectCapturedImage: Black screen with Unity 2018.1+ editor on Windows [\#131](https://github.com/mob-sakai/UIEffect/issues/131) + +## [v2.8.2](https://github.com/mob-sakai/UIEffect/tree/v2.8.2) (2018-09-26) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.8.1...v2.8.2) + +**Fixed bugs:** + +- UICapturedEffectImage does not work with 'ScreenSpace - Overlay' in edit mode [\#128](https://github.com/mob-sakai/UIEffect/issues/128) +- The UIEffectCapturedImage is upside down with 'ScreenSpace - Overlay' mode [\#127](https://github.com/mob-sakai/UIEffect/issues/127) +- When "UI-Effect.mat" is created automatically, Unity hangs up. [\#126](https://github.com/mob-sakai/UIEffect/issues/126) +- UICapturedEffectImage does not work with Lightweight Render Pipeline LWRP [\#125](https://github.com/mob-sakai/UIEffect/issues/125) + +## [v2.8.1](https://github.com/mob-sakai/UIEffect/tree/v2.8.1) (2018-08-17) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.8.0...v2.8.1) + +**Fixed bugs:** + +- \(Demo\) "Transition capture & dissolve" is incorrect [\#119](https://github.com/mob-sakai/UIEffect/issues/119) + +## [v2.8.0](https://github.com/mob-sakai/UIEffect/tree/v2.8.0) (2018-08-14) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.7.1...v2.8.0) + +* Create a screen transition! +![8 -08-2018 19-29-38](https://user-images.githubusercontent.com/12690315/43832265-dbdecc98-9b41-11e8-8ab5-9f49420a6a16.gif) + +* Some updates make UIEffectCapturedImage easier to use! + + +**Implemented enhancements:** + +- UIEffectCapturedImage: Supports 'ScreenSpace - Overlay' [\#115](https://github.com/mob-sakai/UIEffect/issues/115) +- UIEffectCapturedImage: Keep aspect ratio [\#114](https://github.com/mob-sakai/UIEffect/issues/114) +- UIEffectCapturedImage: 'Capture on enable' option [\#113](https://github.com/mob-sakai/UIEffect/issues/113) +- UITransitionEffect: Change transition texture [\#111](https://github.com/mob-sakai/UIEffect/issues/111) + +**Closed issues:** + +- UIEffectCapturedImage: change parameter name `keepCanvasSize` to `fitToScreen` [\#116](https://github.com/mob-sakai/UIEffect/issues/116) + +## [v2.7.1](https://github.com/mob-sakai/UIEffect/tree/v2.7.1) (2018-08-06) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.7.0...v2.7.1) + +**Fixed bugs:** + +- In v2.7.0, UIEffectCapturedImage is flipped vertically on Windows [\#112](https://github.com/mob-sakai/UIEffect/issues/112) + +## [v2.7.0](https://github.com/mob-sakai/UIEffect/tree/v2.7.0) (2018-07-26) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.6.2...v2.7.0) + +UIHsvModifier: Modify hue, saturation, and value as you like! +![](https://user-images.githubusercontent.com/12690315/43200006-d6e2bf54-904e-11e8-9f22-0c0f9ce5912f.gif) + +* Note: `Hue` mode in UIEffect component will be obsolete in the near future. Please use UIHsvModifier component instead. +* Note: `Cutoff` and `Mono` mode in UIEffect component will be obsolete in the near future. Please use UITransitionEffect component instead. + +**Implemented enhancements:** + +- UIEffectCapturedImage: Support target RenderTexture to use external component [\#108](https://github.com/mob-sakai/UIEffect/issues/108) +- Transition effect as other component [\#105](https://github.com/mob-sakai/UIEffect/issues/105) +- Use multi-pass blurring to capture screenshot [\#96](https://github.com/mob-sakai/UIEffect/issues/96) +- Feature: HSV modifier [\#44](https://github.com/mob-sakai/UIEffect/issues/44) + +**Fixed bugs:** + +- UIEffectCapturedImage: ColorMode is not working [\#109](https://github.com/mob-sakai/UIEffect/issues/109) +- UIDissolve is not maskable [\#101](https://github.com/mob-sakai/UIEffect/issues/101) + +## [v2.6.2](https://github.com/mob-sakai/UIEffect/tree/v2.6.2) (2018-07-18) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.6.1...v2.6.2) + +**Fixed bugs:** + +- Shader has compile errors in D3D9 or D3D11\_9X\(WSA\) [\#99](https://github.com/mob-sakai/UIEffect/issues/99) + +## [v2.6.1](https://github.com/mob-sakai/UIEffect/tree/v2.6.1) (2018-06-14) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.6.0...v2.6.1) + +**Fixed bugs:** + +- Errors occurred on build \(v2.6.0\) [\#90](https://github.com/mob-sakai/UIEffect/issues/90) + +## [v2.6.0](https://github.com/mob-sakai/UIEffect/tree/v2.6.0) (2018-06-14) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.5.2...v2.6.0) + +Blurring effect has been improved about 6 times faster! +![](https://user-images.githubusercontent.com/12690315/41393724-08420b1e-6fe2-11e8-8741-721789c2d029.png) + +You can change noise texture for dissolve effect from inspector or script! +![](https://user-images.githubusercontent.com/12690315/41397570-99bda636-6fef-11e8-827b-932d7a8e74c1.gif) + + + + +**Implemented enhancements:** + +- Improve blurring performance [\#88](https://github.com/mob-sakai/UIEffect/issues/88) +- Separate the effect with a character [\#86](https://github.com/mob-sakai/UIEffect/issues/86) +- Change dissolve texture [\#75](https://github.com/mob-sakai/UIEffect/issues/75) + +**Closed issues:** + +- Change BlurMode correctly [\#84](https://github.com/mob-sakai/UIEffect/issues/84) +- Refactoring to prepare v3.0.0 [\#83](https://github.com/mob-sakai/UIEffect/issues/83) +- Change ColorMode correctly [\#51](https://github.com/mob-sakai/UIEffect/issues/51) + +## [v2.5.2](https://github.com/mob-sakai/UIEffect/tree/v2.5.2) (2018-06-07) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.5.1...v2.5.2) + +**Fixed bugs:** + +- When `UIEFFECT\_SEPARATE` symbol is defined, UIDissolve does not work well [\#85](https://github.com/mob-sakai/UIEffect/issues/85) + +## [v2.5.1](https://github.com/mob-sakai/UIEffect/tree/v2.5.1) (2018-05-31) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.5.0...v2.5.1) + +**Fixed bugs:** + +- Fix demo [\#82](https://github.com/mob-sakai/UIEffect/issues/82) + +## [v2.5.0](https://github.com/mob-sakai/UIEffect/tree/v2.5.0) (2018-05-31) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.4.1...v2.5.0) + +Shiny effect has been update! + +![v2.5.0](https://user-images.githubusercontent.com/12690315/40654533-8877c99c-6379-11e8-8ae7-b91995fc230b.gif) + +* NOTE: `UIEffect.shadow***` will be obsolete in the near future. Please use `UIShadow` component instead. +* NOTE: `UIEffect.custom***` will be obsolete in the near future. Please use `UICustomEffect` component (experimental) instead. + +**Implemented enhancements:** + +- UIDissolve: Play effect from script/inspector [\#81](https://github.com/mob-sakai/UIEffect/issues/81) +- UIShiny: Play effect from script/inspector [\#80](https://github.com/mob-sakai/UIEffect/issues/80) +- During play mode, you can change the effect type, color type, and blur type \(in Editor\) [\#73](https://github.com/mob-sakai/UIEffect/issues/73) +- Add shadow effect as other component [\#72](https://github.com/mob-sakai/UIEffect/issues/72) +- UIShiny : Visual update [\#68](https://github.com/mob-sakai/UIEffect/issues/68) +- Add Custom effect as other component [\#60](https://github.com/mob-sakai/UIEffect/issues/60) + +**Fixed bugs:** + +- UIDissolve: When width=1 and location=0, image is lacked [\#79](https://github.com/mob-sakai/UIEffect/issues/79) + +**Closed issues:** + +- UIEffect inherit UIEffectBase [\#74](https://github.com/mob-sakai/UIEffect/issues/74) +- Change directory structure [\#56](https://github.com/mob-sakai/UIEffect/issues/56) + +## [v2.4.1](https://github.com/mob-sakai/UIEffect/tree/v2.4.1) (2018-05-29) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.4.0...v2.4.1) + +**Fixed bugs:** + +- UIEffectCapturedImage: The result image is flipped vertically [\#69](https://github.com/mob-sakai/UIEffect/issues/69) + +## [v2.4.0](https://github.com/mob-sakai/UIEffect/tree/v2.4.0) (2018-05-21) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.3.2...v2.4.0) + +UIDissolve has been updated! + +![v2.4.0](https://user-images.githubusercontent.com/12690315/40294019-a0bfb8aa-5d0e-11e8-8451-873502db6a99.gif) +![editor](https://user-images.githubusercontent.com/12690315/40294212-9e1b1ce2-5d0f-11e8-88ce-78a8c0523dc2.png) + +**Implemented enhancements:** + +- UIDissolve: Add color mode option. [\#64](https://github.com/mob-sakai/UIEffect/issues/64) + +## [v2.3.2](https://github.com/mob-sakai/UIEffect/tree/v2.3.2) (2018-05-21) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.3.1...v2.3.2) + +**Closed issues:** + +- Fixed: UIEffectCapturedImage: When iteration count is even. the result image is flipped vertically \(other method\) [\#65](https://github.com/mob-sakai/UIEffect/issues/65) + +## [v2.3.1](https://github.com/mob-sakai/UIEffect/tree/v2.3.1) (2018-05-10) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.3.0...v2.3.1) + +**Fixed bugs:** + +- UIEffectCapturedImage: When iteration count is even. the result image is flipped vertically \(on Windows\) [\#62](https://github.com/mob-sakai/UIEffect/issues/62) + +## [v2.3.0](https://github.com/mob-sakai/UIEffect/tree/v2.3.0) (2018-05-08) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.2.0...v2.3.0) + +New components has been available! + +* **UIShiny** : Shiny effect WITHOUT Mask component. This will suppress extra draw calls and improve performance. +* **UIDissolve** : Dissolve effect WITHOUT material instancing. This will suppress extra draw calls and improve performance. +* **UIFlip** : Flip graphic horizontal/vertical. + +![v2.3.0](https://user-images.githubusercontent.com/12690315/40706142-cb98d2d0-6427-11e8-96fc-5cc5fd9c553a.gif) + + +**Implemented enhancements:** + +- Feature: Flip horizontal/vertical [\#47](https://github.com/mob-sakai/UIEffect/issues/47) +- Feature: Dissolve [\#45](https://github.com/mob-sakai/UIEffect/issues/45) +- Feature: Shining effect [\#9](https://github.com/mob-sakai/UIEffect/issues/9) + +## [v2.2.0](https://github.com/mob-sakai/UIEffect/tree/v2.2.0) (2018-04-12) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.1.0...v2.2.0) + +**Implemented enhancements:** + +- Feature: Customize shader/material. You can create a custom ui shader and control it with UIEffct. [\#46](https://github.com/mob-sakai/UIEffect/issues/46) +- Feature: UIEffectCapturedImage supports keep canvas size. [\#54](https://github.com/mob-sakai/UIEffect/issues/54) +- Feature: UIEffectCapturedImage supports `Quality Type` to easy setup. [\#53](https://github.com/mob-sakai/UIEffect/issues/53) + +**Fixed bugs:** + +- Bug: Color effect on shadow is incorrect. [\#55](https://github.com/mob-sakai/UIEffect/issues/55) + +**Closed issues:** + +- Change: Reduce the pixelation effect when tone level = 1. [\#57](https://github.com/mob-sakai/UIEffect/issues/57) + +## [v2.1.0](https://github.com/mob-sakai/UIEffect/tree/v2.1.0) (2018-04-04) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v2.0.0...v2.1.0) + +**Implemented enhancements:** + +- Feature: UIEffectCapturedImage support iterative operation [\#48](https://github.com/mob-sakai/UIEffect/issues/48) + +## [v2.0.0](https://github.com/mob-sakai/UIEffect/tree/v2.0.0) (2018-01-25) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.6.1...v2.0.0) + +**Breaking changes:** + +- Important: Unity 5.3.x & 5.4.x are no longer supported. [\#40](https://github.com/mob-sakai/UIEffect/issues/40) + +**Implemented enhancements:** + +- Improve: Reduce the materials. Too many effect materials are exist. [\#15](https://github.com/mob-sakai/UIEffect/issues/15) + +**Closed issues:** + +- Change: Change namespace to Coffee.UIExtensions [\#6](https://github.com/mob-sakai/UIEffect/issues/6) + +## [v1.6.1](https://github.com/mob-sakai/UIEffect/tree/v1.6.1) (2018-01-25) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.6.0...v1.6.1) + +**Fixed bugs:** + +- Bug: Cannot access protected member `UnityEngine.UI.BaseMeshEffect.graphic` [\#41](https://github.com/mob-sakai/UIEffect/issues/41) + +## [v1.6.0](https://github.com/mob-sakai/UIEffect/tree/v1.6.0) (2018-01-18) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.5.1...v1.6.0) + +**Fixed bugs:** + +- Bug: Pixelization is incorrect. [\#34](https://github.com/mob-sakai/UIEffect/issues/34) + +**Closed issues:** + +- Change: UIEffect inherit BaseMeshEffect. [\#35](https://github.com/mob-sakai/UIEffect/issues/35) +- Change: Blur level range to \[0-1\] [\#32](https://github.com/mob-sakai/UIEffect/issues/32) +- Change: ShadowMode -\> ShadowStyle [\#18](https://github.com/mob-sakai/UIEffect/issues/18) + +## [v1.5.1](https://github.com/mob-sakai/UIEffect/tree/v1.5.1) (2018-01-18) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.5.0...v1.5.1) + +**Fixed bugs:** + +- Bug: An error occurs when no effect is specified for UICapturedImage. [\#36](https://github.com/mob-sakai/UIEffect/issues/36) + +## [v1.5.0](https://github.com/mob-sakai/UIEffect/tree/v1.5.0) (2018-01-16) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.4.4...v1.5.0) + +**Implemented enhancements:** + +- Feature: ShadowMode 'Shadow 3' [\#11](https://github.com/mob-sakai/UIEffect/issues/11) +- Feature: Hue [\#8](https://github.com/mob-sakai/UIEffect/issues/8) +- Feature: Gradient [\#7](https://github.com/mob-sakai/UIEffect/issues/7) + +## [v1.4.4](https://github.com/mob-sakai/UIEffect/tree/v1.4.4) (2018-01-16) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.4.3...v1.4.4) + +**Fixed bugs:** + +- Bug: Error has occur on edit prefab. [\#27](https://github.com/mob-sakai/UIEffect/issues/27) + +## [v1.4.3](https://github.com/mob-sakai/UIEffect/tree/v1.4.3) (2018-01-15) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.4.2...v1.4.3) + +**Fixed bugs:** + +- Bug: Color effect is incorrect. [\#19](https://github.com/mob-sakai/UIEffect/issues/19) + +## [v1.4.2](https://github.com/mob-sakai/UIEffect/tree/v1.4.2) (2018-01-14) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.4.1...v1.4.2) + +**Implemented enhancements:** + +- Feature: ColorMode `Override` [\#12](https://github.com/mob-sakai/UIEffect/issues/12) + +**Fixed bugs:** + +- Bug: Error has occur OnAfterDeserialize in editor. [\#16](https://github.com/mob-sakai/UIEffect/issues/16) + +## [v1.4.1](https://github.com/mob-sakai/UIEffect/tree/v1.4.1) (2018-01-10) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.4.0...v1.4.1) + +## [v1.4.0](https://github.com/mob-sakai/UIEffect/tree/v1.4.0) (2018-01-07) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.3.0...v1.4.0) + +**Implemented enhancements:** + +- Feature: Exclude unused shader variants from build. [\#5](https://github.com/mob-sakai/UIEffect/issues/5) + +## [v1.3.0](https://github.com/mob-sakai/UIEffect/tree/v1.3.0) (2018-01-06) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.2.0...v1.3.0) + +## [v1.2.0](https://github.com/mob-sakai/UIEffect/tree/v1.2.0) (2018-01-05) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.1.0...v1.2.0) + +**Implemented enhancements:** + +- Feature: Fast multiple shadow effect. [\#2](https://github.com/mob-sakai/UIEffect/issues/2) + +**Fixed bugs:** + +- Pixelaration shifts to the lower right. [\#4](https://github.com/mob-sakai/UIEffect/issues/4) + +## [v1.1.0](https://github.com/mob-sakai/UIEffect/tree/v1.1.0) (2017-08-17) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/v1.0.0...v1.1.0) + +**Implemented enhancements:** + +- Feature: Pixelization effect [\#1](https://github.com/mob-sakai/UIEffect/issues/1) + +## [v1.0.0](https://github.com/mob-sakai/UIEffect/tree/v1.0.0) (2017-03-01) + +[Full Changelog](https://github.com/mob-sakai/UIEffect/compare/a9c4ec4e72a055ca5e5c24f6a75c6720f0f6fd7f...v1.0.0) + + + +\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/CHANGELOG.md.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/CHANGELOG.md.meta new file mode 100644 index 0000000..c8a00c8 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/CHANGELOG.md.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1fe75f65a37454bf5aa2dab183b4305a +timeCreated: 1522651812 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro.meta new file mode 100644 index 0000000..1772ea0 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 37c4bd2925c96431b827a2031f76add8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Editor.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Editor.meta new file mode 100644 index 0000000..2f60ffc --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b00cb7cc19de648f38332743361bdacb +folderAsset: yes +timeCreated: 1547811341 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Editor/TMP_SDFShaderGUI.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Editor/TMP_SDFShaderGUI.cs new file mode 100644 index 0000000..397aa02 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Editor/TMP_SDFShaderGUI.cs @@ -0,0 +1,169 @@ +#if TMP_PRESENT +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using TMPro.EditorUtilities; +using UnityEditor; +using Coffee.UIExtensions; +using System.IO; +using System.Linq; +using System; + +namespace Coffee.UIEffect.Editors +{ + public class TMP_SDFShaderGUI : TMPro.EditorUtilities.TMP_SDFShaderGUI + { + static GUIStyle s_PanelTitle; + Material currentMaterial; + + public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) + { + currentMaterial = materialEditor.target as Material; + base.OnGUI(materialEditor, properties); + } + + protected override void DoGUI() + { + if (currentMaterial.HasProperty("_FaceColor")) + { + base.DoGUI(); + } + else + { + DrawSpritePanel(); + } + + var name = currentMaterial.shader.name; + if (name.EndsWith("(UIEffect)")) + { + DrawEffectPanel(); + } + else if (name.EndsWith("(UIDissolve)")) + { + DrawDissolvePanel(); + } + else if (name.EndsWith("(UIShiny)")) + { + DrawShinyPanel(); + } + else if (name.EndsWith("(UITransition)")) + { + DrawTransitionPanel(); + } + } + + void DrawSpritePanel() + { + if (BeginTmpPanel("Sprite", true)) + { + EditorGUI.indentLevel += 1; + DoTexture2D("_MainTex", "Texture"); + DoColor("_Color", "Color"); + EditorGUI.indentLevel -= 1; + } + EndTmpPanel(); + } + + void DrawDissolvePanel() + { + if (BeginTmpPanel("Dissolve", true)) + { + EditorGUI.indentLevel += 1; + DoTexture2D("_NoiseTex", "Texture"); + DrawEnum(currentMaterial); + EditorGUI.indentLevel -= 1; + } + EndTmpPanel(); + } + + void DrawShinyPanel() + { + } + + void DrawTransitionPanel() + { + if (BeginTmpPanel("Transition", true)) + { + EditorGUI.indentLevel += 1; + DoTexture2D("_NoiseTex", "Texture"); + DrawEnum(currentMaterial); + EditorGUI.indentLevel -= 1; + } + EndTmpPanel(); + } + + void DrawEffectPanel() + { + if (BeginTmpPanel("Effect", true)) + { + EditorGUI.indentLevel += 1; + DrawEnum(currentMaterial); + DrawEnum(currentMaterial); + DrawEnum(currentMaterial); + DrawToggleKeyword(currentMaterial, "Advanced Blur", "EX"); + EditorGUI.indentLevel -= 1; + } + EndTmpPanel(); + } + + static void DrawEnum(Material mat) + { + Type type = typeof(T); + string[] names = System.Enum.GetNames(type); + int[] values = System.Enum.GetValues(type) as int[]; + + int mode = 0; + for (int i = 0; i < names.Length; i++) + { + if (mat.IsKeywordEnabled(names[i].ToUpper())) + mode = values[i]; + } + + var newMode = EditorGUILayout.IntPopup(ObjectNames.NicifyVariableName(type.Name), mode, names, values); + if (mode != newMode) + { + Array.IndexOf(values, mode); + mat.DisableKeyword(names[Array.IndexOf(values, mode)].ToUpper()); + if (newMode != 0) + mat.EnableKeyword(names[Array.IndexOf(values, newMode)].ToUpper()); + } + } + + static void DrawToggleKeyword(Material mat, string label, string keyword) + { + bool value = mat.IsKeywordEnabled(keyword); + if (EditorGUILayout.Toggle(label, value) != value) + { + if (value) + mat.DisableKeyword(keyword); + else + mat.EnableKeyword(keyword); + } + } + + static bool BeginTmpPanel(string panel, bool expanded) + { + if (s_PanelTitle == null) + { + s_PanelTitle = new GUIStyle(EditorStyles.label) { fontStyle = FontStyle.Bold }; + } + + EditorGUILayout.BeginVertical(EditorStyles.helpBox); + Rect position = EditorGUI.IndentedRect(GUILayoutUtility.GetRect(20f, 18f)); + position.x += 20; + position.width += 6f; + expanded = GUI.Toggle(position, expanded, panel, s_PanelTitle); + EditorGUI.indentLevel++; + EditorGUI.BeginDisabledGroup(false); + return expanded; + } + + static void EndTmpPanel() + { + EditorGUI.EndDisabledGroup(); + EditorGUI.indentLevel--; + EditorGUILayout.EndVertical(); + } + } +} +#endif \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Editor/TMP_SDFShaderGUI.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Editor/TMP_SDFShaderGUI.cs.meta new file mode 100644 index 0000000..1a52b22 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Editor/TMP_SDFShaderGUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0163d601911a448eea37923cb9fd6760 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders.meta new file mode 100644 index 0000000..92fbff8 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1045b92cbd63c45bab65c540449a8ad3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIDissolve).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIDissolve).shader new file mode 100644 index 0000000..fef7470 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIDissolve).shader @@ -0,0 +1,157 @@ +Shader "TextMeshPro/Distance Field (UIDissolve)" { + +Properties { + _FaceTex ("Face Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(-1,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 + _SpecularColor ("Specular", Color) = (1,1,1,1) + _SpecularPower ("Specular", Range(0,4)) = 2.0 + _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 + _Diffuse ("Diffuse", Range(0,1)) = 0.5 + _Ambient ("Ambient", Range(1,0)) = 0.5 + + _BumpMap ("Normal map", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0 + _BumpFace ("Bump Face", Range(0,1)) = 0 + + _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) + _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + + + _UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} +} + +SubShader { + + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma target 3.0 + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ BEVEL_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + #pragma shader_feature __ GLOW_ON + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc" + + #define UI_DISSOLVE 1 + #define DISSOLVE 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + #pragma shader_feature __ ADD SUBTRACT FILL + + fixed4 frag(pixel_t IN) : SV_Target + { + half4 color = PixShader(IN); + + // Dissolve + color = ApplyTransitionEffect(color, IN.eParam); + color.rgb *= color.a; + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + return color * IN.color.a; + } + ENDCG + } +} + +Fallback "TextMeshPro/Mobile/Distance Field (UIDissolve)" +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIDissolve).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIDissolve).shader.meta new file mode 100644 index 0000000..30a389b --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIDissolve).shader.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 983d3d7238f4540e3af421a4abb25e26 +ShaderImporter: + externalObjects: {} + defaultTextures: + - _FaceTex: {instanceID: 0} + - _OutlineTex: {instanceID: 0} + - _BumpMap: {instanceID: 0} + - _Cube: {instanceID: 0} + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIEffect).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIEffect).shader new file mode 100644 index 0000000..b02d307 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIEffect).shader @@ -0,0 +1,173 @@ +Shader "TextMeshPro/Distance Field (UIEffect)" { + +Properties { + _FaceTex ("Face Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(-1,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 + _SpecularColor ("Specular", Color) = (1,1,1,1) + _SpecularPower ("Specular", Range(0,4)) = 2.0 + _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 + _Diffuse ("Diffuse", Range(0,1)) = 0.5 + _Ambient ("Ambient", Range(1,0)) = 0.5 + + _BumpMap ("Normal map", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0 + _BumpFace ("Bump Face", Range(0,1)) = 0 + + _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) + _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + + + _UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 +} + +SubShader { + + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma target 3.0 + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ BEVEL_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + #pragma shader_feature __ GLOW_ON + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #pragma shader_feature __ GRAYSCALE SEPIA NEGA PIXEL + #pragma shader_feature __ ADD SUBTRACT FILL + #pragma shader_feature __ FASTBLUR MEDIUMBLUR DETAILBLUR + #pragma shader_feature __ EX + + float4 _MainTex_TexelSize; + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc" + + #define UI_EFFECT 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + + fixed4 frag(pixel_t IN) : SV_Target + { + fixed4 param = tex2D(_ParamTex, float2(0.5, IN.eParam)); + fixed effectFactor = param.x; + fixed colorFactor = param.y; + fixed blurFactor = param.z; + + #if PIXEL + half2 pixelSize = max(2, (1-effectFactor*0.95) * float2(_TextureWidth, _TextureHeight)); + UV(IN).xy = round(UV(IN).xy * pixelSize) / pixelSize; + #endif + + #if defined(UI_BLUR) && EX + half4 color = Tex2DBlurring(IN, blurFactor * float2(1/_TextureWidth, 1/_TextureHeight) * 4, IN.uvMask); + #elif defined(UI_BLUR) + half4 color = Tex2DBlurring(IN, blurFactor * float2(1/_TextureWidth, 1/_TextureHeight) * 4); + #else + half4 color = PixShader(IN) * IN.color.a; + #endif + + #if defined (UI_TONE) + color = ApplyToneEffect(color, effectFactor); + #endif + + color = ApplyColorEffect(color, fixed4(IN.color.rgb, colorFactor)); + color.rgb *= color.a; + + return color * IN.color.a; + } + ENDCG + } +} + +Fallback "TextMeshPro/Mobile/Distance Field (UIEffect)" +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIEffect).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIEffect).shader.meta new file mode 100644 index 0000000..1ad5555 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIEffect).shader.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: fdc3d2db3815548ae9eea37e1be79f36 +ShaderImporter: + externalObjects: {} + defaultTextures: + - _FaceTex: {instanceID: 0} + - _OutlineTex: {instanceID: 0} + - _BumpMap: {instanceID: 0} + - _Cube: {instanceID: 0} + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIHsvModifier).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIHsvModifier).shader new file mode 100644 index 0000000..14aecb4 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIHsvModifier).shader @@ -0,0 +1,156 @@ +Shader "TextMeshPro/Distance Field (UIHsvModifier)" { + +Properties { + _FaceTex ("Face Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(-1,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 + _SpecularColor ("Specular", Color) = (1,1,1,1) + _SpecularPower ("Specular", Range(0,4)) = 2.0 + _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 + _Diffuse ("Diffuse", Range(0,1)) = 0.5 + _Ambient ("Ambient", Range(1,0)) = 0.5 + + _BumpMap ("Normal map", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0 + _BumpFace ("Bump Face", Range(0,1)) = 0 + + _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) + _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + + + _UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} +} + +SubShader { + + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma target 3.0 + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ BEVEL_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + #pragma shader_feature __ GLOW_ON + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc" + + #define UI_HSV_MODIFIER 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + + fixed4 frag(pixel_t IN) : SV_Target + { + half4 color = PixShader(IN); + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + // Hsv + color = ApplyHsvEffect(color, IN.eParam); + color.rgb *= IN.color.rgb; + + return color * IN.color.a; + } + + ENDCG + } +} + +Fallback "TextMeshPro/Mobile/Distance Field (UIHsv)" +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIHsvModifier).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIHsvModifier).shader.meta new file mode 100644 index 0000000..370b55d --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIHsvModifier).shader.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 58c5c12ea67b943f2bb08cdba8767f41 +ShaderImporter: + externalObjects: {} + defaultTextures: + - _FaceTex: {instanceID: 0} + - _OutlineTex: {instanceID: 0} + - _BumpMap: {instanceID: 0} + - _Cube: {instanceID: 0} + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIShiny).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIShiny).shader new file mode 100644 index 0000000..ff9c4ca --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIShiny).shader @@ -0,0 +1,154 @@ +Shader "TextMeshPro/Distance Field (UIShiny)" { + +Properties { + _FaceTex ("Face Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(-1,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 + _SpecularColor ("Specular", Color) = (1,1,1,1) + _SpecularPower ("Specular", Range(0,4)) = 2.0 + _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 + _Diffuse ("Diffuse", Range(0,1)) = 0.5 + _Ambient ("Ambient", Range(1,0)) = 0.5 + + _BumpMap ("Normal map", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0 + _BumpFace ("Bump Face", Range(0,1)) = 0 + + _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) + _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + + + _UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} +} + +SubShader { + + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma target 3.0 + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ BEVEL_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + #pragma shader_feature __ GLOW_ON + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc" + + #define UI_SHINY 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + + fixed4 frag(pixel_t IN) : SV_Target + { + half4 color = PixShader(IN); + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + // Shiny + color = ApplyShinyEffect(color, IN.eParam); + + return color * IN.color.a; + } + ENDCG + } +} + +Fallback "TextMeshPro/Mobile/Distance Field (UIShiny)" +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIShiny).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIShiny).shader.meta new file mode 100644 index 0000000..99db294 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UIShiny).shader.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 7a9c01b59189f4a738528999fa0aa9fe +ShaderImporter: + externalObjects: {} + defaultTextures: + - _FaceTex: {instanceID: 0} + - _OutlineTex: {instanceID: 0} + - _BumpMap: {instanceID: 0} + - _Cube: {instanceID: 0} + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UITransition).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UITransition).shader new file mode 100644 index 0000000..b6a4741 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UITransition).shader @@ -0,0 +1,157 @@ +Shader "TextMeshPro/Distance Field (UITransition)" { + +Properties { + _FaceTex ("Face Texture", 2D) = "white" {} + _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 + _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineTex ("Outline Texture", 2D) = "white" {} + _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 + _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 + _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 + _OutlineSoftness ("Outline Softness", Range(-1,1)) = 0 + + _Bevel ("Bevel", Range(0,1)) = 0.5 + _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 + _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 + _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 + _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 + + _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 + _SpecularColor ("Specular", Color) = (1,1,1,1) + _SpecularPower ("Specular", Range(0,4)) = 2.0 + _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 + _Diffuse ("Diffuse", Range(0,1)) = 0.5 + _Ambient ("Ambient", Range(1,0)) = 0.5 + + _BumpMap ("Normal map", 2D) = "bump" {} + _BumpOutline ("Bump Outline", Range(0,1)) = 0 + _BumpFace ("Bump Face", Range(0,1)) = 0 + + _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) + _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) + _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } + _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) + + + _UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _GlowColor ("Color", Color) = (0, 1, 0, 0.5) + _GlowOffset ("Offset", Range(-1,1)) = 0 + _GlowInner ("Inner", Range(0,1)) = 0.05 + _GlowOuter ("Outer", Range(0,1)) = 0.05 + _GlowPower ("Falloff", Range(1, 0)) = 0.75 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = 0.5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5.0 + _ScaleX ("Scale X", float) = 1.0 + _ScaleY ("Scale Y", float) = 1.0 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} +} + +SubShader { + + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma target 3.0 + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ BEVEL_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + #pragma shader_feature __ GLOW_ON + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc" + + #define ADD 1 + #define UI_TRANSITION 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + #pragma shader_feature __ FADE CUTOFF DISSOLVE + + fixed4 frag(pixel_t IN) : SV_Target + { + half4 color = PixShader(IN); + + // Transition + color = ApplyTransitionEffect(color, IN.eParam); + color.rgb *= color.a; + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + return color * IN.color.a; + } + ENDCG + } +} + +Fallback "TextMeshPro/Mobile/Distance Field (UITransition)" +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UITransition).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UITransition).shader.meta new file mode 100644 index 0000000..0eac49e --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF (UITransition).shader.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: fa7d8d6e393ae4a9b94b2331c7d0097c +ShaderImporter: + externalObjects: {} + defaultTextures: + - _FaceTex: {instanceID: 0} + - _OutlineTex: {instanceID: 0} + - _BumpMap: {instanceID: 0} + - _Cube: {instanceID: 0} + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIDissolve).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIDissolve).shader new file mode 100644 index 0000000..2ad9fe1 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIDissolve).shader @@ -0,0 +1,122 @@ +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +Shader "TextMeshPro/Mobile/Distance Field (UIDissolve)" { + +Properties { + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} +} + +SubShader { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + + #define MOBILE 1 + #define UI_DISSOLVE 1 + #define DISSOLVE 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + #pragma shader_feature __ ADD SUBTRACT FILL + + fixed4 frag(pixel_t IN) : SV_Target + { + half4 color = PixShader(IN); + + // Dissolve + color = ApplyTransitionEffect(color, IN.eParam); + color.rgb *= color.a; + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + return color * IN.color.a; + } + ENDCG + } +} + +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIDissolve).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIDissolve).shader.meta new file mode 100644 index 0000000..2e47f76 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIDissolve).shader.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 15b053e7702f54708a75b82db8303cba +ShaderImporter: + externalObjects: {} + defaultTextures: + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIEffect).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIEffect).shader new file mode 100644 index 0000000..77efd50 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIEffect).shader @@ -0,0 +1,140 @@ +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +Shader "TextMeshPro/Mobile/Distance Field (UIEffect)" { + +Properties { + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} +} + +SubShader { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #pragma shader_feature __ GRAYSCALE SEPIA NEGA PIXEL + #pragma shader_feature __ ADD SUBTRACT FILL + #pragma shader_feature __ FASTBLUR MEDIUMBLUR DETAILBLUR + #pragma shader_feature __ EX + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + + #define MOBILE 1 + #define UI_EFFECT 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + + fixed4 frag(pixel_t IN) : SV_Target + { + fixed4 param = tex2D(_ParamTex, float2(0.5, IN.eParam)); + fixed effectFactor = param.x; + fixed colorFactor = param.y; + fixed blurFactor = param.z; + + #if PIXEL + half2 pixelSize = max(2, (1-effectFactor*0.95) * float2(_TextureWidth, _TextureHeight)); + UV(IN).xy = round(UV(IN).xy * pixelSize) / pixelSize; + #endif + + #if defined(UI_BLUR) && EX + half4 color = Tex2DBlurring(IN, blurFactor * float2(1/_TextureWidth, 1/_TextureHeight) * 4, IN.uvMask); + #elif defined(UI_BLUR) + half4 color = Tex2DBlurring(IN, blurFactor * float2(1/_TextureWidth, 1/_TextureHeight) * 4); + #else + half4 color = PixShader(IN) * IN.color.a; + #endif + + #if defined (UI_TONE) + color = ApplyToneEffect(color, effectFactor); + #endif + + color = ApplyColorEffect(color, fixed4(IN.color.rgb, colorFactor)); + color.rgb *= color.a; + + return color * IN.color.a; + } + ENDCG + } +} + +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIEffect).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIEffect).shader.meta new file mode 100644 index 0000000..f1b060c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIEffect).shader.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: af5de66855c8d4b758264103262d4883 +ShaderImporter: + externalObjects: {} + defaultTextures: + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIHsvModifier).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIHsvModifier).shader new file mode 100644 index 0000000..35ea899 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIHsvModifier).shader @@ -0,0 +1,120 @@ +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +Shader "TextMeshPro/Mobile/Distance Field (UIHsvModifier)" { + +Properties { + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} +} + +SubShader { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + + #define MOBILE 1 + #define UI_HSV_MODIFIER 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + + fixed4 frag(pixel_t IN) : SV_Target + { + half4 color = PixShader(IN); + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + // Hsv + color = ApplyHsvEffect(color, IN.eParam); + color.rgb *= IN.color.rgb; + + return color * IN.color.a; + } + ENDCG + } +} + +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIHsvModifier).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIHsvModifier).shader.meta new file mode 100644 index 0000000..86d2d6a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIHsvModifier).shader.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 374467ba16b434455b8886b70c293a0d +ShaderImporter: + externalObjects: {} + defaultTextures: + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIShiny).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIShiny).shader new file mode 100644 index 0000000..c598b5f --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIShiny).shader @@ -0,0 +1,119 @@ +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +Shader "TextMeshPro/Mobile/Distance Field (UIShiny)" { + +Properties { + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} +} + +SubShader { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + + #define MOBILE 1 + #define UI_SHINY 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + + fixed4 frag(pixel_t IN) : SV_Target + { + half4 color = PixShader(IN); + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + // Shiny + color = ApplyShinyEffect(color, IN.eParam); + + return color * IN.color.a; + } + ENDCG + } +} + +CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIShiny).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIShiny).shader.meta new file mode 100644 index 0000000..847eacb --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UIShiny).shader.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f852f73c234534dbc9da0e57e661dc9d +ShaderImporter: + externalObjects: {} + defaultTextures: + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UITransition).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UITransition).shader new file mode 100644 index 0000000..8279ee2 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UITransition).shader @@ -0,0 +1,122 @@ +// Simplified SDF shader: +// - No Shading Option (bevel / bump / env map) +// - No Glow Option +// - Softness is applied on both side of the outline + +Shader "TextMeshPro/Mobile/Distance Field (UITransition)" { + +Properties { + _FaceColor ("Face Color", Color) = (1,1,1,1) + _FaceDilate ("Face Dilate", Range(-1,1)) = 0 + + _OutlineColor ("Outline Color", Color) = (0,0,0,1) + _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 + _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 + + _UnderlayColor ("Border Color", Color) = (0,0,0,.5) + _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 + _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 + _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 + _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 + + _WeightNormal ("Weight Normal", float) = 0 + _WeightBold ("Weight Bold", float) = .5 + + _ShaderFlags ("Flags", float) = 0 + _ScaleRatioA ("Scale RatioA", float) = 1 + _ScaleRatioB ("Scale RatioB", float) = 1 + _ScaleRatioC ("Scale RatioC", float) = 1 + + _MainTex ("Font Atlas", 2D) = "white" {} + _TextureWidth ("Texture Width", float) = 512 + _TextureHeight ("Texture Height", float) = 512 + _GradientScale ("Gradient Scale", float) = 5 + _ScaleX ("Scale X", float) = 1 + _ScaleY ("Scale Y", float) = 1 + _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 + + _VertexOffsetX ("Vertex OffsetX", float) = 0 + _VertexOffsetY ("Vertex OffsetY", float) = 0 + + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + _MaskSoftnessX ("Mask SoftnessX", float) = 0 + _MaskSoftnessY ("Mask SoftnessY", float) = 0 + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} +} + +SubShader { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + } + + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull [_CullMode] + ZWrite Off + Lighting Off + Fog { Mode Off } + ZTest [unity_GUIZTestMode] + Blend One OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass { + CGPROGRAM + #pragma vertex VertShader + #pragma fragment frag + #pragma shader_feature __ OUTLINE_ON + #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #include "Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc" + + #define MOBILE 1 + #define ADD 1 + #define UI_TRANSITION 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "UI-Effect-TMPro.cginc" + #pragma shader_feature __ FADE CUTOFF DISSOLVE + + fixed4 frag(pixel_t IN) : SV_Target + { + half4 color = PixShader(IN); + + // Transition + color = ApplyTransitionEffect(color, IN.eParam); + color.rgb *= color.a; + + #if UNITY_UI_ALPHACLIP + clip(color.a - 0.001); + #endif + + return color * IN.color.a; + } + ENDCG + } +} + +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UITransition).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UITransition).shader.meta new file mode 100644 index 0000000..7f35468 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_SDF-Mobile (UITransition).shader.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3158328dfc0344d72bc0e7eaa29cac0e +ShaderImporter: + externalObjects: {} + defaultTextures: + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIDissolve).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIDissolve).shader new file mode 100644 index 0000000..4f18be3 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIDissolve).shader @@ -0,0 +1,90 @@ +Shader "TextMeshPro/Sprite (UIDissolve)" +{ + Properties + { + _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + + #define TMP_SPRITE 1 + #define UI_DISSOLVE 1 + #define DISSOLVE 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc" + #pragma shader_feature __ ADD SUBTRACT FILL + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; + + #if UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + // Dissolve + color = ApplyTransitionEffect(color, IN.eParam); + + return color; + } + ENDCG + } + } +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIDissolve).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIDissolve).shader.meta new file mode 100644 index 0000000..ef2d8f0 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIDissolve).shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 43184227f35f24905865f36834c4fea9 +timeCreated: 1450517184 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIEffect).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIEffect).shader new file mode 100644 index 0000000..d3ae4a6 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIEffect).shader @@ -0,0 +1,110 @@ +Shader "TextMeshPro/Sprite (UIEffect)" +{ + Properties + { + _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #pragma shader_feature __ GRAYSCALE SEPIA NEGA PIXEL + #pragma shader_feature __ ADD SUBTRACT FILL + #pragma shader_feature __ FASTBLUR MEDIUMBLUR DETAILBLUR + #pragma shader_feature __ EX + + #define TMP_SPRITE 1 + #define UI_EFFECT 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc" + + fixed4 frag(v2f IN) : SV_Target + { + fixed4 param = tex2D(_ParamTex, float2(0.5, IN.eParam)); + fixed effectFactor = param.x; + fixed colorFactor = param.y; + fixed blurFactor = param.z; + + #if PIXEL + half2 pixelSize = max(2, (1-effectFactor*0.95) * _MainTex_TexelSize.zw); + IN.texcoord = round(IN.texcoord * pixelSize) / pixelSize; + #endif + + #if defined(UI_BLUR) && EX + half4 color = (Tex2DBlurring(_MainTex, IN.texcoord, blurFactor * _MainTex_TexelSize.xy * 2, IN.uvMask) + _TextureSampleAdd); + #elif defined(UI_BLUR) + half4 color = (Tex2DBlurring(_MainTex, IN.texcoord, blurFactor * _MainTex_TexelSize.xy * 2) + _TextureSampleAdd); + #else + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd); + #endif + + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + + #if UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + #if defined (UI_TONE) + color = ApplyToneEffect(color, effectFactor); + #endif + + color = ApplyColorEffect(color, fixed4(IN.color.rgb, colorFactor)); + color.a *= IN.color.a; + + return color; + } + ENDCG + } + } +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIEffect).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIEffect).shader.meta new file mode 100644 index 0000000..0b6da9c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIEffect).shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 466007890ce83421082c2d58b0121dcd +timeCreated: 1450517184 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIHsvModifier).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIHsvModifier).shader new file mode 100644 index 0000000..d8ea01c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIHsvModifier).shader @@ -0,0 +1,87 @@ +Shader "TextMeshPro/Sprite (UIHsvModifier)" +{ + Properties + { + _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #define TMP_SPRITE 1 + #define UI_HSV_MODIFIER 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc" + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = tex2D(_MainTex, IN.texcoord);// + _TextureSampleAdd) * IN.color; + + #if UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + // Hsv + color = (ApplyHsvEffect(color, IN.eParam)+ _TextureSampleAdd) * IN.color; + + return color; + } + ENDCG + } + } +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIHsvModifier).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIHsvModifier).shader.meta new file mode 100644 index 0000000..88ffa64 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIHsvModifier).shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1c6bc77283bff44c7aad3f18690f024b +timeCreated: 1450517184 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIShiny).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIShiny).shader new file mode 100644 index 0000000..c21f504 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIShiny).shader @@ -0,0 +1,87 @@ +Shader "TextMeshPro/Sprite (UIShiny)" +{ + Properties + { + _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #define TMP_SPRITE 1 + #define UI_SHINY 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc" + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; + + #if UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + // Shiny + color = ApplyShinyEffect(color, IN.eParam); + + return color; + } + ENDCG + } + } +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIShiny).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIShiny).shader.meta new file mode 100644 index 0000000..20af06a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UIShiny).shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c518dd47762104054aeb15fbb2092350 +timeCreated: 1450517184 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UITransition).shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UITransition).shader new file mode 100644 index 0000000..e88635c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UITransition).shader @@ -0,0 +1,90 @@ +Shader "TextMeshPro/Sprite (UITransition)" +{ + Properties + { + _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _NoiseTex("Noise Texture (A)", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #pragma multi_compile __ UNITY_UI_CLIP_RECT + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #define TMP_SPRITE 1 + #define UI_TRANSITION 1 + #define ADD 1 + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc" + #include "Assets/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc" + #pragma shader_feature __ FADE CUTOFF DISSOLVE + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; + + #if UNITY_UI_CLIP_RECT + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + #endif + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + // Transition + color = ApplyTransitionEffect(color, IN.eParam); + color.rgb *= color.a; + + return color; + } + ENDCG + } + } +CustomEditor "Coffee.UIEffect.Editors.TMP_SDFShaderGUI" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UITransition).shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UITransition).shader.meta new file mode 100644 index 0000000..ae05060 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/TMP_Sprite (UITransition).shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8a91c64bfdfa7448cb176a87750a6b64 +timeCreated: 1450517184 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/UI-Effect-TMPro.cginc b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/UI-Effect-TMPro.cginc new file mode 100644 index 0000000..bc41b46 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/UI-Effect-TMPro.cginc @@ -0,0 +1,452 @@ +#ifndef UI_EFFECT_TMPRO_INCLUDED +#define UI_EFFECT_TMPRO_INCLUDED + +// Used by Unity internally to handle Texture Tiling and Offset. +float4 _FaceTex_ST; +float4 _OutlineTex_ST; + + +#if MOBILE +#define UV(x) x.texcoord0 +#define UV2(x) x.texcoord1 + +struct vertex_t { + float4 vertex : POSITION; + float3 normal : NORMAL; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; +#if EX + float2 uvMask : TEXCOORD2; +#endif +}; + +struct pixel_t { + float4 vertex : SV_POSITION; + fixed4 faceColor : COLOR; + fixed4 outlineColor : COLOR1; + float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV + half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w) + half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw) +#if (UNDERLAY_ON | UNDERLAY_INNER) + float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved + half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y) +#endif + fixed4 color : COLOR2; +#if UI_DISSOLVE || UI_TRANSITION + half3 eParam : TEXCOORD5; +#elif UI_SHINY + half2 eParam : TEXCOORD5; +#else + half eParam : TEXCOORD5; +#endif +#if EX + half4 uvMask : TEXCOORD6; +#endif +}; + + +pixel_t VertShader(vertex_t input) +{ + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.vertex; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + float4 vPosition = UnityObjectToClipPos(vert); + + float2 pixelSize = vPosition.w; + pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); + + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(input.texcoord1.y) * _GradientScale * 1.5; + if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + float layerScale = scale; + + scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); + float bias = (0.5 - weight) * scale - 0.5; + float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; + +// float opacity = input.color.a; +//#if (UNDERLAY_ON | UNDERLAY_INNER) +// opacity = 1.0; +//#endif + + fixed4 faceColor = input.color * _FaceColor; +// fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; +// faceColor.rgb *= faceColor.a; + + fixed4 outlineColor = _OutlineColor; +// outlineColor.a *= opacity; +// outlineColor.rgb *= outlineColor.a; + outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); + +#if (UNDERLAY_ON | UNDERLAY_INNER) + + layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); + float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 layerOffset = float2(x, y); +#endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + // Structure for pixel shader + #if UI_DISSOLVE || UI_TRANSITION + half3 param = UnpackToVec3(input.texcoord0.y); + #elif UI_SHINY + half2 param = UnpackToVec2(input.texcoord0.y); + #else + half param = input.texcoord0.y; + #endif + + #if UI_EFFECT + input.texcoord0 = UnpackToVec2(input.texcoord0.x) * 2 - 0.5; + #else + input.texcoord0 = UnpackToVec2(input.texcoord0.x); + #endif + pixel_t output = { + vPosition, + faceColor, + outlineColor, + float4(input.texcoord0, maskUV.x, maskUV.y), + half4(scale, bias - outline, bias + outline, bias), + half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)), + #if (UNDERLAY_ON | UNDERLAY_INNER) + float4(input.texcoord0 + layerOffset, input.color.a, 0), + half2(layerScale, layerBias), + #endif + input.color, + param, + #if EX + half4(UnpackToVec2(input.uvMask.x), UnpackToVec2(input.uvMask.y)), + #endif + }; + + return output; +} + + +// PIXEL SHADER +fixed4 PixShader(pixel_t input) : SV_Target +{ + half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; + half4 c = input.faceColor * saturate(d - input.param.w); + +#ifdef OUTLINE_ON + c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); + c *= saturate(d - input.param.y); +#endif + +#if UNDERLAY_ON + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); +#endif + +#if UNDERLAY_INNER + half sd = saturate(d - input.param.z); + d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; + c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); +#endif + +// Alternative implementation to UnityGet2DClipping with support for softness. +#if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); + c *= m.x * m.y; +#endif + +#if (UNDERLAY_ON | UNDERLAY_INNER) +// c *= input.texcoord1.z; +#endif + +// Dissolve +//c = ApplyTransitionEffect(c, input.eParam); +//c.rgb *= c.a; + +#if UNITY_UI_ALPHACLIP + clip(c.a - 0.001); +#endif + + return c; +} + +#else +#define UV(x) x.atlas +#define UV2(x) x.texcoord2 + +struct vertex_t { + float4 position : POSITION; + float3 normal : NORMAL; + fixed4 color : COLOR; + float2 texcoord0 : TEXCOORD0; + float2 texcoord1 : TEXCOORD1; +#if EX + float2 uvMask : TEXCOORD2; +#endif +}; + + +struct pixel_t { + float4 position : SV_POSITION; + fixed4 color : COLOR; + float2 atlas : TEXCOORD0; // Atlas + float4 param : TEXCOORD1; // alphaClip, scale, bias, weight + float4 mask : TEXCOORD2; // Position in object space(xy), pixel Size(zw) + float3 viewDir : TEXCOORD3; + +#if (UNDERLAY_ON || UNDERLAY_INNER) + float4 texcoord2 : TEXCOORD4; // u,v, scale, bias + fixed4 underlayColor : COLOR1; +#endif + float4 textures : TEXCOORD5; +#if UI_DISSOLVE || UI_TRANSITION + half3 eParam : TEXCOORD6; +#elif UI_SHINY + half2 eParam : TEXCOORD6; +#else + half eParam : TEXCOORD6; +#endif +#if EX + half4 uvMask : TEXCOORD7; +#endif +}; + +pixel_t VertShader(vertex_t input) +{ + float bold = step(input.texcoord1.y, 0); + + float4 vert = input.position; + vert.x += _VertexOffsetX; + vert.y += _VertexOffsetY; + + float4 vPosition = UnityObjectToClipPos(vert); + + float2 pixelSize = vPosition.w; + pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); + float scale = rsqrt(dot(pixelSize, pixelSize)); + scale *= abs(input.texcoord1.y) * _GradientScale * 1.5; + if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); + + float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; + weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; + + float bias =(.5 - weight) + (.5 / scale); + + float alphaClip = (1.0 - _OutlineWidth*_ScaleRatioA - _OutlineSoftness*_ScaleRatioA); + +#if GLOW_ON + alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB); +#endif + + alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight; + +#if (UNDERLAY_ON || UNDERLAY_INNER) + float4 underlayColor = _UnderlayColor; + underlayColor.rgb *= underlayColor.a; + + float bScale = scale; + bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale); + float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); + + float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; + float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; + float2 bOffset = float2(x, y); +#endif + + // Generate UV for the Masking Texture + float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); + float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); + + // Support for texture tiling and offset + float2 textureUV = UnpackUV(input.texcoord1.x); + float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); + float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); + + #if UI_DISSOLVE || UI_TRANSITION + half3 param = UnpackToVec3(input.texcoord0.y); + #elif UI_SHINY + half2 param = UnpackToVec2(input.texcoord0.y); + #else + half param = input.texcoord0.y; + #endif + + #if UI_EFFECT + input.texcoord0 = UnpackToVec2(input.texcoord0.x) * 2 - 0.5; + #else + input.texcoord0 = UnpackToVec2(input.texcoord0.x); + #endif + pixel_t output = { + vPosition, + input.color, + input.texcoord0, + float4(alphaClip, scale, bias, weight), + half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)), + mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz), + #if (UNDERLAY_ON || UNDERLAY_INNER) + float4(input.texcoord0 + bOffset, bScale, bBias), + underlayColor, + #endif + float4(faceUV, outlineUV), + param, + #if EX + half4(UnpackToVec2(input.uvMask.x), UnpackToVec2(input.uvMask.y)), + #endif + }; + + return output; +} + + +fixed4 PixShader(pixel_t input)// : SV_Target +{ + float c = tex2D(_MainTex, input.atlas).a; + +// #ifndef UNDERLAY_ON +// clip(c - input.param.x); +// #endif + + float scale = input.param.y; + float bias = input.param.z; + float weight = input.param.w; + float sd = (bias - c) * scale; + + float outline = (_OutlineWidth * _ScaleRatioA) * scale; + float softness = (_OutlineSoftness * _ScaleRatioA) * scale; + + half4 faceColor = _FaceColor; + half4 outlineColor = _OutlineColor; + +// faceColor.rgb *= input.color.rgb; + + faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); + outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); + + faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); + +#if BEVEL_ON + float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); + float3 n = GetSurfaceNormal(input.atlas, weight, dxy); + + float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; + bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); + n = normalize(n- bump); + + float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); + + float3 col = GetSpecular(n, light); + faceColor.rgb += col*faceColor.a; + faceColor.rgb *= 1-(dot(n, light)*_Diffuse); + faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z); + + fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); + faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; +#endif + +#if UNDERLAY_ON + float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; + faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a); +#endif + +#if UNDERLAY_INNER + float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; + faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a); +#endif + +#if GLOW_ON + float4 glowColor = GetGlowColor(sd, scale); + faceColor.rgb += glowColor.rgb * glowColor.a; +#endif + +// Alternative implementation to UnityGet2DClipping with support for softness. +#if UNITY_UI_CLIP_RECT + half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); + faceColor *= m.x * m.y; +#endif + +//#if UNITY_UI_ALPHACLIP +// clip(faceColor.a - 0.001); +//#endif + + return faceColor; +} + +#endif + +#if defined(UI_BLUR) +fixed4 Tex2DBlurring (pixel_t IN, half2 blur, half4 mask) +{ + #if FASTBLUR && EX + const int KERNEL_SIZE = 5; + const float KERNEL_[5] = { 0.2486, 0.7046, 1.0, 0.7046, 0.2486}; + #elif MEDIUMBLUR && EX + const int KERNEL_SIZE = 9; + const float KERNEL_[9] = { 0.0438, 0.1719, 0.4566, 0.8204, 1.0, 0.8204, 0.4566, 0.1719, 0.0438}; + #elif DETAILBLUR && EX + const int KERNEL_SIZE = 13; + const float KERNEL_[13] = { 0.0438, 0.1138, 0.2486, 0.4566, 0.7046, 0.9141, 1.0, 0.9141, 0.7046, 0.4566, 0.2486, 0.1138, 0.0438}; + #elif FASTBLUR + const int KERNEL_SIZE = 3; + const float KERNEL_[3] = { 0.4566, 1.0, 0.4566}; + #elif MEDIUMBLUR + const int KERNEL_SIZE = 5; + const float KERNEL_[5] = { 0.2486, 0.7046, 1.0, 0.7046, 0.2486}; + #elif DETAILBLUR + const int KERNEL_SIZE = 7; + const float KERNEL_[7] = { 0.1719, 0.4566, 0.8204, 1.0, 0.8204, 0.4566, 0.1719}; + #else + const int KERNEL_SIZE = 1; + const float KERNEL_[1] = { 1.0 }; + #endif + float4 o = 0; + float sum = 0; + float2 shift = 0; + half alpha = IN.color.a; + half2 texcood = UV(IN); + #if UNDERLAY_ON + half2 texcood2 = UV2(IN); + #endif + for(int x = 0; x < KERNEL_SIZE; x++) + { + shift.x = blur.x * (float(x) - KERNEL_SIZE/2); + for(int y = 0; y < KERNEL_SIZE; y++) + { + shift.y = blur.y * (float(y) - KERNEL_SIZE/2); + float2 uv = texcood + shift; + float weight = KERNEL_[x] * KERNEL_[y]; + sum += weight; + UV(IN).xy = uv; + IN.color.a = weight; + + #if UNDERLAY_ON + UV2(IN).xy = texcood2 + shift; + #endif + + #if EX + fixed masked = min(mask.x <= uv.x, uv.x <= mask.z) * min(mask.y <= uv.y, uv.y <= mask.w); + o += lerp(fixed4(0, 0, 0, 0), PixShader(IN) * weight, masked); + #else + o += PixShader(IN) * weight; + #endif + } + } + IN.color.a = alpha; + return o / sum;// * alpha; +} + +fixed4 Tex2DBlurring (pixel_t IN, half2 blur) +{ + return Tex2DBlurring(IN, blur, half4(0,0,1,1)); +} +#endif + + + +#endif // UI_EFFECT_TMPRO_INCLUDED diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/UI-Effect-TMPro.cginc.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/UI-Effect-TMPro.cginc.meta new file mode 100644 index 0000000..80537ae --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/ForTMPro/Shaders/UI-Effect-TMPro.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c6f704fc82d194f60ac2b8884db48ffe +timeCreated: 1487915863 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/LICENSE.md b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/LICENSE.md new file mode 100644 index 0000000..a26d8fb --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/LICENSE.md @@ -0,0 +1,7 @@ +Copyright 2017 mob-sakai + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/LICENSE.md.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/LICENSE.md.meta new file mode 100644 index 0000000..9cce110 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/LICENSE.md.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5c8ea34522dd786479be28b1347542b7 +timeCreated: 1515125149 +licenseType: Free +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials.meta new file mode 100644 index 0000000..38c5f66 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 39ac2ac7853a94fbc9d9e3d1151b9dfe +folderAsset: yes +timeCreated: 1515203270 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Dissolve.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Dissolve.mat new file mode 100644 index 0000000..bcf6a8a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Dissolve.mat @@ -0,0 +1,170 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 8 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Dissolve + m_Shader: {fileID: 4800000, guid: e1b48dc831eb147e9886c049033213bf, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NoiseTex: + m_Texture: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21162286589123374 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Dissolve-Fill + m_Shader: {fileID: 4800000, guid: e1b48dc831eb147e9886c049033213bf, type: 3} + m_ShaderKeywords: FILL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NoiseTex: + m_Texture: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21841578701121694 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Dissolve-Subtract + m_Shader: {fileID: 4800000, guid: e1b48dc831eb147e9886c049033213bf, type: 3} + m_ShaderKeywords: SUBTRACT + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NoiseTex: + m_Texture: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21939717441729078 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Dissolve-Add + m_Shader: {fileID: 4800000, guid: e1b48dc831eb147e9886c049033213bf, type: 3} + m_ShaderKeywords: ADD + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NoiseTex: + m_Texture: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Dissolve.mat.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Dissolve.mat.meta new file mode 100644 index 0000000..53f62fe --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Dissolve.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 17b17d6effbe14075a3bbdf1fda1f6e1 +timeCreated: 1526828325 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-HSV.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-HSV.mat new file mode 100644 index 0000000..d7503ea --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-HSV.mat @@ -0,0 +1,89 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-HSV + m_Shader: {fileID: 4800000, guid: 7fc74090480c84f8b977cfcd55cdfe82, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _ColorMask: 15 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UVSec: 0 + - _UseUIAlphaClip: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-HSV.mat.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-HSV.mat.meta new file mode 100644 index 0000000..1bcf07d --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-HSV.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8243c28075b3431084ded42f46ad567 +timeCreated: 1531885800 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat new file mode 100644 index 0000000..5ddad0b --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat @@ -0,0 +1,40 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Shiny + m_Shader: {fileID: 4800000, guid: 20ffe76c2439c403aabdd25bd94bf011, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat.meta new file mode 100644 index 0000000..3281712 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9dc7e810a87b444ab96919f3215c2fe5 +timeCreated: 1523859834 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Transition.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Transition.mat new file mode 100644 index 0000000..b701060 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Transition.mat @@ -0,0 +1,786 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 8 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21030718755001428 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Nega + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21035471806006108 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Cutoff + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NoiseTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransitionTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21048363040754768 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-DetailBlur + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: DETAILBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21103468552951452 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-FastBlur + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: FASTBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21131850011850196 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Dissolve + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: DISSOLVE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NoiseTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransitionTexture: + m_Texture: {fileID: 2800000, guid: a74d3d4a498866d44b094d3d3717604d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21165426070421698 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Sepia + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21217090983920726 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Add + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: ADD + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21383746192470066 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Fade + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: FADE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NoiseTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransitionTexture: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21397352971802982 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-DetailBlur + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: DETAILBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21433706607038904 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Hue + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21436055995319614 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Grayscale + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21553036001917316 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-MediumBlur + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: MEDIUMBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21582814526197946 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Grayscale-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: FILL GRAYSCALE MEDIUMBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21593680702607820 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Cutoff-Fill + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: CUTOFF FILL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21613091319250600 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Fill + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: FILL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21640785413581468 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: DETAILBLUR FILL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21660598935221184 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: FILL MEDIUMBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21730298716655380 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Subtract + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: SUBTRACT + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21748420970599250 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Fade + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: FADE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21811646848630374 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Pixel + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21972152714168334 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Transition-Grayscale-Fill + m_Shader: {fileID: 4800000, guid: 85ad24dd0759947ddb117625e108d49c, type: 3} + m_ShaderKeywords: FILL GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Transition.mat.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Transition.mat.meta new file mode 100644 index 0000000..f2d7784 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Transition.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 77a4cc77ec7394415a18f9e5a4b8083e +timeCreated: 1532512709 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat new file mode 100644 index 0000000..9b847ab --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat @@ -0,0 +1,4926 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &-7922399114787830828 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Fill-MediumBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: EX FILL MEDIUMBLUR + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &-2858933974303803426 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Fill-FastBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: EX FASTBLUR FILL + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 8 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21011258686512032 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Add + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: ADD NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21026428964303540 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21027069994720160 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Add + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: ADD GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21039963853110620 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR FILL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21051553669005610 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Add-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR ADD HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21052465468044756 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21066333305903936 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Fill + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FILL SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21075981732791042 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21088090490190524 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Add-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR ADD GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21101263305935548 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR FILL CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21104109730402914 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21105261449943414 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21109508837310648 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21111652731778514 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21116803245207008 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR FILL SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21122981926976530 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21123846122543778 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Subtract + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: SUBTRACT MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21131018956888464 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Add + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: ADD PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21137937571243814 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Add-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR ADD CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21145977231806290 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21149323267498812 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Add + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: ADD HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21166942708938158 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Add-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR ADD PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21175420890653266 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR ADD NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21185002339311568 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21186453925202086 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Fill + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FILL MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21192233312017768 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21197897579119900 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21199877168527062 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR FILL SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21212477583257292 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR ADD HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21232036731743694 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21240296032697190 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21255923207793296 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21258387908413332 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR FILL NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21271924954905420 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21293088704516238 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21302104002556128 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR ADD SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21303963782861626 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21305736874167728 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Fill-DetailBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR EX FILL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21306681885004364 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21320668284859588 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Add-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR ADD + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21330216548013380 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21336195750137204 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21348001306660082 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21348190401746968 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21359290647485348 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Add-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR ADD SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21361395707633912 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21364950658099354 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR FILL NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21378012982496048 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21378149258337820 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21380371216467826 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Add + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: ADD SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21380512493198096 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21405390060167114 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Fill + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FILL GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21409008212681998 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR FILL MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21415477525834930 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Subtract + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: SUBTRACT SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21430195719184000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR ADD MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21437925998559310 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21440092419426906 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21444967751105098 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21448049851552048 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-MediumBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: EX MEDIUMBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21450770079124654 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21453664544427490 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21467518254157304 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21471923136759810 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR FILL MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21481346700311234 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Add + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: ADD + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21510007115466990 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Add-DetailBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: ADD DETAILBLUR EX + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21512057394810148 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21512499159998750 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21532343593189452 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21533667629458412 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21541535114347366 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-DetailBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR EX + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21542047413524304 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21544716102375364 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Subtract + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: SUBTRACT NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21545629178218474 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Subtract + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: SUBTRACT CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21560746059913494 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21563344409783084 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21569565423378676 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21576230583202306 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21579131057152204 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21588405465634874 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21597123945508062 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Fill + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FILL HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21600722614953990 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21605587663562914 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Add-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR ADD MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21610745492908456 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21613427633448394 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21626828109100462 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21635119553697766 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-FastBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: EX FASTBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21639588145429544 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Add + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: ADD CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21653387824655390 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21661642508956528 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21661871162831128 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21663013170243334 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21666358306453470 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Fill + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FILL NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21668316807213568 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21672675497823216 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR ADD PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21695855126676214 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR FILL HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21696752101198370 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21701854708980174 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21705644928765800 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21706452675254552 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR ADD + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21709795224992298 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR FILL GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21724091816847400 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21732181610132420 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21737775158534176 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21738761090841570 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21745487242921564 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR FILL PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21758506112687914 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Fill + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FILL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21770831153649604 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR FILL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21774372728878936 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21778934727406118 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Subtract + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: SUBTRACT GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21783431032102164 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21786341683153736 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Subtract + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: SUBTRACT + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21788043290438114 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Add-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR ADD NEGA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21793963511044070 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR ADD GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21795397433206836 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Subtract + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: SUBTRACT HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21800671795679014 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21806928481719972 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT SEPIA + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21812566947609066 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-DetailBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR EX GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21846284721920408 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21849905517297320 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR FILL PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21856943469927286 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21857184430936670 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21866767477205256 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21875683972062094 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Subtract + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: SUBTRACT PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21876982461912130 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FASTBLUR FILL GRAYSCALE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21901242579300618 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Mono-Add + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: ADD MONO + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21905403339881664 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21913035326537372 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR FILL CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21919113364331978 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21930548911372394 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Pixel-Fill + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FILL PIXEL + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21932619879041906 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Fill + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: FILL CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21936983168141514 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Cutoff-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR ADD CUTOFF + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21960190213409036 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Hue-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR FILL HUE + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &21970657036975932 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-MediumBlur + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: MEDIUMBLUR + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &3053942024298246613 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Nega-Fill-DetailBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR EX FILL NEGA + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &6699891064212050928 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Grayscale-Fill-DetailBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR EX FILL GRAYSCALE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &8212491840734312675 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Sepia-Fill-DetailBlur-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: DETAILBLUR EX FILL SEPIA + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!21 &8343957003602954640 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Effect-Fill-Ex + m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} + m_ShaderKeywords: EX FILL + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParamTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _ColorMask: 15 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat.meta new file mode 100644 index 0000000..109e4a5 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aee96bc531e6eba468ec405e536f515f +timeCreated: 1516545204 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-EffectCapture.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-EffectCapture.mat new file mode 100644 index 0000000..16bec8f --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-EffectCapture.mat @@ -0,0 +1,2946 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 8 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21001350221337770 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR ADD SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21005335444250752 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Fill + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FILL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21016960860662074 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR ADD PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21023845200831270 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21027432810779364 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21030989892848150 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR ADD GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21033552291617054 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21041396460913280 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21056819352356984 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR FILL SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21060654537304868 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21068675451652014 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21073480574244224 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Subtract + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: SUBTRACT SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21076377998740836 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21098194493413042 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21100513470103868 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Subtract + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: SUBTRACT CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21100801862321504 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR FILL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21108493069934776 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR ADD MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21112473505439958 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Subtract + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: SUBTRACT MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21137075605536438 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21139104959758768 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21141670215816604 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Subtract + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: SUBTRACT PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21151152082240366 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21158187773666896 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21158287354459170 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Fill + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FILL MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21160928485195728 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21163386001181952 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Add + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: ADD + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21180311784830982 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21188047857059390 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21195987813400114 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR FILL NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21196009292881260 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR ADD CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21208593259003762 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Add-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR ADD SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21208814973840558 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR ADD HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21223496529676524 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21225403027991484 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21235221251116564 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Add-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR ADD NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21236713312209598 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Add + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: ADD MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21238226896242246 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21246320188769796 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21250018157501488 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21256826582599298 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Add + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: ADD HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21265083077838456 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21269505770704156 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Add-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR ADD HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21271737656425068 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Fill + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FILL HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21274887512295266 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Subtract + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: SUBTRACT HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21299730014148662 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21311535163325682 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Fill + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FILL PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21330837382260312 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21348740215208588 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Add + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: ADD PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21357698668151654 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Add + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: ADD GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21375795479143988 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21380876918929932 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21391695423842652 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR FILL GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21417096537396876 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21437209039152410 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR FILL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21439051966514136 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21442264889954230 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR FILL MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21457352921624622 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21468731017049312 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21473788329132996 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR FILL SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21488062548286614 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21488849981643420 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21492967078184882 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21493910870248356 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21501952905785980 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR FILL CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21503596611500104 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Subtract + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: SUBTRACT GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21506756747952386 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21507922917109504 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21513771694535674 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21514717380342966 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR FILL NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21516142945636580 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21520921185166520 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR ADD NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21530286236569234 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21535089593493610 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Add-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR ADD PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21535870744809866 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21539034498261676 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21554934105294920 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21558125253506702 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Subtract + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: SUBTRACT NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21567689657581068 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR FILL PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21573622090352234 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21580125621233078 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21600013067739988 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21606406475921198 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Subtract + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: SUBTRACT + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21607784703313842 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21607918322139882 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21626689172768082 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21634467479779240 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR FILL HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21634893092649796 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21643884122849122 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21666085101842770 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21667524121276224 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR FILL HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21672757049776000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21673216474037702 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Add + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: ADD NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21678605426902080 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21689944645522436 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Add + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: ADD CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21703650900064008 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Add-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR ADD + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21720974515842178 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Fill + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FILL SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21725216562525550 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21726096044982010 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21739359013763050 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21752730614596646 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21763027631778472 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21789826251113896 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Fill-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR FILL GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21796276417938830 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Add-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR ADD CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21802542208844640 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21803152779614592 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21804845077777756 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21818729930671402 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Fill + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FILL GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21837107852488514 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Add-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR ADD + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21864841718322090 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Add + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: ADD SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21875375628353510 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR FILL PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21883810497050488 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Pixel + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: PIXEL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21896782626352704 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21900680639606428 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Subtract-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR SUBTRACT GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21904210008973296 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR FILL MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21908753506073252 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Fill-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR FILL CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21919480183139484 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21932163668092358 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21940692226619656 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21941132857563306 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Cutoff-Fill + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FILL CUTOFF + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21944728689128076 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Add-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR ADD GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21958485075286502 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Hue-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR HUE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21959906786847224 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Add-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR ADD MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21971143766995802 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Add-FastBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FASTBLUR ADD GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21974076965769426 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Nega-Fill + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: FILL NEGA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21984221885711892 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Mono-Subtract-DetailBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: DETAILBLUR SUBTRACT MONO + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21999524652768862 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Grayscale-Subtract-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR SUBTRACT GRAYSCALE + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] +--- !u!21 &21999927364937204 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 9 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UI-EffectCapture-Sepia-Fill-MediumBlur + m_Shader: {fileID: 4800000, guid: 7a6f925a07c3c5846a1c782eaaeb7087, type: 3} + m_ShaderKeywords: MEDIUMBLUR FILL SEPIA + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + stringTagMap: {} + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + - first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: [] + m_Colors: [] diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-EffectCapture.mat.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-EffectCapture.mat.meta new file mode 100644 index 0000000..6ca8354 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-EffectCapture.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1a1a8e44196ca754a9a7b9cb80e17573 +timeCreated: 1516545204 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UIDissolveNoise.png b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UIDissolveNoise.png new file mode 100644 index 0000000..1f4c2dc Binary files /dev/null and b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UIDissolveNoise.png differ diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UIDissolveNoise.png.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UIDissolveNoise.png.meta new file mode 100644 index 0000000..9a60ed2 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UIDissolveNoise.png.meta @@ -0,0 +1,100 @@ +fileFormatVersion: 2 +guid: 3e04c247fb2604af186173fce0bc62de +timeCreated: 1524468976 +licenseType: Pro +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: 1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 2 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 10 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 256 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UITransitionTex.png b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UITransitionTex.png new file mode 100644 index 0000000..b1f817b Binary files /dev/null and b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UITransitionTex.png differ diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UITransitionTex.png.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UITransitionTex.png.meta new file mode 100644 index 0000000..506d279 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UITransitionTex.png.meta @@ -0,0 +1,100 @@ +fileFormatVersion: 2 +guid: a74d3d4a498866d44b094d3d3717604d +timeCreated: 1533229728 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 2 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 10 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: iPhone + maxTextureSize: 512 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/README.md b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/README.md new file mode 100644 index 0000000..c71d36a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/README.md @@ -0,0 +1,244 @@ +UIEffect +=== + +UIEffect provide visual effect components for uGUI element in Unity. + +[![](https://img.shields.io/github/release/mob-sakai/UIEffect.svg?label=latest%20version)](https://github.com/mob-sakai/UIEffect/releases) +[![](https://img.shields.io/github/release-date/mob-sakai/UIEffect.svg)](https://github.com/mob-sakai/UIEffect/releases) +![](https://img.shields.io/badge/unity-5.5%2B-green.svg) +[![](https://img.shields.io/github/license/mob-sakai/UIEffect.svg)](https://github.com/mob-sakai/UIEffect/blob/master/LICENSE.txt) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-orange.svg)](http://makeapullrequest.com) +[![](https://img.shields.io/twitter/follow/mob_sakai.svg?label=Follow&style=social)](https://twitter.com/intent/follow?screen_name=mob_sakai) + +<< [Description](#Description) | [WebGL Demo](#demo) | [Download](https://github.com/mob-sakai/UIEffect/releases) | [Usage](#usage) | [Example of using](#example-of-using) | [Development Note](#development-note) >> + +### What's new? [See changelog ![](https://img.shields.io/github/release-date/mob-sakai/UIEffect.svg?label=last%20updated)](https://github.com/mob-sakai/UIEffect/blob/develop/CHANGELOG.md) +### Do you want to receive notifications for new releases? [Watch this repo ![](https://img.shields.io/github/watchers/mob-sakai/UIEffect.svg?style=social&label=Watch)](https://github.com/mob-sakai/UIEffect/subscription) +### Support me on Patreon! [![become_a_patron](https://user-images.githubusercontent.com/12690315/50731629-3b18b480-11ad-11e9-8fad-4b13f27969c1.png)](https://www.patreon.com/join/2343451?) + + + +



+## Description + +Let's decorate your UI with effects! +You can control parameters as you like from the script as well as inspector. +AnimationClip is supported as a matter of course! + +![thumbnail](https://user-images.githubusercontent.com/12690315/41398364-155cf5a6-6ff2-11e8-8124-9d16ef6ca267.gif) +![image](https://user-images.githubusercontent.com/12690315/38594668-636dd3ac-3d82-11e8-9951-820964a6a95f.gif) + +

+#### Available effects + +| Component | Features | Screenshot | +|-|-|-| +|**UIEffect**|Combine some visual effects.

**Effect Mode:** Grayscale, Sepia, Nega, Pixelation
**Color Mode:** Multiply, Fill, Additive, Subtract
**Blur Mode:** Fast, Medium, Detail
**Advanced Blur:** Enable more beautiful blurring.|| +|**UICaptured EffectImage**|Capture a screenshot of a specific frame with effect, and display it.
This effect is non-realtime, light-weight, less-camera, but be effective enough.

**Effect Mode:** Grayscale, Sepia, Nega, Pixelation
**Color Mode:** Multiply, Fill, Additive, Subtract
**Blur Mode:** Fast, Medium, Detail
**Quality Mode:** Fast, Medium, Detail, Custom
**Capture On Enable:** When the component is enable, capture screen automatically.
**Blur iterations:** Number of blur iterations.
**Reduction/Downsampling Rate:** None, x1, x2, x4, x8
**Fit size to screen:** Fit RectTransform to the screen on captured.
**Immediate Capturing:**

*NOTE: This component can be used with UIEffect, UITransition etc.*
*NOTE: Immediate capturing does not support LWRP, WebGL and Unity 5.x for iOS/Mac.*|| +|**UIShiny**|Apply shining effect to a graphic.
The effect does not require Mask component or normal map.

**Parameters:** Effect factor, Width, Rotation, Softness, Brightness, Gloss
**Effect Player:** To play shining, enable `Play` in inspector or call `Play()` from script.|| +|**UIDissolve**|Apply dissolve effect to a graphic.

**Color Mode for edge:** Multiply, Fill, Additive, Subtract
**Parameters:** Effect factor, Width, Rotation, Softness, Edge color
**Options:** Effect area, Keep effect aspect ratio
**Effect Player:** To play dissolving, call `Play()` from script.|| +|**UIHsvModifier**|Modify HSV for graphic.

**Target:** Color, Range
**Adjustment:** Hue, Saturation, Value|| +|**UITransition Effect**|Apply transition effect with a single channel texture.

**Effect Mode:** Cutoff, Fade, Dissolve
**Options:** Effect area, Keep effect aspect ratio, transition texture
**Pass Ray On Hidden:** Disable the graphic's raycastTarget on hidden.
**Effect Player:** To show/hide transition, call `Show()/Hide()` from script.|| + +

+##### The following effects can be used with the above components. + +| Component | Features | Screenshot | +|-|-|-| +|**UIShadow**|Add shadow/outline to a graphic.
The performance is better than the default Shadow/Outline component.

**ShadowStyle:** Shadow, Shadow3, Outline, Outline8|| +|**UIGradient**|Change vertex color as gradient with angle and offset.

**Direction:** Horizontal, Vertical, Angle, Diagonal
**Options:** Offset, Color space|| +|**UIFlip**|Flip a graphic.

**Direction:** Horizontal, Vertical, Both|| + + + + +



+## Demo + +[WebGL Demo](http://mob-sakai.github.io/UIEffect) + +* Effect sample +* Transition +* Dialog window with blured background +* Included in unitypackage + + + + +



+## Usage + +1. Download UIEffect.unitypackage from [Releases](https://github.com/mob-sakai/UIEffect/releases). +2. Import the package into your Unity project. Select `Import Package > Custom Package` from the `Assets` menu. +![](https://user-images.githubusercontent.com/12690315/46570979-edbb5a00-c9a7-11e8-845d-c5ee279effec.png) +3. In Unity5.6+, enable `TexCoord1` channel of canvas. See also [Development Note](##note-unity-56). +![](https://user-images.githubusercontent.com/12690315/46567584-3525f400-c970-11e8-9839-5c9e810b0b80.png) +4. Add any effect component to UI element (Image, RawImage, Text, etc...) from `Add Component` in inspector or `Component > UI > UIEffect > ...` menu. +![](https://user-images.githubusercontent.com/12690315/46570977-ebf19680-c9a7-11e8-9ffb-174f56107070.png) +6. Adjust the parameters of the effect as you like, in inspector. +![image](https://user-images.githubusercontent.com/12690315/38594668-636dd3ac-3d82-11e8-9951-820964a6a95f.gif) +7. Enjoy! + + +#### Usage with TextMeshPro + +1. Add a symbol `TMP_PRESENT` to scripting define symbols. +![](https://user-images.githubusercontent.com/12690315/54080742-14583500-433a-11e9-815b-8ed600697569.png) +2. If the material does not support the effect component, the following warning will be displayed. +When you press the Fix button, new material is automatically generated and set. +![](https://user-images.githubusercontent.com/12690315/49728471-377d3500-fcb6-11e8-849b-d664aeb9da75.png) +3. If you want to use material variants, select `Create Material Preset` from the context menu to duplicate the material. +![](https://user-images.githubusercontent.com/12690315/53881014-dfa45f00-4055-11e9-833f-7409adebc542.png) +4. Effect mode, color mode, blur mode and etc. can not be changed from the component editor. +Change them from the material editor. +![](https://user-images.githubusercontent.com/12690315/53782892-bea71580-3f52-11e9-9d43-e7cb6761f52c.png) +5. If you want to enable "Advanced Blur", enable `TexCoord2` channel of canvas. +![](https://user-images.githubusercontent.com/12690315/46567584-3525f400-c970-11e8-9839-5c9e810b0b80.png) + + +#### Usage without TextMeshPro + +1. When you uninstalled TextMeshPro from the project, remove a symbol `TMP_PRESENT` to scripting define symbols. +![](https://user-images.githubusercontent.com/12690315/54080761-cabc1a00-433a-11e9-97ab-431cf1cfe602.png) + + +##### Requirement + +* Unity 5.5+ *(included Unity 2018.x)* +* No other SDK are required + + + + +



+## Example of using + +| Case | Description | Screenshot | +|-|-|-| +|Lock/unlock contents|Use UIEffect to apply grayscale.
Indicate to user that the content is unavailable.|![](https://user-images.githubusercontent.com/12690315/46563469-aba8fe80-c93c-11e8-850f-949f6f8da742.png)| +|Silhouette|Use UIEffect for filling color.|![](https://user-images.githubusercontent.com/12690315/46563576-3db10700-c93d-11e8-960e-4336ff3ce481.png)| +|Soft shadow/
Outer glow|Use UIEffect and UIShadow to blur the shadow.
To blur only shadow, set `Blur Factor` in UIEffect to 0.|![](https://user-images.githubusercontent.com/12690315/46566001-452edb00-c952-11e8-9cc4-6098a9eb67f3.png)| +|Colored shadow|Use UIEffect and UIShadow to fill shadow with color.
To fill only shadow, set `Color Factor` in UIEffect to 0.|![](https://user-images.githubusercontent.com/12690315/46566000-452edb00-c952-11e8-8d20-6ccc3fa92ae4.png)| +|Blurred dynamic font|Use UIEffect to blur text.
To blur dynamic font cleanly, enable `Advanced Blur` option.|![](https://user-images.githubusercontent.com/12690315/46566002-45c77180-c952-11e8-87cb-4d915e0614be.png)| +|Text with outline & shadow|Use two UIShadows to add outline and shadow.
There is less overdraw than default Outline/Shadow `(Default: 1 x 5 x 2 = 10 overdraws, UIShadow: 1 + 4 + 1 = 6 overdraws)`.|![](https://user-images.githubusercontent.com/12690315/46566003-45c77180-c952-11e8-9b47-7bf563ffbaa7.png)| +|Shining button|Use UIShiny for shining button.
Shine the button and indicate to user that you can press the button.
Enable `Play` and `Loop` option to shine it without any AnimationClip.|![](https://user-images.githubusercontent.com/12690315/46563539-fb87c580-c93c-11e8-8c08-0f21872c47d4.gif)| +|Blurring the background of a menu|Use UIEffectCapturedImage to blur the background of a menu.
UIEffectCapturedImage applies an effect to the screen of the previous frame, without adding a camera or layer.
It's not a real-time post effect, so it's good performance and works well on mobile.|![](https://user-images.githubusercontent.com/12690315/46565712-735dec00-c94d-11e8-81b4-4e848d8fdb2e.png)| +|Screen transition|Use UITransitionEffect to add screen transition.
You can change transition texture (single channel texture).
Enable `Pass Ray On Hidden` option and use `Show()/Hide()` method to play transition without AnimationClip.|![](https://user-images.githubusercontent.com/12690315/46565182-dfd5ec80-c947-11e8-834f-a2ef67ad0d95.gif)| + + + + +



+## Development Note + +#### How does UIEffectCapturedImage work? + +![image](https://user-images.githubusercontent.com/12690315/34619147-868cb36a-f284-11e7-8122-b924ff09077f.gif) + +`UIEffectCapturedImage` is similar to post effect, but uses `CommandBuffer` to give effect only on the rendering result (= captured image) of a specific frame. +This effect is non-realtime, light-weight, less-camera, blit only once, but be effective enough. + +* Camera for processing effect is unnecessary. +* Process effect only once after `UIEffectCapturedImage.Capture`. +* Using reduction buffer, keep using memory size small and keep the rendering load are small. +* When GameObjects with motion are on the screen, a result texture may be stirred. +* You can overlay and display like as: +`[Screen] | [UIEffectCapturedImage] | [Dialog A] | [UIEffectCapturedImage] | [Dialog B]`. +See also [Demo](#demo). + + +#### Why is UIEffect lightweight? + +* UIEffect pre-generates material from a combination of effects. This has the following benefits. + * Draw call batching If possible, draw calls will decrease. + * Since only the required material and shader variants are included in the build, the build size will be smaller. + + +#### How to control effect parameters for uGUI element WITHOUT MaterialPropertyBlock? + +* In general, you can use [MaterialPropertyBlock](https://docs.unity3d.com/ScriptReference/MaterialPropertyBlock.html) for renderers to control minor changes in the material without different batches. +* However, changing the [MaterialPropertyBlock](https://docs.unity3d.com/ScriptReference/MaterialPropertyBlock.html) of the uGUI element from the script will cause different batches and draw calls to increase. +* So UIEffect encodes multiple effect parameters to UV1 channel with [IMeshModifier](https://docs.unity3d.com/ScriptReference/UI.IMeshModifier.html). + * Pack four 6-bit [0-1] (64 steps) parameters into one float value. + * The parameters are lower precision, but sufficient. + +| uv1 | 6-bit [0-1] | 6-bit [0-1] | 6-bit [0-1] | 6-bit [0-1] | +|-|-|-|-|-| +| x(32bit float) | Tone level | *Empty* | Blur level | *Empty* | +| y(32bit float) | Red channel | Green channel | Blue channel | Alpha channel | + +* In v3.0.0+, UIEffect uploads the parameter value to a shared texture and the shader refers to it. +This approach has the following advantages: + * More parameters for the effect are available. + * The parameter accuracy is improved from 6 bits to 8 bits. + * ModifyMesh is not called when parameter value is changed. + + +#### Note: Unity 5.6+ + +In Unity 5.6+, Canvas supports **Additional Shader Channels**. +Please enable `TexCoord1` to use UIEffect. +![image](https://user-images.githubusercontent.com/12690315/28405830-f4f261e8-6d68-11e7-9faf-7e5442062f59.png) +![image](https://user-images.githubusercontent.com/12690315/34560894-191b6cda-f18b-11e7-9de2-9a9d13f72ccd.png) + + +#### Note: if you include prefabs / scenes containing UIEffect in AssetBundle. + +Use script define symbol `UIEFFECT_SEPARATE`. +Unused shader variants and materials will be excluded from AssetBundles. + +||Combined mode (default)|Separated mode| +|-|-|-| +|Script define symbol| - |`UIEFFECT_SEPARATE`| +|Included in build|Only used variants|Only used variants| +|Included in AssetBundle|All variants (Heavy!)|Only used variants| +|Look in editor|![comb](https://user-images.githubusercontent.com/12690315/35324040-df4f1684-0132-11e8-9534-f958b93de158.png)|![sep](https://user-images.githubusercontent.com/12690315/35324405-fd5e89a6-0133-11e8-9d23-71ccc424fa21.png)| + + +#### How to improve performance? + +* Use `ShaderVariantCollection` to preload shader. +https://docs.unity3d.com/Manual/OptimizingShaderLoadTime.html +* Set camera's clear flag to "Solid Color". +* Enable multi thread rendering. + + +#### The issue of default Outline component + +Graphic with multiple outline components will generate a lot of overdraw. + +![image](https://user-images.githubusercontent.com/12690315/34552373-600fdab2-f164-11e7-8565-21c15af92a93.png) + +This is an overdraw view of image with three outline components. +Because there are many overdraws, it is very bright! +For each Outline component, increase the mesh by 5 times. (In the case of the Shadow component, it doubles the mesh.) +In the image above, `1 x 5 x 5 x 5 = 125` overdraws are generated. + +UIShadow's 'Addition Shadow' feature solves this issue by adding only the necessary mesh, `1 + 4 + 4 + 4 = 13` overdraws are generated. + + + + +



+## License + +* MIT +* © UTJ/UCL + + + +## Author + +[mob-sakai](https://github.com/mob-sakai) +[![](https://img.shields.io/twitter/follow/mob_sakai.svg?label=Follow&style=social)](https://twitter.com/intent/follow?screen_name=mob_sakai) +[![become_a_patron](https://user-images.githubusercontent.com/12690315/50731629-3b18b480-11ad-11e9-8fad-4b13f27969c1.png)](https://www.patreon.com/join/2343451?) + + + +## See Also + +* GitHub page : https://github.com/mob-sakai/UIEffect +* Releases : https://github.com/mob-sakai/UIEffect/releases +* Issue tracker : https://github.com/mob-sakai/UIEffect/issues +* Current project : https://github.com/mob-sakai/UIEffect/projects/1 +* Change log : https://github.com/mob-sakai/UIEffect/blob/master/CHANGELOG.md diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/README.md.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/README.md.meta new file mode 100644 index 0000000..34443f3 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/README.md.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ddc08462bf3e14c82929e462ff7823e7 +timeCreated: 1502939317 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts.meta new file mode 100644 index 0000000..d4dca94 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a75d49073646347b1955a9f9df36cc45 +folderAsset: yes +timeCreated: 1527743733 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common.meta new file mode 100644 index 0000000..36580c4 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 04feaefc7cdee4c13abcd553a1a6e3a9 +folderAsset: yes +timeCreated: 1528368324 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs new file mode 100644 index 0000000..79b1658 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs @@ -0,0 +1,565 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +#if TMP_PRESENT +using System.Collections.Generic; +using TMPro; +#if UNITY_EDITOR +using UnityEditor; +using System.IO; +using System.Linq; +#endif +#endif + +namespace Coffee.UIExtensions +{ + /// + /// Base class for effects that modify the generated Mesh. + /// It works well not only for standard Graphic components (Image, RawImage, Text, etc.) but also for TextMeshPro and TextMeshProUGUI. + /// + [ExecuteInEditMode] + public abstract class BaseMeshEffect : UIBehaviour, IMeshModifier + { + //################################ + // Constant or Static Members. + //################################ +#if TMP_PRESENT + static readonly List s_Uv0 = new List (4096); + static readonly List s_Uv1 = new List (4096); + #if UNITY_2017_1_OR_NEWER + static readonly List s_Uv2 = new List (4096); + static readonly List s_Uv3 = new List (4096); + #endif + static readonly List s_Vertices = new List (4096); + static readonly List s_Indices = new List (4096); + static readonly List s_Normals = new List (4096); + static readonly List s_Tangents = new List (4096); + static readonly List s_Colors = new List (4096); + static readonly VertexHelper s_VertexHelper = new VertexHelper (); + static readonly List s_SubMeshUIs = new List (4096); + static readonly List s_Meshes = new List (4096); + static readonly List s_UIVertices = new List (4096); + static readonly List s_TmpEffects = new List(4); +#endif + static readonly Material [] s_EmptyMaterials = new Material [0]; + + + //################################ + // Public Members. + //################################ + /// + /// The Graphic attached to this GameObject. + /// + public Graphic graphic { get { Initialize (); return _graphic; } } + + /// + /// The CanvasRenderer attached to this GameObject. + /// + public CanvasRenderer canvasRenderer { get { Initialize (); return _canvasRenderer; } } + +#if TMP_PRESENT + /// + /// The TMP_Text attached to this GameObject. + /// + public TMP_Text textMeshPro { get { Initialize (); return _textMeshPro; } } +#endif + + /// + /// The RectTransform attached to this GameObject. + /// + public RectTransform rectTransform { get { Initialize (); return _rectTransform; } } + +#if UNITY_5_6_OR_NEWER + /// + /// Additional canvas shader channels to use this component. + /// + public virtual AdditionalCanvasShaderChannels requiredChannels { get { return AdditionalCanvasShaderChannels.None; } } +#endif + + /// + /// Is TextMeshPro or TextMeshProUGUI attached to this GameObject? + /// + public bool isTMPro + { + get + { +#if TMP_PRESENT + return textMeshPro != null; +#else + return false; +#endif + } + } + + /// + /// The material for rendering. + /// + public virtual Material material + { + get + { + +#if TMP_PRESENT + if (textMeshPro) + { + return textMeshPro.fontSharedMaterial; + } + else +#endif + if (graphic) + { + return graphic.material; + } + else + { + return null; + } + } + set + { +#if TMP_PRESENT + if (textMeshPro) + { + textMeshPro.fontSharedMaterial = value; + } + else +#endif + if (graphic) + { + graphic.material = value; + } + } + } + + public virtual Material[] materials + { + get + { + +#if TMP_PRESENT + if (textMeshPro) + { + return textMeshPro.fontSharedMaterials ?? s_EmptyMaterials; + } + else +#endif + if (graphic) + { + _materials [0] = graphic.material; + return _materials; + } + else + { + return s_EmptyMaterials; + } + } + } + + /// + /// Call used to modify mesh. (legacy) + /// + /// Mesh. + public virtual void ModifyMesh (Mesh mesh) + { + } + + /// + /// Call used to modify mesh. + /// + /// VertexHelper. + public virtual void ModifyMesh (VertexHelper vh) + { + } + + /// + /// Mark the vertices as dirty. + /// + public virtual void SetVerticesDirty () + { +#if TMP_PRESENT + if (textMeshPro) + { + foreach (var info in textMeshPro.textInfo.meshInfo) + { + var mesh = info.mesh; + if (mesh) + { + mesh.Clear (); + mesh.vertices = info.vertices; + mesh.uv = info.uvs0; + mesh.uv2 = info.uvs2; + mesh.colors32 = info.colors32; + mesh.normals = info.normals; + mesh.tangents = info.tangents; + mesh.triangles = info.triangles; + } + } + + if (canvasRenderer) + { + canvasRenderer.SetMesh (textMeshPro.mesh); + + GetComponentsInChildren (false, s_SubMeshUIs); + foreach (var sm in s_SubMeshUIs) + { + sm.canvasRenderer.SetMesh (sm.mesh); + } + s_SubMeshUIs.Clear (); + } + textMeshPro.havePropertiesChanged = true; + } + else +#endif + if (graphic) + { + graphic.SetVerticesDirty (); + } + } + + public void ShowTMProWarning (Shader shader, Shader mobileShader, Shader spriteShader, System.Action onCreatedMaterial) + { +#if UNITY_EDITOR && TMP_PRESENT + if(!textMeshPro || !textMeshPro.fontSharedMaterial) + { + return; + } + + // Is the material preset for dissolve? + Material m = textMeshPro.fontSharedMaterial; + if (m.shader != shader && m.shader != mobileShader) + { + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.HelpBox (string.Format("{0} requires '{1}' or '{2}' as a shader for material preset.", GetType().Name, shader.name, mobileShader.name), MessageType.Warning); + if(GUILayout.Button ("Fix")) + { + var correctShader = m.shader.name.Contains ("Mobile") ? mobileShader : shader; + textMeshPro.fontSharedMaterial = ModifyTMProMaterialPreset (m, correctShader, onCreatedMaterial); + } + EditorGUILayout.EndHorizontal (); + return; + } + + // Is the sprite asset for dissolve? + TMP_SpriteAsset spriteAsset = textMeshPro.spriteAsset ?? TMP_Settings.GetSpriteAsset (); + // Sprite asset might not exist at all + if(spriteAsset == null) { + return; + } + + m = spriteAsset.material; + if (m && m.shader != spriteShader && textMeshPro.richText && textMeshPro.text.Contains(" ().Select (x => x.gameObject).ToList ().ForEach (DestroyImmediate); + GetComponentsInChildren ().Select (x => x.gameObject).ToList ().ForEach (DestroyImmediate); + textMeshPro.spriteAsset = ModifyTMProSpriteAsset (m, spriteShader, onCreatedMaterial); + } + EditorGUILayout.EndHorizontal (); + return; + } + } + + Material ModifyTMProMaterialPreset (Material baseMaterial, Shader shader, System.Action onCreatedMaterial) + { + string path = AssetDatabase.GetAssetPath (baseMaterial); + string filename = Path.GetFileNameWithoutExtension (path) + " (" + GetType ().Name + ")"; + Material mat = Resources.Load (TMP_Settings.defaultFontAssetPath + filename); + if (!mat) + { + mat = new Material (baseMaterial) + { + shaderKeywords = baseMaterial.shaderKeywords, + shader = shader, + }; + onCreatedMaterial (mat); + AssetDatabase.CreateAsset (mat, Path.GetDirectoryName (path) + "/" + filename + ".mat"); + + EditorUtility.FocusProjectWindow (); + EditorGUIUtility.PingObject (mat); + } + else + { + mat.shader = shader; + } + EditorUtility.SetDirty (mat); + return mat; + } + + TMP_SpriteAsset ModifyTMProSpriteAsset (Material baseMaterial, Shader shader, System.Action onCreatedMaterial) + { + string path = AssetDatabase.GetAssetPath (baseMaterial); + string filename = Path.GetFileNameWithoutExtension (path) + " (" + this.GetType ().Name + ")"; + TMP_SpriteAsset spriteAsset = Resources.Load (TMP_Settings.defaultSpriteAssetPath + filename); + if (!spriteAsset) + { + AssetDatabase.CopyAsset (path, Path.GetDirectoryName (path) + "/" + filename + ".mat"); + spriteAsset = Resources.Load (TMP_Settings.defaultSpriteAssetPath + filename); + spriteAsset.material.shader = shader; + spriteAsset.material.name = shader.name; + onCreatedMaterial (spriteAsset.material); + + EditorUtility.FocusProjectWindow (); + EditorGUIUtility.PingObject (spriteAsset); + } + else + { + spriteAsset.material.shader = shader; + } + EditorUtility.SetDirty (spriteAsset); + return spriteAsset; +#endif + } + + + //################################ + // Protected Members. + //################################ + /// + /// Should the effect modify the mesh directly for TMPro? + /// + protected virtual bool isLegacyMeshModifier { get { return false; } } + + + protected virtual void Initialize () + { + if (!_initialized) + { + _initialized = true; + _graphic = _graphic ?? GetComponent (); + _canvasRenderer = _canvasRenderer ?? GetComponent (); + _rectTransform = _rectTransform ?? GetComponent (); +#if TMP_PRESENT + _textMeshPro = _textMeshPro ?? GetComponent (); +#endif + } + } + + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable () + { + _initialized = false; + SetVerticesDirty (); +#if TMP_PRESENT + if (textMeshPro) + { + TMPro_EventManager.TEXT_CHANGED_EVENT.Add (OnTextChanged); + } +#endif + +#if UNITY_EDITOR && TMP_PRESENT + if (graphic && textMeshPro) + { + GraphicRebuildTracker.TrackGraphic (graphic); + } +#endif + +#if UNITY_5_6_OR_NEWER + if (graphic) + { + AdditionalCanvasShaderChannels channels = requiredChannels; + var canvas = graphic.canvas; + if (canvas && (canvas.additionalShaderChannels & channels) != channels) + { + Debug.LogWarningFormat (this, "Enable {1} of Canvas.additionalShaderChannels to use {0}.", GetType ().Name, channels); + } + } +#endif + } + + /// + /// This function is called when the behaviour becomes disabled () or inactive. + /// + protected override void OnDisable () + { +#if TMP_PRESENT + TMPro_EventManager.TEXT_CHANGED_EVENT.Remove (OnTextChanged); +#endif + SetVerticesDirty (); + +#if UNITY_EDITOR && TMP_PRESENT + if (graphic && textMeshPro) + { + GraphicRebuildTracker.UnTrackGraphic (graphic); + } +#endif + } + + + /// + /// LateUpdate is called every frame, if the Behaviour is enabled. + /// + protected virtual void LateUpdate () + { +#if TMP_PRESENT + if (textMeshPro) + { + if (textMeshPro.havePropertiesChanged || _isTextMeshProActive != textMeshPro.isActiveAndEnabled) + { + SetVerticesDirty (); + } + _isTextMeshProActive = textMeshPro.isActiveAndEnabled; + } +#endif + } + + /// + /// Callback for when properties have been changed by animation. + /// + protected override void OnDidApplyAnimationProperties () + { + SetVerticesDirty (); + } + +#if UNITY_EDITOR + /// + /// This function is called when the script is loaded or a value is changed in the inspector (Called in the editor only). + /// + protected override void OnValidate () + { + SetVerticesDirty (); + } +#endif + + + //################################ + // Private Members. + //################################ + bool _initialized; + CanvasRenderer _canvasRenderer; + RectTransform _rectTransform; + Graphic _graphic; + Material [] _materials = new Material [1]; + +#if TMP_PRESENT + bool _isTextMeshProActive; + TMP_Text _textMeshPro; + + /// + /// Called when any TextMeshPro generated the mesh. + /// + /// TextMeshPro object. + void OnTextChanged (Object obj) + { + // Skip if the object is different from the current object or the text is empty. + var textInfo = textMeshPro.textInfo; + if (textMeshPro != obj || textInfo.characterCount - textInfo.spaceCount <= 0) + { + return; + } + + GetComponents(s_TmpEffects); + for (int i = 0; i < s_TmpEffects.Count; i++) + { + if (s_TmpEffects[i].enabled) + { + if (s_TmpEffects[i] == this) + break; + else + return; + } + } + + // Collect the meshes. + s_Meshes.Clear (); + foreach (var info in textInfo.meshInfo) + { + s_Meshes.Add (info.mesh); + } + + // Modify the meshes. + foreach (var e in s_TmpEffects) + { + if (!e.enabled) + continue; + + if (e.isLegacyMeshModifier) + { + // Legacy mode: Modify the meshes directly. + foreach (var m in s_Meshes) + { + if (m) + { + e.ModifyMesh(m); + } + } + } + else + { + // Convert meshes to VertexHelpers and modify them. + foreach (var m in s_Meshes) + { + if (m) + { + FillVertexHelper(s_VertexHelper, m); + e.ModifyMesh(s_VertexHelper); + s_VertexHelper.FillMesh(m); + } + } + } + } + + // Set the modified meshes to the CanvasRenderers (for UI only). + if (canvasRenderer) + { + canvasRenderer.SetMesh (textMeshPro.mesh); + GetComponentsInChildren (false, s_SubMeshUIs); + foreach (var sm in s_SubMeshUIs) + { + sm.canvasRenderer.SetMesh (sm.mesh); + } + s_SubMeshUIs.Clear (); + } + + // Clear. + s_Meshes.Clear (); + } + + void FillVertexHelper (VertexHelper vh, Mesh mesh) + { + vh.Clear (); + + mesh.GetVertices (s_Vertices); + mesh.GetColors (s_Colors); + mesh.GetUVs (0, s_Uv0); + mesh.GetUVs (1, s_Uv1); + mesh.GetNormals (s_Normals); + mesh.GetTangents (s_Tangents); + mesh.GetIndices (s_Indices, 0); + + #if UNITY_2017_1_OR_NEWER + mesh.GetUVs (2, s_Uv2); + mesh.GetUVs (3, s_Uv3); + bool useUv2 = 0 < s_Uv2.Count; + bool useUv3 = 0 < s_Uv3.Count; + #endif + + s_UIVertices.Clear(); + UIVertex v = default(UIVertex); + for (int i = 0; i < s_Vertices.Count; i++) + { + v.position = s_Vertices[i]; + v.color = s_Colors[i]; + v.uv0 = s_Uv0[i]; + v.uv1 = s_Uv1[i]; + #if UNITY_2017_1_OR_NEWER + if (useUv2 && i < s_Uv2.Count) + v.uv2 = s_Uv2[i]; + if (useUv3 && i < s_Uv3.Count) + v.uv3 = s_Uv3[i]; + #endif + v.normal = s_Normals[i]; + v.tangent = s_Tangents[i]; + + s_UIVertices.Add(v); + } + s_VertexHelper.AddUIVertexStream(s_UIVertices, s_Indices); + } +#endif + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs.meta new file mode 100644 index 0000000..1d3c8d1 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BaseMeshEffect.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 229ee7044e2514b0e9bd9fd40a2baa3a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs new file mode 100644 index 0000000..fcc3cab --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs @@ -0,0 +1,13 @@ +namespace Coffee.UIExtensions +{ + /// + /// Blur effect mode. + /// + public enum BlurMode + { + None = 0, + FastBlur = 1, + MediumBlur = 2, + DetailBlur = 3, + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs.meta new file mode 100644 index 0000000..504b62a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/BlurMode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5645838b01af8764d8f381f04b62b9a2 +timeCreated: 1528296875 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs new file mode 100644 index 0000000..8a7aae4 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs @@ -0,0 +1,13 @@ +namespace Coffee.UIExtensions +{ + /// + /// Color effect mode. + /// + public enum ColorMode + { + Multiply = 0, + Fill = 1, + Add = 2, + Subtract = 3, + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs.meta new file mode 100644 index 0000000..ba60cab --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ColorMode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e6ba1e487e0a19644afde2bd5531bd04 +timeCreated: 1528296875 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs new file mode 100644 index 0000000..d59c9de --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs @@ -0,0 +1,112 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace Coffee.UIExtensions +{ + /// + /// Area for effect. + /// + public enum EffectArea + { + RectTransform, + Fit, + Character, + } + + public static class EffectAreaExtensions + { + static readonly Rect rectForCharacter = new Rect(0, 0, 1, 1); + static readonly Vector2 [] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero }; + + /// + /// Gets effect for area. + /// + public static Rect GetEffectArea (this EffectArea area, VertexHelper vh, Rect rectangle, float aspectRatio = -1) + { + Rect rect = default(Rect); + switch (area) + { + case EffectArea.RectTransform: + rect = rectangle; + break; + case EffectArea.Character: + rect = rectForCharacter; + break; + case EffectArea.Fit: + // Fit to contents. + UIVertex vertex = default (UIVertex); + float xMin = float.MaxValue; + float yMin = float.MaxValue; + float xMax = float.MinValue; + float yMax = float.MinValue; + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vertex, i); + float x = vertex.position.x; + float y = vertex.position.y; + xMin = Mathf.Min(xMin, x); + yMin = Mathf.Min(yMin, y); + xMax = Mathf.Max(xMax, x); + yMax = Mathf.Max(yMax, y); + } + rect.Set (xMin, yMin, xMax - xMin, yMax - yMin); + break; + default: + rect = rectangle; + break; + } + + + if(0 < aspectRatio) + { + if (rect.width < rect.height) + { + rect.width = rect.height * aspectRatio; + } + else + { + rect.height = rect.width / aspectRatio; + } + } + return rect; + } + + /// + /// Gets position factor for area. + /// + public static void GetPositionFactor (this EffectArea area, int index, Rect rect, Vector2 position, bool isText, bool isTMPro, out float x, out float y) + { + if (isText && area == EffectArea.Character) + { + index = isTMPro ? (index + 3) % 4 : index % 4; + x = splitedCharacterPosition [index].x; + y = splitedCharacterPosition [index].y; + } + else if (area == EffectArea.Fit) + { + x = Mathf.Clamp01 ((position.x - rect.xMin) / rect.width); + y = Mathf.Clamp01 ((position.y - rect.yMin) / rect.height); + } + else + { + x = Mathf.Clamp01 (position.x / rect.width + 0.5f); + y = Mathf.Clamp01 (position.y / rect.height + 0.5f); + } + } + + /// + /// Normalize vertex position by local matrix. + /// + public static void GetNormalizedFactor (this EffectArea area, int index, Matrix2x3 matrix, Vector2 position, bool isText, out Vector2 nomalizedPos) + { + if (isText && area == EffectArea.Character) + { + nomalizedPos = matrix * splitedCharacterPosition [(index + 3) % 4]; + } + else + { + nomalizedPos = matrix * position; + } + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs.meta new file mode 100644 index 0000000..4bc2fa4 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectArea.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a78f43d1382a048a99411472ca714e1b +timeCreated: 1528636556 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs new file mode 100644 index 0000000..f2b11de --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs @@ -0,0 +1,156 @@ +using UnityEngine; +using System; +using System.Collections.Generic; + +namespace Coffee.UIExtensions +{ + /// + /// Effect player. + /// + [Serializable] + public class EffectPlayer + { + //################################ + // Public Members. + //################################ + /// + /// Gets or sets a value indicating whether is playing. + /// + [Header("Effect Player")] + [Tooltip("Playing.")] + public bool play = false; + + /// + /// Gets or sets the delay before looping. + /// + [Tooltip("Initial play delay.")] + [Range(0f, 10f)] + public float initialPlayDelay = 0; + + /// + /// Gets or sets the duration. + /// + [Tooltip("Duration.")] + [Range(0.01f,10f)] + public float duration = 1; + + /// + /// Gets or sets a value indicating whether can loop. + /// + [Tooltip("Loop.")] + public bool loop = false; + + /// + /// Gets or sets the delay before looping. + /// + [Tooltip("Delay before looping.")] + [Range(0f,10f)] + public float loopDelay = 0; + + /// + /// Gets or sets the update mode. + /// + [Tooltip("Update mode")] + public AnimatorUpdateMode updateMode = AnimatorUpdateMode.Normal; + + static List s_UpdateActions; + + /// + /// Register player. + /// + public void OnEnable(Action callback = null) + { + + if (s_UpdateActions == null) + { + s_UpdateActions = new List(); + Canvas.willRenderCanvases += () => + { + var count = s_UpdateActions.Count; + for (int i = 0; i < count; i++) + { + s_UpdateActions[i].Invoke(); + } + }; + } + s_UpdateActions.Add(OnWillRenderCanvases); + + if (play) + { + _time = -initialPlayDelay; + } + else + { + _time = 0; + } + _callback = callback; + } + + /// + /// Unregister player. + /// + public void OnDisable() + { + _callback = null; + s_UpdateActions.Remove(OnWillRenderCanvases); + } + + /// + /// Start playing. + /// + public void Play(bool reset, Action callback = null) + { + if (reset) + { + _time = 0; + } + play = true; + if (callback != null) + { + _callback = callback; + } + } + + /// + /// Stop playing. + /// + public void Stop(bool reset) + { + if (reset) + { + _time = 0; + if (_callback != null) + { + _callback(_time); + } + } + play = false; + } + + //################################ + // Private Members. + //################################ + float _time = 0; + Action _callback; + + void OnWillRenderCanvases() + { + if (!play || !Application.isPlaying || _callback == null) + { + return; + } + + _time += updateMode == AnimatorUpdateMode.UnscaledTime + ? Time.unscaledDeltaTime + : Time.deltaTime; + var current = _time / duration; + + if (duration <= _time) + { + play = loop; + _time = loop ? -loopDelay : 0; + } + _callback(current); + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs.meta new file mode 100644 index 0000000..661e073 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/EffectPlayer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1656fb67110cd44298010d95c324e87a +timeCreated: 1528296875 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs new file mode 100644 index 0000000..a130be1 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs @@ -0,0 +1,95 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace Coffee.UIExtensions +{ + public class MaterialCache + { + public ulong hash { get; private set; } + + public int referenceCount { get; private set; } + + public Texture texture { get; private set; } + + public Material material { get; private set; } + +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoadMethod] + static void ClearCache() + { + foreach (var cache in materialCaches) + { + cache.material = null; + } + materialCaches.Clear(); + } +#endif + + public static List materialCaches = new List(); + + public static MaterialCache Register(ulong hash, Texture texture, System.Func onCreateMaterial) + { + var cache = materialCaches.FirstOrDefault(x => x.hash == hash); + if (cache != null && cache.material) + { + if (cache.material) + { + cache.referenceCount++; + } + else + { + + materialCaches.Remove(cache); + cache = null; + } + } + if (cache == null) + { + cache = new MaterialCache() + { + hash = hash, + material = onCreateMaterial(), + referenceCount = 1, + }; + materialCaches.Add(cache); + } + return cache; + } + + public static MaterialCache Register(ulong hash, System.Func onCreateMaterial) + { + var cache = materialCaches.FirstOrDefault(x => x.hash == hash); + if (cache != null) + { + cache.referenceCount++; + } + if (cache == null) + { + cache = new MaterialCache() + { + hash = hash, + material = onCreateMaterial(), + referenceCount = 1, + }; + materialCaches.Add(cache); + } + return cache; + } + + public static void Unregister(MaterialCache cache) + { + if (cache == null) + { + return; + } + + cache.referenceCount--; + if (cache.referenceCount <= 0) + { + MaterialCache.materialCaches.Remove(cache); + cache.material = null; + } + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs.meta new file mode 100644 index 0000000..434e1ff --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialCache.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2160d2c55a6100642b6c7ba09df935da +timeCreated: 1528509206 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs new file mode 100644 index 0000000..8f6cadb --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs @@ -0,0 +1,126 @@ +#if UNITY_EDITOR +using System.IO; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using UnityEditor; +using UnityEngine; + +namespace Coffee.UIExtensions +{ + public class MaterialResolver + { + static readonly StringBuilder s_StringBuilder = new StringBuilder(); + + static readonly Dictionary s_MaterialMap = new Dictionary(); + + public static Material GetOrGenerateMaterialVariant(Shader shader, params object[] append) + { + if (!shader) + { + return null; + } + + Material mat = null; + string variantName = GetVariantName(shader, append); + if (s_MaterialMap.TryGetValue(variantName, out mat) && mat) + { + return mat; + } + + string[] keywords = append.Where(x => 0 < (int)x) + .Select(x => x.ToString().ToUpper()) + .ToArray(); + mat = GetMaterial(shader, append); + if (mat) + { + if (!mat.shaderKeywords.OrderBy(x => x).SequenceEqual(keywords.OrderBy(x => x))) + { + mat.shaderKeywords = keywords; + EditorUtility.SetDirty(mat); + if (!Application.isPlaying) + { + EditorApplication.delayCall += AssetDatabase.SaveAssets; + } + } + return mat; + } + + if (s_MaterialMap.TryGetValue(variantName, out mat) && mat) + { + return mat; + } + + Debug.Log("Generate material : " + variantName); + mat = new Material(shader); + mat.shaderKeywords = keywords; + + mat.name = variantName; + mat.hideFlags |= HideFlags.NotEditable; + s_MaterialMap[variantName] = mat; + + bool isMainAsset = append.Cast().All(x => x == 0); + EditorApplication.delayCall += () => SaveMaterial(mat, shader, isMainAsset); + return mat; + } + + static void SaveMaterial(Material mat, Shader shader, bool isMainAsset) + { + string materialPath = GetDefaultMaterialPath(shader); + +#if UIEFFECT_SEPARATE + string dir = Path.GetDirectoryName(materialPath); + materialPath = Path.Combine(Path.Combine(dir, "Separated"), mat.name + ".mat"); + isMainAsset = true; +#endif + if (isMainAsset) + { + Directory.CreateDirectory(Path.GetDirectoryName(materialPath)); + AssetDatabase.CreateAsset(mat, materialPath); + } + else + { + GetOrGenerateMaterialVariant(shader); + mat.hideFlags |= HideFlags.HideInHierarchy; + AssetDatabase.AddObjectToAsset(mat, materialPath); + } + AssetDatabase.SaveAssets(); + } + + public static Material GetMaterial(Shader shader, params object[] append) + { + string variantName = GetVariantName(shader, append); + return AssetDatabase.FindAssets("t:Material " + Path.GetFileName(shader.name)) + .Select(x => AssetDatabase.GUIDToAssetPath(x)) + .SelectMany(x => AssetDatabase.LoadAllAssetsAtPath(x)) + .OfType() + .FirstOrDefault(x => x.name == variantName); + } + + public static string GetDefaultMaterialPath(Shader shader) + { + var name = Path.GetFileName(shader.name); + return AssetDatabase.FindAssets("t:Material " + name) + .Select(x => AssetDatabase.GUIDToAssetPath(x)) + .FirstOrDefault(x => Path.GetFileNameWithoutExtension(x) == name) + ?? ("Assets/" + name + ".mat"); + } + + public static string GetVariantName(Shader shader, params object[] append) + { + s_StringBuilder.Length = 0; + +#if UIEFFECT_SEPARATE + s_StringBuilder.Append("[Separated] "); +#endif + s_StringBuilder.Append(Path.GetFileName(shader.name)); + foreach (object mode in append.Where(x=>0<(int)x)) + { + s_StringBuilder.Append("-"); + s_StringBuilder.Append(mode.ToString()); + } + return s_StringBuilder.ToString(); + } + } +} +#endif diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs.meta new file mode 100644 index 0000000..6e5717f --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/MaterialResolver.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 70261fa2760d4c040ac28aebb1f155fb +timeCreated: 1528297353 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs new file mode 100644 index 0000000..a7121cf --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs @@ -0,0 +1,33 @@ +using UnityEngine; + +namespace Coffee.UIExtensions +{ + /// + /// Matrix2x3. + /// + public struct Matrix2x3 + { + public float m00, m01, m02, m10, m11, m12; + + public Matrix2x3(Rect rect, float cos, float sin) + { + const float center = 0.5f; + float dx = -rect.xMin / rect.width - center; + float dy = -rect.yMin / rect.height - center; + m00 = cos / rect.width; + m01 = -sin / rect.height; + m02 = dx * cos - dy * sin + center; + m10 = sin / rect.width; + m11 = cos / rect.height; + m12 = dx * sin + dy * cos + center; + } + + public static Vector2 operator*(Matrix2x3 m, Vector2 v) + { + return new Vector2( + (m.m00 * v.x) + (m.m01 * v.y) + m.m02, + (m.m10 * v.x) + (m.m11 * v.y) + m.m12 + ); + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs.meta new file mode 100644 index 0000000..70ee757 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Matrix2x3.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5a9b962044ca64867b713425f7e5daab +timeCreated: 1527590245 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs new file mode 100644 index 0000000..e39f0a0 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs @@ -0,0 +1,60 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public static class Packer +{ + /// + /// Pack 4 low-precision [0-1] floats values to a float. + /// Each value [0-1] has 64 steps(6 bits). + /// + public static float ToFloat(float x, float y, float z, float w) + { + x = x < 0 ? 0 : 1 < x ? 1 : x; + y = y < 0 ? 0 : 1 < y ? 1 : y; + z = z < 0 ? 0 : 1 < z ? 1 : z; + w = w < 0 ? 0 : 1 < w ? 1 : w; + const int PRECISION = (1 << 6) - 1; + return (Mathf.FloorToInt(w * PRECISION) << 18) + + (Mathf.FloorToInt(z * PRECISION) << 12) + + (Mathf.FloorToInt(y * PRECISION) << 6) + + Mathf.FloorToInt(x * PRECISION); + } + + /// + /// Pack 4 low-precision [0-1] floats values to a float. + /// Each value [0-1] has 64 steps(6 bits). + /// + public static float ToFloat(Vector4 factor) + { + return ToFloat(Mathf.Clamp01(factor.x), Mathf.Clamp01(factor.y), Mathf.Clamp01(factor.z), Mathf.Clamp01(factor.w)); + } + + /// + /// Pack 1 middle-precision & 2 low-precision [0-1] floats values to a float. + /// z value [0-1] has 4096 steps(12 bits) and xy value [0-1] has 64 steps(6 bits). + /// + public static float ToFloat(float x, float y, float z) + { + x = x < 0 ? 0 : 1 < x ? 1 : x; + y = y < 0 ? 0 : 1 < y ? 1 : y; + z = z < 0 ? 0 : 1 < z ? 1 : z; + const int PRECISION = (1 << 8) - 1; + return (Mathf.FloorToInt(z * PRECISION) << 16) + + (Mathf.FloorToInt(y * PRECISION) << 8) + + Mathf.FloorToInt(x * PRECISION); + } + + /// + /// Pack 2 low-precision [0-1] floats values to a float. + /// Each value [0-1] has 4096 steps(12 bits). + /// + public static float ToFloat(float x, float y) + { + x = x < 0 ? 0 : 1 < x ? 1 : x; + y = y < 0 ? 0 : 1 < y ? 1 : y; + const int PRECISION = (1 << 12) - 1; + return (Mathf.FloorToInt(y * PRECISION) << 12) + + Mathf.FloorToInt(x * PRECISION); + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs.meta new file mode 100644 index 0000000..4105720 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/Packer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b4970b3a69d3b472b8d66c1d92ec7bad +timeCreated: 1527590285 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs new file mode 100644 index 0000000..9b22100 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs @@ -0,0 +1,190 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Rendering; +using System; + +namespace Coffee.UIExtensions +{ + public interface IParameterTexture + { + int parameterIndex { get; set; } + + ParameterTexture ptex { get; } + } + + /// + /// Parameter texture. + /// + [System.Serializable] + public class ParameterTexture + { + + //################################ + // Public Members. + //################################ + + /// + /// Initializes a new instance of the class. + /// + /// Channels. + /// Instance limit. + /// Property name. + public ParameterTexture(int channels, int instanceLimit, string propertyName) + { + _propertyName = propertyName; + _channels = ((channels - 1) / 4 + 1) * 4; + _instanceLimit = ((instanceLimit - 1) / 2 + 1) * 2; + _data = new byte[_channels * _instanceLimit]; + + _stack = new Stack(_instanceLimit); + for (int i = 1; i < _instanceLimit + 1; i++) + { + _stack.Push(i); + } + } + + + /// + /// Register the specified target. + /// + /// Target. + public void Register(IParameterTexture target) + { + Initialize(); + if (target.parameterIndex <= 0 && 0 < _stack.Count) + { + target.parameterIndex = _stack.Pop(); +// Debug.LogFormat("@@@ Register {0} : {1}", target, target.parameterIndex); + } + } + + /// + /// Unregister the specified target. + /// + /// Target. + public void Unregister(IParameterTexture target) + { + if (0 < target.parameterIndex) + { +// Debug.LogFormat("@@@ Unregister {0} : {1}", target, target.parameterIndex); + _stack.Push(target.parameterIndex); + target.parameterIndex = 0; + } + } + + /// + /// Sets the data. + /// + /// Target. + /// Channel identifier. + /// Value. + public void SetData(IParameterTexture target, int channelId, byte value) + { + int index = (target.parameterIndex - 1) * _channels + channelId; + if (0 < target.parameterIndex && _data[index] != value) + { + _data[index] = value; + _needUpload = true; + } + } + + /// + /// Sets the data. + /// + /// Target. + /// Channel identifier. + /// Value. + public void SetData(IParameterTexture target, int channelId, float value) + { + SetData(target, channelId, (byte)(Mathf.Clamp01(value) * 255)); + } + + /// + /// Registers the material. + /// + /// Mat. + public void RegisterMaterial(Material mat) + { + if (_propertyId == 0) + { + _propertyId = Shader.PropertyToID(_propertyName); + } + if (mat) + { + mat.SetTexture(_propertyId, _texture); + } + } + + /// + /// Gets the index of the normalized. + /// + /// The normalized index. + /// Target. + public float GetNormalizedIndex(IParameterTexture target) + { + return ((float)target.parameterIndex - 0.5f) / _instanceLimit; + } + + + //################################ + // Private Members. + //################################ + + Texture2D _texture; + bool _needUpload; + int _propertyId; + readonly string _propertyName; + readonly int _channels; + readonly int _instanceLimit; + readonly byte[] _data; + readonly Stack _stack; + static List updates; + + /// + /// Initialize this instance. + /// + void Initialize() + { +#if UNITY_EDITOR + if (!UnityEditor.EditorApplication.isPlaying && UnityEditor.EditorApplication.isPlayingOrWillChangePlaymode) + { + return; + } +#endif + if (updates == null) + { + updates = new List(); + Canvas.willRenderCanvases += () => + { + var count = updates.Count; + for (int i = 0; i < count; i++) + { + updates[i].Invoke(); + } + }; + } + + if (!_texture) + { + bool isLinear = QualitySettings.activeColorSpace == ColorSpace.Linear; + _texture = new Texture2D(_channels / 4, _instanceLimit, TextureFormat.RGBA32, false, isLinear); + _texture.filterMode = FilterMode.Point; + _texture.wrapMode = TextureWrapMode.Clamp; + + updates.Add(UpdateParameterTexture); + _needUpload = true; + } + } + + void UpdateParameterTexture() + { + if (_needUpload && _texture) + { + _needUpload = false; + _texture.LoadRawTextureData(_data); + _texture.Apply(false, false); + } + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs.meta new file mode 100644 index 0000000..8b718d0 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ParameterTexture.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 65eafa89b3a3a494a99e185423ba6cad +timeCreated: 1533006319 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs new file mode 100644 index 0000000..4544ced --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs @@ -0,0 +1,14 @@ +namespace Coffee.UIExtensions +{ + /// + /// Shadow effect style. + /// + public enum ShadowStyle + { + None = 0, + Shadow, + Outline, + Outline8, + Shadow3, + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs.meta new file mode 100644 index 0000000..337e823 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ShadowStyle.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b0eda5bf10146491c9cfe6a31c66f9a7 +timeCreated: 1528296875 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs new file mode 100644 index 0000000..ea04f2e --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs @@ -0,0 +1,14 @@ +namespace Coffee.UIExtensions +{ + /// + /// Effect mode. + /// + public enum EffectMode + { + None = 0, + Grayscale = 1, + Sepia = 2, + Nega = 3, + Pixel = 4, + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs.meta new file mode 100644 index 0000000..76773db --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/ToneMode.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 092769547c242d74cbad96631a00963f +timeCreated: 1528296875 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs new file mode 100644 index 0000000..1046d5e --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs @@ -0,0 +1,165 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +namespace Coffee.UIExtensions +{ + /// + /// Abstract effect base for UI. + /// + [DisallowMultipleComponent] + public abstract class UIEffectBase : BaseMeshEffect, IParameterTexture +#if UNITY_EDITOR + , ISerializationCallbackReceiver +#endif + { + protected static readonly Vector2[] splitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero }; + protected static readonly List tempVerts = new List(); + + [HideInInspector] + [SerializeField] int m_Version; + [SerializeField] protected Material m_EffectMaterial; + + /// + /// Gets or sets the parameter index. + /// + public int parameterIndex { get; set; } + + /// + /// Gets the parameter texture. + /// + public virtual ParameterTexture ptex { get { return null; } } + + /// + /// Gets target graphic for effect. + /// + public Graphic targetGraphic { get { return graphic; } } + + /// + /// Gets material for effect. + /// + public Material effectMaterial { get { return m_EffectMaterial; } } + +#if UNITY_EDITOR + protected override void Reset() + { + m_Version = 300; + OnValidate(); + } + + /// + /// Raises the validate event. + /// + protected override void OnValidate() + { + base.OnValidate (); + + var mat = GetMaterial(); + if (m_EffectMaterial != mat) + { + m_EffectMaterial = mat; + UnityEditor.EditorUtility.SetDirty(this); + } + + ModifyMaterial(); + SetVerticesDirty (); + SetDirty (); + } + + public void OnBeforeSerialize() + { + } + + public void OnAfterDeserialize() + { + UnityEditor.EditorApplication.delayCall += UpgradeIfNeeded; + } + + protected bool IsShouldUpgrade(int expectedVersion) + { + if (m_Version < expectedVersion) + { + Debug.LogFormat(gameObject, "{0}({1}) has been upgraded: version {2} -> {3}", name, GetType().Name, m_Version, expectedVersion); + m_Version = expectedVersion; + + //UnityEditor.EditorApplication.delayCall += () => + { + UnityEditor.EditorUtility.SetDirty(this); + if (!Application.isPlaying && gameObject && gameObject.scene.IsValid()) + { + UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(gameObject.scene); + } + } + ; + return true; + } + return false; + } + + protected virtual void UpgradeIfNeeded() + { + } + + /// + /// Gets the material. + /// + /// The material. + protected virtual Material GetMaterial() + { + return null; + } +#endif + + /// + /// Modifies the material. + /// + public virtual void ModifyMaterial() + { + targetGraphic.material = isActiveAndEnabled ? m_EffectMaterial : null; + } + + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable (); + + if (ptex != null) + { + ptex.Register(this); + } + ModifyMaterial(); + SetVerticesDirty(); + SetDirty(); + } + + /// + /// This function is called when the behaviour becomes disabled () or inactive. + /// + protected override void OnDisable() + { + base.OnDisable (); + + ModifyMaterial (); + SetVerticesDirty(); + if (ptex != null) + { + ptex.Unregister(this); + } + } + + /// + /// Mark the UIEffect as dirty. + /// + protected virtual void SetDirty() + { + SetVerticesDirty(); + } + + protected override void OnDidApplyAnimationProperties() + { + SetDirty(); + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs.meta new file mode 100644 index 0000000..7b7e351 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Common/UIEffectBase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e8b7ed62cf1444b4ebfc5e5338bc6682 +timeCreated: 1485321967 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor.meta new file mode 100644 index 0000000..92b80be --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ee1bfc8c299e6482cb7175ba2f94495a +folderAsset: yes +timeCreated: 1487152270 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs new file mode 100644 index 0000000..274003c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs @@ -0,0 +1,86 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace Coffee.UIExtensions.Editors +{ + public class BaseMeshEffectEditor : Editor + { + List _materialEditors = new List (); + + protected virtual void OnEnable () + { + ClearMaterialEditors (); + } + + protected virtual void OnDisable () + { + ClearMaterialEditors (); + } + + void ClearMaterialEditors () + { + foreach (var e in _materialEditors) + { + if (e) + { + DestroyImmediate (e); + } + } + _materialEditors.Clear (); + } + + protected void ShowMaterialEditors (Material [] materials, int startIndex, int count) + { + for (int i = 0; i < count; i++) + { + if (_materialEditors.Count == i) + { + _materialEditors.Add (null); + } + + var mat = materials [startIndex + i]; + var editor = _materialEditors [i]; + if (editor && editor.target != mat) + { + DestroyImmediate (editor); + editor = null; + } + + if (!editor) + { + editor = _materialEditors [i] = Editor.CreateEditor (mat) as MaterialEditor; + } + + editor.DrawHeader (); + editor.OnInspectorGUI (); + } + } + + + protected void ShowCanvasChannelsWarning () + { + BaseMeshEffect effect = target as BaseMeshEffect; + if (!effect || !effect.graphic) + { + return; + } + +#if UNITY_5_6_OR_NEWER + AdditionalCanvasShaderChannels channels = effect.requiredChannels; + var canvas = effect.graphic.canvas; + if (canvas && (canvas.additionalShaderChannels & channels) != channels) + { + EditorGUILayout.BeginHorizontal (); + EditorGUILayout.HelpBox (string.Format ("Enable {1} of Canvas.additionalShaderChannels to use {0}.", effect.GetType ().Name, channels), MessageType.Warning); + if (GUILayout.Button ("Fix")) + { + canvas.additionalShaderChannels |= channels; + } + EditorGUILayout.EndHorizontal (); + } +#endif + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs.meta new file mode 100644 index 0000000..7740075 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/BaseMeshEffectEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7ddf2f64ff7af4a9f9b5ba45f40302bf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs new file mode 100644 index 0000000..d64e2d8 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs @@ -0,0 +1,53 @@ +using System.Collections; +using System.IO; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using UnityEditor; +using UnityEngine; + +namespace Coffee.UIExtensions.Editors +{ + /// + /// Remove deprecated files in old .unitypackage, after compiling. + /// + public class DeprecatedRemover + { + /// + /// GUIDs of deprecated files. + /// + static readonly List DeprecatedFiles = new List() + { + "156b57fee6ef941958e66a129ce387e2", // UICustomEffect.cs + "a4961e148a8cd4fe0b84dddc2741894a", // UICustomEffectEditor.cs + "7b1ed09bdf5e54042b5cd1fbe69361bf", // MaterialBundle.cs + }; + + + #if UNITY_EDITOR + [UnityEditor.InitializeOnLoadMethod] + static void RemoveFiles() + { + // The deprecated file path that exists. + var files = DeprecatedFiles.Select(x => AssetDatabase.GUIDToAssetPath(x)) + .Where(x => File.Exists(x)) + .ToArray(); + + if (files.Any()) + { + StringBuilder sb = new StringBuilder(); + sb.AppendFormat("[{0}] {1} files have been removed.\n", typeof(DeprecatedRemover).Name, files.Length); + + foreach (var path in files) + { + AssetDatabase.DeleteAsset(path); + sb.AppendFormat(" - {0}\n", path); + } + + AssetDatabase.Refresh(); + UnityEngine.Debug.Log(sb); + } + } + #endif + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs.meta new file mode 100644 index 0000000..cf3d95e --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/DeprecatedRemover.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6955fce24c79542af9ba39b3cf6f610f +timeCreated: 1536108312 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs new file mode 100644 index 0000000..2883ff7 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs @@ -0,0 +1,181 @@ +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; +using System.Linq; +using System.Collections.Generic; +using UnityEngine.UI; + +namespace Coffee.UIExtensions.Editors +{ + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIDissolve))] + [CanEditMultipleObjects] + public class UIDissolveEditor : BaseMeshEffectEditor + { + static int s_NoiseTexId; + + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable (); + + _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + _spEffectFactor = serializedObject.FindProperty("m_EffectFactor"); + _spEffectArea = serializedObject.FindProperty("m_EffectArea"); + _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio"); + _spWidth = serializedObject.FindProperty("m_Width"); + _spColor = serializedObject.FindProperty("m_Color"); + _spSoftness = serializedObject.FindProperty("m_Softness"); + _spColorMode = serializedObject.FindProperty("m_ColorMode"); + _spNoiseTexture = serializedObject.FindProperty("m_NoiseTexture"); + _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio"); + _spReverse = serializedObject.FindProperty("m_Reverse"); + var player = serializedObject.FindProperty("m_Player"); + _spPlay = player.FindPropertyRelative("play"); + _spDuration = player.FindPropertyRelative("duration"); + _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay"); + _spLoop = player.FindPropertyRelative("loop"); + _spLoopDelay = player.FindPropertyRelative("loopDelay"); + _spUpdateMode = player.FindPropertyRelative("updateMode"); + + s_NoiseTexId = Shader.PropertyToID ("_NoiseTex"); + + _shader = Shader.Find ("TextMeshPro/Distance Field (UIDissolve)"); + _mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIDissolve)"); + _spriteShader = Shader.Find ("TextMeshPro/Sprite (UIDissolve)"); + } + + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + foreach (var d in targets.Cast ()) + { + var mat = d.material; + if (d.isTMPro && mat && mat.HasProperty(s_NoiseTexId)) + { + ColorMode colorMode = + mat.IsKeywordEnabled ("ADD") ? ColorMode.Add + : mat.IsKeywordEnabled ("SUBTRACT") ? ColorMode.Subtract + : mat.IsKeywordEnabled ("FILL") ? ColorMode.Fill + : ColorMode.Multiply; + + Texture noiseTexture = mat.GetTexture(s_NoiseTexId); + + if (d.colorMode != colorMode || d.noiseTexture != noiseTexture) + { + var so = new SerializedObject (d); + so.FindProperty ("m_ColorMode").intValue = (int)colorMode; + so.FindProperty ("m_NoiseTexture").objectReferenceValue = noiseTexture; + so.ApplyModifiedProperties (); + } + } + } + + serializedObject.Update(); + + //================ + // Effect material. + //================ + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(_spMaterial); + EditorGUI.EndDisabledGroup(); + + //================ + // Effect setting. + //================ + EditorGUILayout.PropertyField(_spEffectFactor); + EditorGUILayout.PropertyField(_spWidth); + EditorGUILayout.PropertyField(_spSoftness); + EditorGUILayout.PropertyField(_spColor); + + bool isAnyTMPro = targets.Cast().Any(x => x.isTMPro); + using (new EditorGUI.DisabledGroupScope (isAnyTMPro)) + { + EditorGUILayout.PropertyField (_spColorMode); + EditorGUILayout.PropertyField (_spNoiseTexture); + } + + //================ + // Advanced option. + //================ + EditorGUILayout.PropertyField(_spEffectArea); + EditorGUILayout.PropertyField(_spKeepAspectRatio); + + //================ + // Effect player. + //================ + EditorGUILayout.PropertyField(_spPlay); + EditorGUILayout.PropertyField(_spDuration); + EditorGUILayout.PropertyField(_spInitialPlayDelay); + EditorGUILayout.PropertyField(_spLoop); + EditorGUILayout.PropertyField(_spLoopDelay); + EditorGUILayout.PropertyField(_spUpdateMode); + EditorGUILayout.PropertyField(_spReverse); + + // Debug. + using (new EditorGUI.DisabledGroupScope(!Application.isPlaying)) + using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) + { + GUILayout.Label("Debug"); + + if (GUILayout.Button("Play", "ButtonLeft")) + { + (target as UIDissolve).Play(); + } + + if (GUILayout.Button("Stop", "ButtonRight")) + { + (target as UIDissolve).Stop(); + } + } + + var c = target as UIDissolve; + c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => { + if(mat.shader == _spriteShader) + { + mat.shaderKeywords = c.material.shaderKeywords; + mat.SetTexture ("_NoiseTex", c.material.GetTexture ("_NoiseTex")); + } + }); + ShowCanvasChannelsWarning (); + + ShowMaterialEditors (c.materials, 1, c.materials.Length - 1); + + serializedObject.ApplyModifiedProperties(); + + } + + //################################ + // Private Members. + //################################ + SerializedProperty _spMaterial; + SerializedProperty _spEffectFactor; + SerializedProperty _spWidth; + SerializedProperty _spColor; + SerializedProperty _spSoftness; + SerializedProperty _spColorMode; + SerializedProperty _spNoiseTexture; + SerializedProperty _spEffectArea; + SerializedProperty _spKeepAspectRatio; + SerializedProperty _spReverse; + SerializedProperty _spPlay; + SerializedProperty _spLoop; + SerializedProperty _spLoopDelay; + SerializedProperty _spDuration; + SerializedProperty _spInitialPlayDelay; + SerializedProperty _spUpdateMode; + + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs.meta new file mode 100644 index 0000000..edf071c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIDissolveEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f7f7349a5d61649b69946853317db047 +timeCreated: 1538806040 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs new file mode 100644 index 0000000..ef12c01 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs @@ -0,0 +1,188 @@ +using UnityEditor; +using UnityEditor.UI; +using UnityEngine; +using DesamplingRate = Coffee.UIExtensions.UIEffectCapturedImage.DesamplingRate; + +namespace Coffee.UIExtensions.Editors +{ + /// + /// UIEffectCapturedImage editor. + /// + [CustomEditor(typeof(UIEffectCapturedImage))] + [CanEditMultipleObjects] + public class UIEffectCapturedImageEditor : RawImageEditor + { + //################################ + // Constant or Static Members. + //################################ + + public enum QualityMode : int + { + Fast = (DesamplingRate.x2 << 0) + (DesamplingRate.x2 << 4) + (FilterMode.Bilinear << 8) + (2 << 10), + Medium = (DesamplingRate.x1 << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (3 << 10), + Detail = (DesamplingRate.None << 0) + (DesamplingRate.x1 << 4) + (FilterMode.Bilinear << 8) + (5 << 10), + Custom = -1, + } + + + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + _spTexture = serializedObject.FindProperty("m_Texture"); + _spColor = serializedObject.FindProperty("m_Color"); + _spRaycastTarget = serializedObject.FindProperty("m_RaycastTarget"); + _spDesamplingRate = serializedObject.FindProperty("m_DesamplingRate"); + _spReductionRate = serializedObject.FindProperty("m_ReductionRate"); + _spFilterMode = serializedObject.FindProperty("m_FilterMode"); + _spIterations = serializedObject.FindProperty("m_BlurIterations"); + _spKeepSizeToRootCanvas = serializedObject.FindProperty("m_FitToScreen"); + _spBlurMode = serializedObject.FindProperty("m_BlurMode"); + _spCaptureOnEnable = serializedObject.FindProperty("m_CaptureOnEnable"); + + + _customAdvancedOption = (qualityMode == QualityMode.Custom); + } + + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + var graphic = (target as UIEffectCapturedImage); + serializedObject.Update(); + + //================ + // Basic properties. + //================ + EditorGUILayout.PropertyField(_spTexture); + EditorGUILayout.PropertyField(_spColor); + EditorGUILayout.PropertyField(_spRaycastTarget); + + //================ + // Capture effect. + //================ + GUILayout.Space(10); + EditorGUILayout.LabelField("Capture Effect", EditorStyles.boldLabel); + UIEffectEditor.DrawEffectProperties(serializedObject, "m_EffectColor"); + + //================ + // Advanced option. + //================ + GUILayout.Space(10); + EditorGUILayout.LabelField("Advanced Option", EditorStyles.boldLabel); + + EditorGUILayout.PropertyField(_spCaptureOnEnable);// CaptureOnEnable. + EditorGUILayout.PropertyField(_spKeepSizeToRootCanvas);// Keep Graphic Size To RootCanvas. + + EditorGUI.BeginChangeCheck(); + QualityMode quality = qualityMode; + quality = (QualityMode)EditorGUILayout.EnumPopup("Quality Mode", quality); + if (EditorGUI.EndChangeCheck()) + { + _customAdvancedOption = (quality == QualityMode.Custom); + qualityMode = quality; + } + + // When qualityMode is `Custom`, show advanced option. + if (_customAdvancedOption) + { + if (_spBlurMode.intValue != 0) + { + EditorGUILayout.PropertyField(_spIterations);// Iterations. + } + DrawDesamplingRate(_spReductionRate);// Reduction rate. + + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Result Texture Setting", EditorStyles.boldLabel); + + EditorGUILayout.PropertyField(_spFilterMode);// Filter Mode. + DrawDesamplingRate(_spDesamplingRate);// Desampling rate. + } + + serializedObject.ApplyModifiedProperties(); + + // Debug. + using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) + { + GUILayout.Label("Debug"); + + if (GUILayout.Button("Capture", "ButtonLeft")) + { + graphic.Release(); + EditorApplication.delayCall += graphic.Capture; + } + + EditorGUI.BeginDisabledGroup(!(target as UIEffectCapturedImage).capturedTexture); + if (GUILayout.Button("Release", "ButtonRight")) + { + graphic.Release(); + } + EditorGUI.EndDisabledGroup(); + } + } + + //################################ + // Private Members. + //################################ + const int Bits4 = (1 << 4) - 1; + const int Bits2 = (1 << 2) - 1; + bool _customAdvancedOption = false; + SerializedProperty _spTexture; + SerializedProperty _spColor; + SerializedProperty _spRaycastTarget; + SerializedProperty _spDesamplingRate; + SerializedProperty _spReductionRate; + SerializedProperty _spFilterMode; + SerializedProperty _spBlurMode; + SerializedProperty _spIterations; + SerializedProperty _spKeepSizeToRootCanvas; + SerializedProperty _spCaptureOnEnable; + + QualityMode qualityMode + { + get + { + if (_customAdvancedOption) + return QualityMode.Custom; + + int qualityValue = (_spDesamplingRate.intValue << 0) + + (_spReductionRate.intValue << 4) + + (_spFilterMode.intValue << 8) + + (_spIterations.intValue << 10); + + return System.Enum.IsDefined(typeof(QualityMode), qualityValue) ? (QualityMode)qualityValue : QualityMode.Custom; + } + set + { + if (value != QualityMode.Custom) + { + int qualityValue = (int)value; + _spDesamplingRate.intValue = (qualityValue >> 0) & Bits4; + _spReductionRate.intValue = (qualityValue >> 4) & Bits4; + _spFilterMode.intValue = (qualityValue >> 8) & Bits2; + _spIterations.intValue = (qualityValue >> 10) & Bits4; + } + } + } + + /// + /// Draws the desampling rate. + /// + void DrawDesamplingRate(SerializedProperty sp) + { + using (new EditorGUILayout.HorizontalScope()) + { + EditorGUILayout.PropertyField(sp); + int w, h; + (target as UIEffectCapturedImage).GetDesamplingSize((UIEffectCapturedImage.DesamplingRate)sp.intValue, out w, out h); + GUILayout.Label(string.Format("{0}x{1}", w, h), EditorStyles.miniLabel); + } + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs.meta new file mode 100644 index 0000000..15fb44a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectCapturedImageEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 2476309c9b71d614ab97a2f9651b3333 +timeCreated: 1487152293 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs new file mode 100644 index 0000000..cfb3be0 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs @@ -0,0 +1,253 @@ +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; +using System.Linq; +using System; + +namespace Coffee.UIExtensions.Editors +{ + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIEffect))] + [CanEditMultipleObjects] + public class UIEffectEditor : BaseMeshEffectEditor + { + static readonly GUIContent contentEffectColor = new GUIContent ("Effect Color"); + + + //################################ + // Public/Protected Members. + //################################ + + /// + /// Draw effect properties. + /// + public static void DrawEffectProperties(SerializedObject serializedObject, string colorProperty = "m_Color") + { + //================ + // Effect material. + //================ + var spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(spMaterial); + EditorGUI.EndDisabledGroup(); + + //================ + // Effect setting. + //================ + var spToneMode = serializedObject.FindProperty("m_EffectMode"); + EditorGUILayout.PropertyField(spToneMode); + + // When tone is enable, show parameters. + if (spToneMode.intValue != (int)EffectMode.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor")); + EditorGUI.indentLevel--; + } + + //================ + // Color setting. + //================ + var spColorMode = serializedObject.FindProperty("m_ColorMode"); + EditorGUILayout.PropertyField(spColorMode); + + // When color is enable, show parameters. + //if (spColorMode.intValue != (int)ColorMode.Multiply) + { + EditorGUI.indentLevel++; + + SerializedProperty spColor = serializedObject.FindProperty(colorProperty); + if (spColor == null && serializedObject.targetObject is UIEffect) { + spColor = new SerializedObject (serializedObject.targetObjects.Select(x=>(x as UIEffect).targetGraphic).ToArray()).FindProperty(colorProperty); + } + + EditorGUI.BeginChangeCheck (); + EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues; +#if UNITY_2018_1_OR_NEWER + spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false); +#else + spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false, null); +#endif + if (EditorGUI.EndChangeCheck ()) { + spColor.serializedObject.ApplyModifiedProperties (); + } + + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor")); + EditorGUI.indentLevel--; + } + + //================ + // Blur setting. + //================ + var spBlurMode = serializedObject.FindProperty("m_BlurMode"); + EditorGUILayout.PropertyField(spBlurMode); + + // When blur is enable, show parameters. + if (spBlurMode.intValue != (int)BlurMode.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor")); + + var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur"); + if (spAdvancedBlur != null) + { + EditorGUILayout.PropertyField(spAdvancedBlur); + } + EditorGUI.indentLevel--; + } + } + + int GetEnum(Material mat) + { + Type type = typeof(T); + string[] names = System.Enum.GetNames (type); + int[] values = System.Enum.GetValues (type) as int[]; + + int mode = 0; + for(int i=0;i + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + foreach (var d in targets.Cast ()) + { + var mat = d.material; + if (d.isTMPro && mat) + { + var so = new SerializedObject (d); + EffectMode eMode = (EffectMode)GetEnum (mat); + ColorMode cMode = (ColorMode)GetEnum (mat); + BlurMode bMode = (BlurMode)GetEnum (mat); + bool aBlur = mat.IsKeywordEnabled("EX"); + if (d.effectMode != eMode || d.colorMode != cMode || d.blurMode != bMode || so.FindProperty ("m_AdvancedBlur").boolValue != aBlur) + { + so.FindProperty ("m_EffectMode").intValue = (int)eMode; + so.FindProperty ("m_ColorMode").intValue = (int)cMode; + so.FindProperty ("m_BlurMode").intValue = (int)bMode; + so.FindProperty ("m_AdvancedBlur").boolValue = aBlur; + so.ApplyModifiedProperties (); + } + } + } + + + serializedObject.Update(); + bool isAnyTMPro = targets.Cast().Any(x => x.isTMPro); + var c = target as UIEffect; + + //================ + // Effect material. + //================ + var spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(spMaterial); + EditorGUI.EndDisabledGroup(); + + //================ + // Effect setting. + //================ + var spToneMode = serializedObject.FindProperty("m_EffectMode"); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(spToneMode); + + // When tone is enable, show parameters. + if (spToneMode.intValue != (int)EffectMode.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectFactor")); + EditorGUI.indentLevel--; + } + + //================ + // Color setting. + //================ + var spColorMode = serializedObject.FindProperty("m_ColorMode"); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(spColorMode); + + // When color is enable, show parameters. + //if (spColorMode.intValue != (int)ColorMode.Multiply) + { + EditorGUI.indentLevel++; + + SerializedProperty spColor = serializedObject.FindProperty("m_Color"); + if (spColor == null && serializedObject.targetObject is UIEffect) { + spColor = new SerializedObject (serializedObject.targetObjects.Select(x=>(x as UIEffect).targetGraphic).ToArray()).FindProperty(!isAnyTMPro ? "m_Color" : "m_fontColor"); + } + + EditorGUI.BeginChangeCheck (); + EditorGUI.showMixedValue = spColor.hasMultipleDifferentValues; + #if UNITY_2018_1_OR_NEWER + spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false); + #else + spColor.colorValue = EditorGUILayout.ColorField (contentEffectColor, spColor.colorValue, true, false, false, null); + #endif + if (EditorGUI.EndChangeCheck ()) { + spColor.serializedObject.ApplyModifiedProperties (); + } + + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorFactor")); + EditorGUI.indentLevel--; + } + + //================ + // Blur setting. + //================ + var spBlurMode = serializedObject.FindProperty("m_BlurMode"); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(spBlurMode); + + // When blur is enable, show parameters. + if (spBlurMode.intValue != (int)BlurMode.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor")); + + var spAdvancedBlur = serializedObject.FindProperty("m_AdvancedBlur"); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(spAdvancedBlur); + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + + c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {}); + ShowCanvasChannelsWarning (); + + ShowMaterialEditors (c.materials, 1, c.materials.Length - 1); + + serializedObject.ApplyModifiedProperties(); + } + + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable (); + + _shader = Shader.Find ("TextMeshPro/Distance Field (UIEffect)"); + _mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIEffect)"); + _spriteShader = Shader.Find ("TextMeshPro/Sprite (UIEffect)"); + } + + //################################ + // Private Members. + //################################ + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; + + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs.meta new file mode 100644 index 0000000..02aa24f --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIEffectEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4f7e9f2ce1cb543ca88606769affbe24 +timeCreated: 1487152293 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs new file mode 100644 index 0000000..e03ca11 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs @@ -0,0 +1,102 @@ +using UnityEditor; +using UnityEngine; +using UnityEngine.UI; + +namespace Coffee.UIExtensions.Editors +{ + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIGradient))] + [CanEditMultipleObjects] + public class UIGradientEditor : Editor + { + public override void OnInspectorGUI() + { + serializedObject.Update(); + + //================ + // Direction. + //================ + var spDirection = serializedObject.FindProperty("m_Direction"); + EditorGUILayout.PropertyField(spDirection); + + + //================ + // Color. + //================ + var spColor1 = serializedObject.FindProperty("m_Color1"); + var spColor2 = serializedObject.FindProperty("m_Color2"); + var spColor3 = serializedObject.FindProperty("m_Color3"); + var spColor4 = serializedObject.FindProperty("m_Color4"); + switch ((UIGradient.Direction)spDirection.intValue) + { + case UIGradient.Direction.Horizontal: + EditorGUILayout.PropertyField(spColor1, new GUIContent("Left")); + EditorGUILayout.PropertyField(spColor2, new GUIContent("Right")); + break; + case UIGradient.Direction.Vertical: + EditorGUILayout.PropertyField(spColor1, new GUIContent("Top")); + EditorGUILayout.PropertyField(spColor2, new GUIContent("Bottom")); + break; + case UIGradient.Direction.Angle: + EditorGUILayout.PropertyField(spColor1, new GUIContent("Color 1")); + EditorGUILayout.PropertyField(spColor2, new GUIContent("Color 2")); + break; + case UIGradient.Direction.Diagonal: + Rect r = EditorGUILayout.GetControlRect(false, 34); + + r = EditorGUI.PrefixLabel(r, new GUIContent("Diagonal Color")); + float w = r.width / 2; + + EditorGUI.PropertyField(new Rect(r.x, r.y, w, 16), spColor3, GUIContent.none); + EditorGUI.PropertyField(new Rect(r.x + w, r.y, w, 16), spColor4, GUIContent.none); + EditorGUI.PropertyField(new Rect(r.x, r.y + 18, w, 16), spColor1, GUIContent.none); + EditorGUI.PropertyField(new Rect(r.x + w, r.y + 18, w, 16), spColor2, GUIContent.none); + break; + } + + + //================ + // Angle. + //================ + if ((int)UIGradient.Direction.Angle <= spDirection.intValue) + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Rotation")); + } + + + //================ + // Offset. + //================ + if ((int)UIGradient.Direction.Diagonal == spDirection.intValue) + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Vertical Offset")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset2"), new GUIContent("Horizontal Offset")); + } + else + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Offset1"), new GUIContent("Offset")); + } + + + //================ + // Advanced options. + //================ + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Advanced Options", EditorStyles.boldLabel); + EditorGUI.indentLevel++; + { + //if ((target as UIGradient).targetGraphic is Text) + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_GradientStyle")); + + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ColorSpace")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_IgnoreAspectRatio")); + } + EditorGUI.indentLevel--; + + serializedObject.ApplyModifiedProperties(); + + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs.meta new file mode 100644 index 0000000..5070c14 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIGradientEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c28dcc885fbba4a5187a6a1aa5fb1b3b +timeCreated: 1515895646 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs new file mode 100644 index 0000000..928c036 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs @@ -0,0 +1,84 @@ +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; +using System.Linq; + +namespace Coffee.UIExtensions.Editors +{ + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIHsvModifier))] + [CanEditMultipleObjects] + public class UIHsvModifierEditor : BaseMeshEffectEditor + { + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable (); + + _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + _spTargetColor = serializedObject.FindProperty("m_TargetColor"); + _spRange = serializedObject.FindProperty("m_Range"); + _spHue = serializedObject.FindProperty("m_Hue"); + _spSaturation = serializedObject.FindProperty("m_Saturation"); + _spValue = serializedObject.FindProperty("m_Value"); + + _shader = Shader.Find ("TextMeshPro/Distance Field (UIHsvModifier)"); + _mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIHsvModifier)"); + _spriteShader = Shader.Find ("TextMeshPro/Sprite (UIHsvModifier)"); + } + + + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + serializedObject.Update(); + + //================ + // Effect material. + //================ + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(_spMaterial); + EditorGUI.EndDisabledGroup(); + + //================ + // Effect setting. + //================ + EditorGUILayout.PropertyField(_spTargetColor); + EditorGUILayout.PropertyField(_spRange); + EditorGUILayout.PropertyField(_spHue); + EditorGUILayout.PropertyField(_spSaturation); + EditorGUILayout.PropertyField(_spValue); + + var c = target as UIHsvModifier; + c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {}); + ShowCanvasChannelsWarning (); + + ShowMaterialEditors (c.materials, 1, c.materials.Length - 1); + + serializedObject.ApplyModifiedProperties(); + } + + //################################ + // Private Members. + //################################ + SerializedProperty _spMaterial; + SerializedProperty _spTargetColor; + SerializedProperty _spRange; + SerializedProperty _spHue; + SerializedProperty _spSaturation; + SerializedProperty _spValue; + + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs.meta new file mode 100644 index 0000000..87f1694 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIHsvModifierEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f002ba0ac474d487b936bc046dda56b4 +timeCreated: 1538806052 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs new file mode 100644 index 0000000..1e9e729 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs @@ -0,0 +1,54 @@ +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; + +namespace Coffee.UIExtensions.Editors +{ + /// + /// UIShadow editor. + /// + [CustomEditor(typeof(UIShadow))] + [CanEditMultipleObjects] + public class UIShadowEditor : Editor + { + UIEffect uiEffect; + + void OnEnable() + { + uiEffect = (target as UIShadow).GetComponent(); + + } + + + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + serializedObject.Update(); + + //================ + // Shadow setting. + //================ + var spShadowMode = serializedObject.FindProperty("m_Style"); + EditorGUILayout.PropertyField(spShadowMode); + + // When shadow is enable, show parameters. + if (spShadowMode.intValue != (int)ShadowStyle.None) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectDistance")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EffectColor")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_UseGraphicAlpha")); + + if (uiEffect && uiEffect.blurMode != BlurMode.None) + { + EditorGUILayout.PropertyField(serializedObject.FindProperty("m_BlurFactor")); + } + EditorGUI.indentLevel--; + } + + serializedObject.ApplyModifiedProperties(); + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs.meta new file mode 100644 index 0000000..bc6a832 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShadowEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6e76e7f628f09af449321b4776123f13 +timeCreated: 1487152293 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs new file mode 100644 index 0000000..5d9cfe0 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs @@ -0,0 +1,135 @@ +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; +using System.Linq; + +namespace Coffee.UIExtensions.Editors +{ + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UIShiny))] + [CanEditMultipleObjects] + public class UIShinyEditor : BaseMeshEffectEditor + { + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable (); + + _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + _spEffectFactor = serializedObject.FindProperty("m_EffectFactor"); + _spEffectArea = serializedObject.FindProperty("m_EffectArea"); + _spWidth = serializedObject.FindProperty("m_Width"); + _spRotation = serializedObject.FindProperty("m_Rotation"); + _spSoftness = serializedObject.FindProperty("m_Softness"); + _spBrightness = serializedObject.FindProperty("m_Brightness"); + _spGloss = serializedObject.FindProperty("m_Gloss"); + var player = serializedObject.FindProperty("m_Player"); + _spPlay = player.FindPropertyRelative("play"); + _spDuration = player.FindPropertyRelative("duration"); + _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay"); + _spLoop = player.FindPropertyRelative("loop"); + _spLoopDelay = player.FindPropertyRelative("loopDelay"); + _spUpdateMode = player.FindPropertyRelative("updateMode"); + + + _shader = Shader.Find ("TextMeshPro/Distance Field (UIShiny)"); + _mobileShader = Shader.Find ("TextMeshPro/Mobile/Distance Field (UIShiny)"); + _spriteShader = Shader.Find ("TextMeshPro/Sprite (UIShiny)"); + } + + + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + serializedObject.Update(); + + //================ + // Effect material. + //================ + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(_spMaterial); + EditorGUI.EndDisabledGroup(); + + //================ + // Effect setting. + //================ + EditorGUILayout.PropertyField(_spEffectFactor); + EditorGUILayout.PropertyField(_spWidth); + EditorGUILayout.PropertyField(_spRotation); + EditorGUILayout.PropertyField(_spSoftness); + EditorGUILayout.PropertyField(_spBrightness); + EditorGUILayout.PropertyField(_spGloss); + + //================ + // Advanced option. + //================ + EditorGUILayout.PropertyField(_spEffectArea); + + //================ + // Effect player. + //================ + EditorGUILayout.PropertyField(_spPlay); + EditorGUILayout.PropertyField(_spDuration); + EditorGUILayout.PropertyField(_spInitialPlayDelay); + EditorGUILayout.PropertyField(_spLoop); + EditorGUILayout.PropertyField(_spLoopDelay); + EditorGUILayout.PropertyField(_spUpdateMode); + + // Debug. + using (new EditorGUI.DisabledGroupScope(!Application.isPlaying)) + using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) + { + GUILayout.Label("Debug"); + + if (GUILayout.Button("Play", "ButtonLeft")) + { + (target as UIShiny).Play(); + } + + if (GUILayout.Button("Stop", "ButtonRight")) + { + (target as UIShiny).Stop(); + } + } + + var c = target as UIShiny; + c.ShowTMProWarning (_shader, _mobileShader, _spriteShader, mat => {}); + ShowCanvasChannelsWarning (); + + ShowMaterialEditors (c.materials, 1, c.materials.Length - 1); + + serializedObject.ApplyModifiedProperties(); + } + + //################################ + // Private Members. + //################################ + SerializedProperty _spMaterial; + SerializedProperty _spEffectFactor; + SerializedProperty _spWidth; + SerializedProperty _spRotation; + SerializedProperty _spSoftness; + SerializedProperty _spBrightness; + SerializedProperty _spGloss; + SerializedProperty _spEffectArea; + SerializedProperty _spPlay; + SerializedProperty _spLoop; + SerializedProperty _spLoopDelay; + SerializedProperty _spDuration; + SerializedProperty _spInitialPlayDelay; + SerializedProperty _spUpdateMode; + + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs.meta new file mode 100644 index 0000000..7dd653a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UIShinyEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0080e984bad7545cd957d9121e99f988 +timeCreated: 1538806052 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs new file mode 100644 index 0000000..f511126 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs @@ -0,0 +1,190 @@ +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; +using System.Linq; + +namespace Coffee.UIExtensions.Editors +{ + /// + /// UIEffect editor. + /// + [CustomEditor(typeof(UITransitionEffect))] + [CanEditMultipleObjects] + public class UITransitionEffectEditor : BaseMeshEffectEditor + { + static int s_NoiseTexId; + + //################################ + // Public/Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + + _spMaterial = serializedObject.FindProperty("m_EffectMaterial"); + _spEffectMode = serializedObject.FindProperty("m_EffectMode"); + _spEffectFactor = serializedObject.FindProperty("m_EffectFactor"); + _spEffectArea = serializedObject.FindProperty("m_EffectArea"); + _spKeepAspectRatio = serializedObject.FindProperty("m_KeepAspectRatio"); + _spDissolveWidth = serializedObject.FindProperty("m_DissolveWidth"); + _spDissolveSoftness = serializedObject.FindProperty("m_DissolveSoftness"); + _spDissolveColor = serializedObject.FindProperty("m_DissolveColor"); + _spTransitionTexture = serializedObject.FindProperty("m_TransitionTexture"); + var player = serializedObject.FindProperty("m_Player"); + _spPlay = player.FindPropertyRelative("play"); + _spDuration = player.FindPropertyRelative("duration"); + _spInitialPlayDelay = player.FindPropertyRelative("initialPlayDelay"); + _spLoop = player.FindPropertyRelative("loop"); + _spLoopDelay = player.FindPropertyRelative("loopDelay"); + _spUpdateMode = player.FindPropertyRelative("updateMode"); + _spPassRayOnHidden = serializedObject.FindProperty("m_PassRayOnHidden"); + + s_NoiseTexId = Shader.PropertyToID("_NoiseTex"); + + _shader = Shader.Find("TextMeshPro/Distance Field (UITransition)"); + _mobileShader = Shader.Find("TextMeshPro/Mobile/Distance Field (UITransition)"); + _spriteShader = Shader.Find("TextMeshPro/Sprite (UITransition)"); + } + + + /// + /// Implement this function to make a custom inspector. + /// + public override void OnInspectorGUI() + { + foreach (var d in targets.Cast ()) + { + var mat = d.material; + if (d.isTMPro && mat && mat.HasProperty (s_NoiseTexId)) + { + Texture noiseTexture = mat.GetTexture (s_NoiseTexId); + UITransitionEffect.EffectMode mode = + mat.IsKeywordEnabled ("CUTOFF") ? UITransitionEffect.EffectMode.Cutoff + : mat.IsKeywordEnabled ("FADE") ? UITransitionEffect.EffectMode.Fade + : mat.IsKeywordEnabled ("DISSOLVE") ? UITransitionEffect.EffectMode.Dissolve + : (UITransitionEffect.EffectMode)0; + + if (mode == (UITransitionEffect.EffectMode)0) + { + mode = UITransitionEffect.EffectMode.Cutoff; + mat.EnableKeyword ("CUTOFF"); + } + + bool hasChanged = d.transitionTexture != noiseTexture || d.effectMode != mode; + + if (hasChanged) + { + var so = new SerializedObject (d); + so.FindProperty ("m_TransitionTexture").objectReferenceValue = noiseTexture; + so.FindProperty ("m_EffectMode").intValue = (int)mode; + so.ApplyModifiedProperties (); + } + } + } + + serializedObject.Update(); + + //================ + // Effect material. + //================ + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.PropertyField(_spMaterial); + EditorGUI.EndDisabledGroup(); + + //================ + // Effect setting. + //================ + bool isAnyTMPro = targets.Cast().Any(x => x.isTMPro); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(_spEffectMode); + + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(_spEffectFactor); + if (_spEffectMode.intValue == (int)UITransitionEffect.EffectMode.Dissolve) + { + EditorGUILayout.PropertyField(_spDissolveWidth); + EditorGUILayout.PropertyField(_spDissolveSoftness); + EditorGUILayout.PropertyField(_spDissolveColor); + } + EditorGUI.indentLevel--; + + //================ + // Advanced option. + //================ + EditorGUILayout.PropertyField(_spEffectArea); + using (new EditorGUI.DisabledGroupScope(isAnyTMPro)) + EditorGUILayout.PropertyField(_spTransitionTexture); + EditorGUILayout.PropertyField(_spKeepAspectRatio); + EditorGUILayout.PropertyField(_spPassRayOnHidden); + + //================ + // Effect player. + //================ + EditorGUILayout.PropertyField(_spPlay); + EditorGUILayout.PropertyField(_spDuration); + EditorGUILayout.PropertyField(_spInitialPlayDelay); + EditorGUILayout.PropertyField(_spLoop); + EditorGUILayout.PropertyField(_spLoopDelay); + EditorGUILayout.PropertyField(_spUpdateMode); + + // Debug. + using (new EditorGUI.DisabledGroupScope(!Application.isPlaying)) + using (new EditorGUILayout.HorizontalScope(EditorStyles.helpBox)) + { + GUILayout.Label("Debug"); + + if (GUILayout.Button("Show", "ButtonLeft")) + { + (target as UITransitionEffect).Show(); + } + + if (GUILayout.Button("Hide", "ButtonRight")) + { + (target as UITransitionEffect).Hide(); + } + } + + var current = target as UITransitionEffect; + current.ShowTMProWarning(_shader, _mobileShader, _spriteShader, mat => + { + if (mat.shader == _spriteShader) + { + mat.shaderKeywords = current.material.shaderKeywords; + mat.SetTexture(s_NoiseTexId, current.material.GetTexture(s_NoiseTexId)); + } + }); + ShowCanvasChannelsWarning(); + + ShowMaterialEditors(current.materials, 1, current.materials.Length - 1); + + serializedObject.ApplyModifiedProperties(); + } + + //################################ + // Private Members. + //################################ + SerializedProperty _spMaterial; + SerializedProperty _spEffectMode; + SerializedProperty _spEffectFactor; + SerializedProperty _spEffectArea; + SerializedProperty _spKeepAspectRatio; + SerializedProperty _spDissolveWidth; + SerializedProperty _spDissolveSoftness; + SerializedProperty _spDissolveColor; + SerializedProperty _spTransitionTexture; + SerializedProperty _spPlay; + SerializedProperty _spLoop; + SerializedProperty _spLoopDelay; + SerializedProperty _spDuration; + SerializedProperty _spInitialPlayDelay; + SerializedProperty _spUpdateMode; + SerializedProperty _spPassRayOnHidden; + + Shader _shader; + Shader _mobileShader; + Shader _spriteShader; + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs.meta new file mode 100644 index 0000000..14054f8 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/Editor/UITransitionEffectEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 631f363a54c834f1f846f823b31bd321 +timeCreated: 1538806067 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs new file mode 100644 index 0000000..983f40e --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs @@ -0,0 +1,432 @@ +using System; +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Serialization; + +namespace Coffee.UIExtensions +{ + /// + /// Dissolve effect for uGUI. + /// + [AddComponentMenu("UI/UIEffect/UIDissolve", 3)] + public class UIDissolve : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect-Dissolve"; + static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex"); + + + //################################ + // Serialize Members. + //################################ + [Tooltip("Current location[0-1] for dissolve effect. 0 is not dissolved, 1 is completely dissolved.")] + [FormerlySerializedAs("m_Location")] + [SerializeField] [Range(0, 1)] float m_EffectFactor = 0.5f; + + [Tooltip("Edge width.")] + [SerializeField] [Range(0, 1)] float m_Width = 0.5f; + + [Tooltip("Edge softness.")] + [SerializeField] [Range(0, 1)] float m_Softness = 0.5f; + + [Tooltip("Edge color.")] + [SerializeField] [ColorUsage(false)] Color m_Color = new Color(0.0f, 0.25f, 1.0f); + + [Tooltip("Edge color effect mode.")] + [SerializeField] ColorMode m_ColorMode = ColorMode.Add; + + [Tooltip("Noise texture for dissolving (single channel texture).")] + [SerializeField] Texture m_NoiseTexture; + + [Header("Advanced Option")] + [Tooltip("The area for effect.")] + [SerializeField] protected EffectArea m_EffectArea; + + [Tooltip("Keep effect aspect ratio.")] + [SerializeField] bool m_KeepAspectRatio; + + [Header("Effect Player")] + [SerializeField] EffectPlayer m_Player; + + [Tooltip("Reverse the dissolve effect.")] + [FormerlySerializedAs("m_ReverseAnimation")] + [SerializeField] bool m_Reverse = false; + + #pragma warning disable 0414 + [Obsolete][HideInInspector] + [SerializeField][Range(0.1f, 10)] float m_Duration = 1; + [Obsolete][HideInInspector] + [SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal; + #pragma warning restore 0414 + + + //################################ + // Public Members. + //################################ + + /// + /// Effect factor between 0(start) and 1(end). + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float location + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } + + /// + /// Effect factor between 0(start) and 1(end). + /// + public float effectFactor + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } + + /// + /// Edge width. + /// + public float width + { + get { return m_Width; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Width, value)) + { + m_Width = value; + SetDirty(); + } + } + } + + /// + /// Edge softness. + /// + public float softness + { + get { return m_Softness; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Softness, value)) + { + m_Softness = value; + SetDirty(); + } + } + } + + /// + /// Edge color. + /// + public Color color + { + get { return m_Color; } + set + { + if (m_Color != value) + { + m_Color = value; + SetDirty(); + } + } + } + + /// + /// Noise texture. + /// + public Texture noiseTexture + { + get { return m_NoiseTexture ?? material.GetTexture("_NoiseTex"); } + set + { + if (m_NoiseTexture != value) + { + m_NoiseTexture = value; + if (graphic) + { + ModifyMaterial(); + } + } + } + } + + /// + /// The area for effect. + /// + public EffectArea effectArea + { + get { return m_EffectArea; } + set + { + if (m_EffectArea != value) + { + m_EffectArea = value; + SetVerticesDirty(); + } + } + } + + /// + /// Keep aspect ratio. + /// + public bool keepAspectRatio + { + get { return m_KeepAspectRatio; } + set + { + if (m_KeepAspectRatio != value) + { + m_KeepAspectRatio = value; + SetVerticesDirty (); + } + } + } + + /// + /// Color effect mode. + /// + public ColorMode colorMode { get { return m_ColorMode; } } + + /// + /// Play effect on enable. + /// + [System.Obsolete("Use Play/Stop method instead")] + public bool play { get { return _player.play; } set { _player.play = value; } } + + /// + /// Play effect loop. + /// + [System.Obsolete] + public bool loop { get { return _player.loop; } set { _player.loop = value; } } + + /// + /// The duration for playing effect. + /// + public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } } + + /// + /// Delay on loop effect. + /// + [System.Obsolete] + public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } } + + /// + /// Update mode for playing effect. + /// + public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } } + + /// + /// Reverse the dissolve effect. + /// + public bool reverse { get { return m_Reverse; } set { m_Reverse = value; } } + + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } + + /// + /// Modifies the material. + /// + public override void ModifyMaterial() + { + if (isTMPro) + { + return; + } + + ulong hash = (m_NoiseTexture ? (uint)m_NoiseTexture.GetInstanceID() : 0) + ((ulong)1 << 32) + ((ulong)m_ColorMode << 36); + if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial)) + { + MaterialCache.Unregister(_materialCache); + _materialCache = null; + } + + if (!isActiveAndEnabled || !m_EffectMaterial) + { + material = null; + } + else if (!m_NoiseTexture) + { + material = m_EffectMaterial; + } + else if (_materialCache != null && _materialCache.hash == hash) + { + material = _materialCache.material; + } + else + { + _materialCache = MaterialCache.Register(hash, m_NoiseTexture, () => + { + var mat = new Material(m_EffectMaterial); + mat.name += "_" + m_NoiseTexture.name; + mat.SetTexture("_NoiseTex", m_NoiseTexture); + return mat; + }); + material = _materialCache.material; + } + } + + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + return; + + bool isText = isTMPro || graphic is Text; + float normalizedIndex = ptex.GetNormalizedIndex(this); + + // rect. + var tex = noiseTexture; + var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1; + Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect, aspectRatio); + + // Calculate vertex position. + UIVertex vertex = default(UIVertex); + float x, y; + int count = vh.currentVertCount; + for (int i = 0; i < count; i++) + { + vh.PopulateUIVertex(ref vertex, i); + m_EffectArea.GetPositionFactor (i, rect, vertex.position, isText, isTMPro, out x, out y); + + vertex.uv0 = new Vector2( + Packer.ToFloat(vertex.uv0.x, vertex.uv0.y), + Packer.ToFloat(x, y, normalizedIndex) + ); +// if(!isTMPro) +// { +// vertex.uv0 = new Vector2( +// Packer.ToFloat(vertex.uv0.x, vertex.uv0.y), +// Packer.ToFloat(x, y, normalizedIndex) +// ); +// } +// #if UNITY_5_6_OR_NEWER +// else +// { +// vertex.uv2 = new Vector2 ( +// Packer.ToFloat (x, y, normalizedIndex), +// 0 +// ); +// } +// #endif + + vh.SetUIVertex(vertex, i); + } + } + + protected override void SetDirty() + { + foreach(var m in materials) + { + ptex.RegisterMaterial (m); + } + ptex.SetData(this, 0, m_EffectFactor); // param1.x : location + ptex.SetData(this, 1, m_Width); // param1.y : width + ptex.SetData(this, 2, m_Softness); // param1.z : softness + ptex.SetData(this, 4, m_Color.r); // param2.x : red + ptex.SetData(this, 5, m_Color.g); // param2.y : green + ptex.SetData(this, 6, m_Color.b); // param2.z : blue + } + + /// + /// Play effect. + /// + public void Play(bool reset = true) + { + _player.Play(reset); + } + + /// + /// Stop effect. + /// + public void Stop(bool reset = true) + { + _player.Stop(reset); + } + + //################################ + // Protected Members. + //################################ + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + + _player.OnEnable((f) => + { + effectFactor = m_Reverse ? 1f - f : f; + }); + } + + protected override void OnDisable() + { + base.OnDisable (); + MaterialCache.Unregister(_materialCache); + _materialCache = null; + _player.OnDisable(); + } + +#if UNITY_EDITOR + /// + /// Gets the material. + /// + /// The material. + protected override Material GetMaterial() + { + if (isTMPro) + { + return null; + } + + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_ColorMode); + } + + #pragma warning disable 0612 + protected override void UpgradeIfNeeded() + { + // Upgrade for v3.0.0 + if (IsShouldUpgrade(300)) + { + _player.play = false; + _player.duration = m_Duration; + _player.loop = false; + _player.loopDelay = 1; + _player.updateMode = m_UpdateMode; + } + } + #pragma warning restore 0612 +#endif + + //################################ + // Private Members. + //################################ + MaterialCache _materialCache = null; + + EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs.meta new file mode 100644 index 0000000..f8c4e73 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIDissolve.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: ce76b7a490bd74f34a2f2752641aea24 +timeCreated: 1538866738 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: + - m_EffectMaterial: {instanceID: 0} + - m_PtexMaterial: {instanceID: 0} + - m_NoiseTexture: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs new file mode 100644 index 0000000..69ff52d --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs @@ -0,0 +1,488 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Serialization; + +#if UNITY_EDITOR +using System.IO; +using System.Linq; +using UnityEditor; +#endif + +namespace Coffee.UIExtensions +{ + /// + /// UIEffect. + /// + [ExecuteInEditMode] + [RequireComponent(typeof(Graphic))] + [DisallowMultipleComponent] + [AddComponentMenu("UI/UIEffect/UIEffect", 1)] + public class UIEffect : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect"; + static readonly ParameterTexture _ptex = new ParameterTexture(4, 1024, "_ParamTex"); + + + //################################ + // Serialize Members. + //################################ + [FormerlySerializedAs("m_ToneLevel")] + [Tooltip("Effect factor between 0(no effect) and 1(complete effect).")] + [SerializeField][Range(0, 1)] float m_EffectFactor = 1; + + [Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")] + [SerializeField][Range(0, 1)] float m_ColorFactor = 1; + + [FormerlySerializedAs("m_Blur")] + [Tooltip("How far is the blurring from the graphic.")] + [SerializeField][Range(0, 1)] float m_BlurFactor = 1; + + [FormerlySerializedAs("m_ToneMode")] + [Tooltip("Effect mode")] + [SerializeField] EffectMode m_EffectMode = EffectMode.None; + + [Tooltip("Color effect mode")] + [SerializeField] ColorMode m_ColorMode = ColorMode.Multiply; + + [Tooltip("Blur effect mode")] + [SerializeField] BlurMode m_BlurMode = BlurMode.None; + + [Tooltip("Advanced blurring remove common artifacts in the blur effect for uGUI.")] + [SerializeField] bool m_AdvancedBlur = false; + + #pragma warning disable 0414 + [Obsolete][HideInInspector] + [SerializeField][Range(0, 1)] float m_ShadowBlur = 1; + [Obsolete][HideInInspector] + [SerializeField] ShadowStyle m_ShadowStyle; + [Obsolete][HideInInspector] + [SerializeField] Color m_ShadowColor = Color.black; + [Obsolete][HideInInspector] + [SerializeField] Vector2 m_EffectDistance = new Vector2(1f, -1f); + [Obsolete][HideInInspector] + [SerializeField] bool m_UseGraphicAlpha = true; + [Obsolete][HideInInspector] + [SerializeField] Color m_EffectColor = Color.white; + [Obsolete][HideInInspector] + [SerializeField] List m_AdditionalShadows = new List(); + #pragma warning restore 0414 + + public enum BlurEx + { + None = 0, + Ex = 1, + } + + //################################ + // Public Members. + //################################ +#if UNITY_2017_1_OR_NEWER + public override AdditionalCanvasShaderChannels requiredChannels + { + get + { + if (advancedBlur) + { + return isTMPro + ? AdditionalCanvasShaderChannels.TexCoord1 | AdditionalCanvasShaderChannels.TexCoord2 + : AdditionalCanvasShaderChannels.TexCoord1; + } + return AdditionalCanvasShaderChannels.None; + } + } +#endif + + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float toneLevel + { + get { return m_EffectFactor; } + set + { + m_EffectFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } + + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + public float effectFactor + { + get { return m_EffectFactor; } + set + { + m_EffectFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } + + /// + /// Color effect factor between 0(no effect) and 1(complete effect). + /// + public float colorFactor + { + get { return m_ColorFactor; } + set + { + m_ColorFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } + + /// + /// How far is the blurring from the graphic. + /// + [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")] + public float blur + { + get { return m_BlurFactor; } + set + { + m_BlurFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } + + /// + /// How far is the blurring from the graphic. + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float blurFactor + { + get { return m_BlurFactor; } + set + { + m_BlurFactor = Mathf.Clamp(value, 0, 1); + SetDirty(); + } + } + + /// + /// Effect mode(readonly). + /// + [System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")] + public EffectMode toneMode { get { return m_EffectMode; } } + + /// + /// Effect mode(readonly). + /// + public EffectMode effectMode { get { return m_EffectMode; } } + + /// + /// Color effect mode(readonly). + /// + public ColorMode colorMode { get { return m_ColorMode; } } + + /// + /// Blur effect mode(readonly). + /// + public BlurMode blurMode { get { return m_BlurMode; } } + + /// + /// Color for the color effect. + /// + public Color effectColor + { + get { return graphic.color; } + set + { + graphic.color = value; + SetDirty(); + } + } + + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } + + /// + /// Advanced blurring remove common artifacts in the blur effect for uGUI. + /// + public bool advancedBlur { get { return isTMPro ? (material && material.IsKeywordEnabled("EX")) : m_AdvancedBlur; } } + + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + { + return; + } + + float normalizedIndex = ptex.GetNormalizedIndex(this); + + if (m_BlurMode != BlurMode.None && advancedBlur) + { + vh.GetUIVertexStream(tempVerts); + vh.Clear(); + var count = tempVerts.Count; + + // Bundle + int bundleSize = (targetGraphic is Text || isTMPro) ? 6 : count; + Rect posBounds = default(Rect); + Rect uvBounds = default(Rect); + Vector3 size = default(Vector3); + Vector3 tPos = default(Vector3); + Vector3 tUV = default(Vector3); + float expand = (float)blurMode * 6 * 2; + + for (int i = 0; i < count; i += bundleSize) + { + // min/max for bundled-quad + GetBounds(tempVerts, i, bundleSize, ref posBounds, ref uvBounds, true); + + // Pack uv mask. + Vector2 uvMask = new Vector2(Packer.ToFloat(uvBounds.xMin, uvBounds.yMin), Packer.ToFloat(uvBounds.xMax, uvBounds.yMax)); + + // Quad + for (int j = 0; j < bundleSize; j += 6) + { + Vector3 cornerPos1 = tempVerts[i + j + 1].position; + Vector3 cornerPos2 = tempVerts[i + j + 4].position; + + // Is outer quad? + bool hasOuterEdge = (bundleSize == 6) + || !posBounds.Contains(cornerPos1) + || !posBounds.Contains(cornerPos2); + if (hasOuterEdge) + { + Vector3 cornerUv1 = tempVerts[i + j + 1].uv0; + Vector3 cornerUv2 = tempVerts[i + j + 4].uv0; + + Vector3 centerPos = (cornerPos1 + cornerPos2) / 2; + Vector3 centerUV = (cornerUv1 + cornerUv2) / 2; + size = (cornerPos1 - cornerPos2); + + size.x = 1 + expand / Mathf.Abs(size.x); + size.y = 1 + expand / Mathf.Abs(size.y); + size.z = 1 + expand / Mathf.Abs(size.z); + + tPos = centerPos - Vector3.Scale(size, centerPos); + tUV = centerUV - Vector3.Scale(size, centerUV); + } + + // Vertex + for (int k = 0; k < 6; k++) + { + UIVertex vt = tempVerts[i + j + k]; + + Vector3 pos = vt.position; + Vector2 uv0 = vt.uv0; + + if (hasOuterEdge && (pos.x < posBounds.xMin || posBounds.xMax < pos.x)) + { + pos.x = pos.x * size.x + tPos.x; + uv0.x = uv0.x * size.x + tUV.x; + } + if (hasOuterEdge && (pos.y < posBounds.yMin || posBounds.yMax < pos.y)) + { + pos.y = pos.y * size.y + tPos.y; + uv0.y = uv0.y * size.y + tUV.y; + } + + vt.uv0 = new Vector2(Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f), normalizedIndex); + vt.position = pos; + + if (isTMPro) + { + #if UNITY_2017_1_OR_NEWER + vt.uv2 = uvMask; + #endif + } + else + { + vt.uv1 = uvMask; + } + + tempVerts[i + j + k] = vt; + } + } + } + + vh.AddUIVertexTriangleStream(tempVerts); + tempVerts.Clear(); + } + else + { + int count = vh.currentVertCount; + UIVertex vt = default(UIVertex); + for (int i = 0; i < count; i++) + { + vh.PopulateUIVertex(ref vt, i); + Vector2 uv0 = vt.uv0; + vt.uv0 = new Vector2( + Packer.ToFloat((uv0.x + 0.5f) / 2f, (uv0.y + 0.5f) / 2f), + normalizedIndex + ); + vh.SetUIVertex(vt, i); + } + } + } + + protected override void SetDirty() + { + foreach (var m in materials) + { + ptex.RegisterMaterial (m); + } + ptex.SetData(this, 0, m_EffectFactor); // param.x : effect factor + ptex.SetData(this, 1, m_ColorFactor); // param.y : color factor + ptex.SetData(this, 2, m_BlurFactor); // param.z : blur factor + } + +#if UNITY_EDITOR + /// + /// Gets the material. + /// + /// The material. + protected override Material GetMaterial() + { + if (isTMPro) + { + return null; + } + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode, m_AdvancedBlur ? BlurEx.Ex : BlurEx.None); + } + + #pragma warning disable 0612 + protected override void UpgradeIfNeeded() + { + // Upgrade for v3.0.0 + if (IsShouldUpgrade(300)) + { + if (m_ColorMode != ColorMode.Multiply) + { + Color col = targetGraphic.color; + col.r = m_EffectColor.r; + col.g = m_EffectColor.g; + col.b = m_EffectColor.b; + targetGraphic.color = col; + m_ColorFactor = m_EffectColor.a; + } + + if (m_ShadowStyle != ShadowStyle.None || m_AdditionalShadows.Any(x => x.style != ShadowStyle.None)) + { + if (m_ShadowStyle != ShadowStyle.None) + { + var shadow = gameObject.GetComponent() ?? gameObject.AddComponent(); + shadow.style = m_ShadowStyle; + shadow.effectDistance = m_EffectDistance; + shadow.effectColor = m_ShadowColor; + shadow.useGraphicAlpha = m_UseGraphicAlpha; + shadow.blurFactor = m_ShadowBlur; + } + + foreach (var s in m_AdditionalShadows) + { + if (s.style == ShadowStyle.None) + { + continue; + } + + var shadow = gameObject.AddComponent(); + shadow.style = s.style; + shadow.effectDistance = s.effectDistance; + shadow.effectColor = s.effectColor; + shadow.useGraphicAlpha = s.useGraphicAlpha; + shadow.blurFactor = s.blur; + } + + m_ShadowStyle = ShadowStyle.None; + m_AdditionalShadows = null; + + if (m_EffectMode == EffectMode.None && m_ColorMode == ColorMode.Multiply && m_BlurMode == BlurMode.None) + { + DestroyImmediate(this, true); + } + } + + int tone = (int)m_EffectMode; + const int Mono = 5; + const int Cutoff = 6; + const int Hue = 7; + if (tone == Hue) + { + var go = gameObject; + var hue = m_EffectFactor; + DestroyImmediate(this, true); + var hsv = go.GetComponent() ?? go.AddComponent(); + hsv.hue = hue; + hsv.range = 1; + } + + // Cutoff/Mono + if (tone == Cutoff || tone == Mono) + { + var go = gameObject; + var factor = m_EffectFactor; + var transitionMode = tone == Cutoff + ? UITransitionEffect.EffectMode.Cutoff + : UITransitionEffect.EffectMode.Fade; + DestroyImmediate(this, true); + var trans = go.GetComponent() ?? go.AddComponent(); + trans.effectFactor = factor; + + var sp = new SerializedObject(trans).FindProperty("m_EffectMode"); + sp.intValue = (int)transitionMode; + sp.serializedObject.ApplyModifiedProperties(); + } + } + } + #pragma warning restore 0612 +#endif + + //################################ + // Private Members. + //################################ + static void GetBounds(List verts, int start, int count, ref Rect posBounds, ref Rect uvBounds, bool global) + { + Vector2 minPos = new Vector2(float.MaxValue, float.MaxValue); + Vector2 maxPos = new Vector2(float.MinValue, float.MinValue); + Vector2 minUV = new Vector2(float.MaxValue, float.MaxValue); + Vector2 maxUV = new Vector2(float.MinValue, float.MinValue); + for (int i = start; i < start + count; i++) + { + UIVertex vt = verts[i]; + + Vector2 uv = vt.uv0; + Vector3 pos = vt.position; + + // Left-Bottom + if (minPos.x >= pos.x && minPos.y >= pos.y) + { + minPos = pos; + } + // Right-Top + else if (maxPos.x <= pos.x && maxPos.y <= pos.y) + { + maxPos = pos; + } + + // Left-Bottom + if (minUV.x >= uv.x && minUV.y >= uv.y) + { + minUV = uv; + } + // Right-Top + else if (maxUV.x <= uv.x && maxUV.y <= uv.y) + { + maxUV = uv; + } + } + + // Shrink coordinate for detect edge + posBounds.Set(minPos.x + 0.001f, minPos.y + 0.001f, maxPos.x - minPos.x - 0.002f, maxPos.y - minPos.y - 0.002f); + uvBounds.Set(minUV.x, minUV.y, maxUV.x - minUV.x, maxUV.y - minUV.y); + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs.meta new file mode 100644 index 0000000..1155fe8 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f8b2ed11d675446c5a49da1ea296d490 +timeCreated: 1485321967 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs new file mode 100644 index 0000000..bbaac10 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs @@ -0,0 +1,552 @@ +using System.Collections; +using System.Linq; +using UnityEngine; +using UnityEngine.Serialization; +using UnityEngine.Rendering; +using UnityEngine.UI; + +namespace Coffee.UIExtensions +{ + /// + /// UIEffectCapturedImage + /// + [AddComponentMenu("UI/UIEffect/UIEffectCapturedImage", 200)] + public class UIEffectCapturedImage : RawImage +#if UNITY_EDITOR + , ISerializationCallbackReceiver +#endif + { + + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-EffectCapture"; + + /// + /// Desampling rate. + /// + public enum DesamplingRate + { + None = 0, + x1 = 1, + x2 = 2, + x4 = 4, + x8 = 8, + } + + + //################################ + // Serialize Members. + //################################ + [Tooltip("Effect factor between 0(no effect) and 1(complete effect).")] + [FormerlySerializedAs("m_ToneLevel")] + [SerializeField][Range(0, 1)] float m_EffectFactor = 1; + + [Tooltip("Color effect factor between 0(no effect) and 1(complete effect).")] + [SerializeField][Range(0, 1)] float m_ColorFactor = 1; + + [Tooltip("How far is the blurring from the graphic.")] + [FormerlySerializedAs("m_Blur")] + [SerializeField][Range(0, 1)] float m_BlurFactor = 1; + + [Tooltip("Effect mode.")] + [FormerlySerializedAs("m_ToneMode")] + [SerializeField] EffectMode m_EffectMode = EffectMode.None; + + [Tooltip("Color effect mode.")] + [SerializeField] ColorMode m_ColorMode = ColorMode.Multiply; + + [Tooltip("Blur effect mode.")] + [SerializeField] BlurMode m_BlurMode = BlurMode.DetailBlur; + + [Tooltip("Color for the color effect.")] + [SerializeField] Color m_EffectColor = Color.white; + + [Tooltip("Desampling rate of the generated RenderTexture.")] + [SerializeField] DesamplingRate m_DesamplingRate = DesamplingRate.x1; + + [Tooltip("Desampling rate of reduction buffer to apply effect.")] + [SerializeField] DesamplingRate m_ReductionRate = DesamplingRate.x1; + + [Tooltip("FilterMode for capturing.")] + [SerializeField] FilterMode m_FilterMode = FilterMode.Bilinear; + + [Tooltip("Effect material.")] + [SerializeField] Material m_EffectMaterial = null; + + [Tooltip("Blur iterations.")] + [FormerlySerializedAs("m_Iterations")] + [SerializeField][Range(1, 8)] int m_BlurIterations = 3; + + [Tooltip("Fits graphic size to screen on captured.")] + [FormerlySerializedAs("m_KeepCanvasSize")] + [SerializeField] bool m_FitToScreen = true; + + [Tooltip("Capture automatically on enable.")] + [SerializeField] bool m_CaptureOnEnable = false; + + + //################################ + // Public Members. + //################################ + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float toneLevel { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } } + + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + public float effectFactor { get { return m_EffectFactor; } set { m_EffectFactor = Mathf.Clamp(value, 0, 1); } } + + /// + /// Color effect factor between 0(no effect) and 1(complete effect). + /// + public float colorFactor { get { return m_ColorFactor; } set { m_ColorFactor = Mathf.Clamp(value, 0, 1); } } + + /// + /// How far is the blurring from the graphic. + /// + [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")] + public float blur { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } } + + /// + /// How far is the blurring from the graphic. + /// + public float blurFactor { get { return m_BlurFactor; } set { m_BlurFactor = Mathf.Clamp(value, 0, 4); } } + + /// + /// Tone effect mode. + /// + [System.Obsolete("Use effectMode instead (UnityUpgradable) -> effectMode")] + public EffectMode toneMode { get { return m_EffectMode; } } + + /// + /// Effect mode. + /// + public EffectMode effectMode { get { return m_EffectMode; } } + + /// + /// Color effect mode. + /// + public ColorMode colorMode { get { return m_ColorMode; } } + + /// + /// Blur effect mode. + /// + public BlurMode blurMode { get { return m_BlurMode; } } + + /// + /// Color for the color effect. + /// + public Color effectColor { get { return m_EffectColor; } set { m_EffectColor = value; } } + + /// + /// Effect material. + /// + public virtual Material effectMaterial { get { return m_EffectMaterial; } } + + /// + /// Desampling rate of the generated RenderTexture. + /// + public DesamplingRate desamplingRate { get { return m_DesamplingRate; } set { m_DesamplingRate = value; } } + + /// + /// Desampling rate of reduction buffer to apply effect. + /// + public DesamplingRate reductionRate { get { return m_ReductionRate; } set { m_ReductionRate = value; } } + + /// + /// FilterMode for capturing. + /// + public FilterMode filterMode { get { return m_FilterMode; } set { m_FilterMode = value; } } + + /// + /// Captured texture. + /// + public RenderTexture capturedTexture { get { return _rt; } } + + /// + /// Blur iterations. + /// + [System.Obsolete("Use blurIterations instead (UnityUpgradable) -> blurIterations")] + public int iterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } } + + /// + /// Blur iterations. + /// + public int blurIterations { get { return m_BlurIterations; } set { m_BlurIterations = value; } } + + /// + /// Fits graphic size to screen. + /// + [System.Obsolete("Use fitToScreen instead (UnityUpgradable) -> fitToScreen")] + public bool keepCanvasSize { get { return m_FitToScreen; } set { m_FitToScreen = value; } } + + /// + /// Fits graphic size to screen on captured. + /// + public bool fitToScreen { get { return m_FitToScreen; } set { m_FitToScreen = value; } } + + /// + /// Target RenderTexture to capture. + /// + [System.Obsolete] + public RenderTexture targetTexture { get { return null; } set { } } + + /// + /// Capture automatically on enable. + /// + public bool captureOnEnable { get { return m_CaptureOnEnable; } set { m_CaptureOnEnable = value; } } + + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + if (m_CaptureOnEnable && Application.isPlaying) + { + Capture(); + } + } + + protected override void OnDisable() + { + base.OnDisable(); + if (m_CaptureOnEnable && Application.isPlaying) + { + _Release(false); + texture = null; + } + } + + /// + /// This function is called when the MonoBehaviour will be destroyed. + /// + protected override void OnDestroy() + { + Release(); + base.OnDestroy(); + } + + /// + /// Callback function when a UI element needs to generate vertices. + /// + protected override void OnPopulateMesh(VertexHelper vh) + { + // When not displaying, clear vertex. + if (texture == null || color.a < 1 / 255f || canvasRenderer.GetAlpha() < 1 / 255f) + { + vh.Clear(); + } + else + { + base.OnPopulateMesh(vh); + int count = vh.currentVertCount; + UIVertex vt = default(UIVertex); + Color c = color; + for (int i = 0; i < count; i++) + { + vh.PopulateUIVertex(ref vt, i); + vt.color = c; + vh.SetUIVertex(vt, i); + } + } + } + + /// + /// Gets the size of the desampling. + /// + public void GetDesamplingSize(DesamplingRate rate, out int w, out int h) + { +#if UNITY_EDITOR + if (!Application.isPlaying) + { + var res = UnityEditor.UnityStats.screenRes.Split('x'); + w = int.Parse(res[0]); + h = int.Parse(res[1]); + } + else +#endif + { + w = Screen.width; + h = Screen.height; + } + + if (rate == DesamplingRate.None) + return; + + float aspect = (float)w / h; + if (w < h) + { + h = Mathf.ClosestPowerOfTwo(h / (int)rate); + w = Mathf.CeilToInt(h * aspect); + } + else + { + w = Mathf.ClosestPowerOfTwo(w / (int)rate); + h = Mathf.CeilToInt(w / aspect); + } + } + + /// + /// Capture rendering result. + /// + public void Capture() + { + // Fit to screen. + var rootCanvas = canvas.rootCanvas; + if (m_FitToScreen) + { + var rootTransform = rootCanvas.transform as RectTransform; + var size = rootTransform.rect.size; + rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, size.x); + rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, size.y); + rectTransform.position = rootTransform.position; + } + + // Cache some ids. + if (s_CopyId == 0) + { + s_CopyId = Shader.PropertyToID("_UIEffectCapturedImage_ScreenCopyId"); + s_EffectId1 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId1"); + s_EffectId2 = Shader.PropertyToID("_UIEffectCapturedImage_EffectId2"); + + s_EffectFactorId = Shader.PropertyToID("_EffectFactor"); + s_ColorFactorId = Shader.PropertyToID("_ColorFactor"); + s_CommandBuffer = new CommandBuffer(); + } + + + // If size of result RT has changed, release it. + int w, h; + GetDesamplingSize(m_DesamplingRate, out w, out h); + if (_rt && (_rt.width != w || _rt.height != h)) + { + _Release(ref _rt); + } + + // Generate RT for result. + if (_rt == null) + { + _rt = RenderTexture.GetTemporary(w, h, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Default); + _rt.filterMode = m_FilterMode; + _rt.useMipMap = false; + _rt.wrapMode = TextureWrapMode.Clamp; + _rtId = new RenderTargetIdentifier(_rt); + } + SetupCommandBuffer(); + } + + void SetupCommandBuffer() + { + // Material for effect. + Material mat = m_EffectMaterial; + + if (s_CommandBuffer == null) + { + s_CommandBuffer = new CommandBuffer(); + } + + // [1] Capture from back buffer (back buffer -> copied screen). + int w, h; + GetDesamplingSize(DesamplingRate.None, out w, out h); + s_CommandBuffer.GetTemporaryRT(s_CopyId, w, h, 0, m_FilterMode); +#if UNITY_EDITOR + s_CommandBuffer.Blit(Resources.FindObjectsOfTypeAll().FirstOrDefault(x => x.name == "GameView RT"), s_CopyId); +#else + s_CommandBuffer.Blit(BuiltinRenderTextureType.BindableTexture, s_CopyId); +#endif + + // Set properties for effect. + s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_EffectFactor, 0)); + s_CommandBuffer.SetGlobalVector(s_ColorFactorId, new Vector4(m_EffectColor.r, m_EffectColor.g, m_EffectColor.b, m_EffectColor.a)); + + // [2] Apply base effect with reduction buffer (copied screen -> effect1). + GetDesamplingSize(m_ReductionRate, out w, out h); + s_CommandBuffer.GetTemporaryRT(s_EffectId1, w, h, 0, m_FilterMode); + s_CommandBuffer.Blit(s_CopyId, s_EffectId1, mat, 0); + s_CommandBuffer.ReleaseTemporaryRT(s_CopyId); + + // Iterate blurring operation. + if (m_BlurMode != BlurMode.None) + { + s_CommandBuffer.GetTemporaryRT(s_EffectId2, w, h, 0, m_FilterMode); + for (int i = 0; i < m_BlurIterations; i++) + { + // [3] Apply blurring with reduction buffer (effect1 -> effect2, or effect2 -> effect1). + s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(m_BlurFactor, 0)); + s_CommandBuffer.Blit(s_EffectId1, s_EffectId2, mat, 1); + s_CommandBuffer.SetGlobalVector(s_EffectFactorId, new Vector4(0, m_BlurFactor)); + s_CommandBuffer.Blit(s_EffectId2, s_EffectId1, mat, 1); + } + s_CommandBuffer.ReleaseTemporaryRT(s_EffectId2); + } + + // [4] Copy to result RT. + s_CommandBuffer.Blit(s_EffectId1, _rtId); + s_CommandBuffer.ReleaseTemporaryRT(s_EffectId1); + +#if UNITY_EDITOR + if (!Application.isPlaying) + { + Graphics.ExecuteCommandBuffer(s_CommandBuffer); + + UpdateTexture(); + return; + } +#endif + // Execute command buffer. + canvas.rootCanvas.GetComponent ().StartCoroutine (_CoUpdateTextureOnNextFrame ()); + } + + /// + /// Release captured image. + /// + public void Release() + { + _Release(true); + texture = null; + _SetDirty(); + } + +#if UNITY_EDITOR + protected override void Reset() + { + // Set parameters as 'Medium'. + m_BlurIterations = 3; + m_FilterMode = FilterMode.Bilinear; + m_DesamplingRate = DesamplingRate.x1; + m_ReductionRate = DesamplingRate.x1; + base.Reset(); + } + + /// + /// Raises the before serialize event. + /// + public void OnBeforeSerialize() + { + } + + /// + /// Raises the after deserialize event. + /// + public void OnAfterDeserialize() + { + UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(true); + } + + /// + /// Raises the validate event. + /// + protected override void OnValidate() + { + base.OnValidate(); + UnityEditor.EditorApplication.delayCall += () => UpdateMaterial(false); + } + + /// + /// Updates the material. + /// + /// If set to true ignore in play mode. + protected void UpdateMaterial(bool ignoreInPlayMode) + { + if (!this || ignoreInPlayMode && Application.isPlaying) + { + return; + } + + var mat = MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode, m_ColorMode, m_BlurMode); + if (m_EffectMaterial != mat) + { + material = null; + m_EffectMaterial = mat; + _SetDirty(); + } + } +#endif + + + + //################################ + // Private Members. + //################################ + RenderTexture _rt; + RenderTargetIdentifier _rtId; + + static int s_CopyId; + static int s_EffectId1; + static int s_EffectId2; + static int s_EffectFactorId; + static int s_ColorFactorId; + static CommandBuffer s_CommandBuffer; + + /// + /// Release genarated objects. + /// + /// If set to true release cached RenderTexture. + void _Release(bool releaseRT) + { + if (releaseRT) + { + texture = null; + _Release(ref _rt); + } + + if (s_CommandBuffer != null) + { + s_CommandBuffer.Clear(); + + if (releaseRT) + { + s_CommandBuffer.Release(); + s_CommandBuffer = null; + } + } + } + + [System.Diagnostics.Conditional("UNITY_EDITOR")] + void _SetDirty() + { +#if UNITY_EDITOR + if (!Application.isPlaying) + { + UnityEditor.EditorUtility.SetDirty(this); + } +#endif + } + + void _Release(ref RenderTexture obj) + { + if (obj) + { + obj.Release(); + RenderTexture.ReleaseTemporary (obj); + obj = null; + } + } + + /// + /// Set texture on next frame. + /// + IEnumerator _CoUpdateTextureOnNextFrame() + { + yield return new WaitForEndOfFrame(); + UpdateTexture(); + } + + void UpdateTexture() + { +#if !UNITY_EDITOR + // Execute command buffer. + Graphics.ExecuteCommandBuffer (s_CommandBuffer); +#endif + _Release(false); + texture = capturedTexture; + _SetDirty(); + } + + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs.meta new file mode 100644 index 0000000..d6992f6 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffectCapturedImage.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: e96dacbf1b116f64da658fbad66839e2 +timeCreated: 1513158591 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: + - m_Material: {instanceID: 0} + - m_Texture: {instanceID: 0} + - m_Shader: {fileID: 4800000, guid: c7bb8dee750384818a922a942cd437f9, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs new file mode 100644 index 0000000..c97c078 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +namespace Coffee.UIExtensions +{ + + //[RequireComponent(typeof(Graphic))] + [DisallowMultipleComponent] + [AddComponentMenu("UI/MeshEffectForTextMeshPro/UIFlip", 102)] + public class UIFlip : BaseMeshEffect + { + //################################ + // Serialize Members. + //################################ + + [Tooltip("Flip horizontally.")] + [SerializeField] private bool m_Horizontal = false; + + [Tooltip("Flip vertically.")] + [SerializeField] private bool m_Veritical = false; + + //################################ + // Public Members. + //################################ + /// + /// Gets or sets a value indicating whether this should be flipped horizontally. + /// + /// true if be flipped horizontally; otherwise, false. + public bool horizontal { get { return this.m_Horizontal; } set { this.m_Horizontal = value; SetVerticesDirty (); } } + + /// + /// Gets or sets a value indicating whether this should be flipped vertically. + /// + /// true if be flipped horizontally; otherwise, false. + public bool vertical { get { return this.m_Veritical; } set { this.m_Veritical = value; SetVerticesDirty (); } } + + /// + /// Call used to modify mesh. + /// + /// VertexHelper. + public override void ModifyMesh(VertexHelper vh) + { + RectTransform rt = graphic.rectTransform; + UIVertex vt = default(UIVertex); + Vector3 pos; + Vector2 center = rt.rect.center; + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vt, i); + pos = vt.position; + vt.position = new Vector3( + m_Horizontal ? -pos.x : pos.x, + m_Veritical ? -pos.y : pos.y + ); + vh.SetUIVertex(vt, i); + } + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs.meta new file mode 100644 index 0000000..86d3ecb --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIFlip.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9bb4e59514e90489d985e9a17c838085 +timeCreated: 1525607243 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs new file mode 100644 index 0000000..23f820e --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs @@ -0,0 +1,386 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace Coffee.UIExtensions +{ + /// + /// UIGradient. + /// + [DisallowMultipleComponent] + [AddComponentMenu("UI/MeshEffectForTextMeshPro/UIGradient", 101)] + public class UIGradient : BaseMeshEffect + { + //################################ + // Constant or Static Members. + //################################ + + /// + /// Gradient direction. + /// + public enum Direction + { + Horizontal, + Vertical, + Angle, + Diagonal, + } + + /// + /// Gradient space for Text. + /// + public enum GradientStyle + { + Rect, + Fit, + Split, + } + + + //################################ + // Serialize Members. + //################################ + + [Tooltip("Gradient Direction.")] + [SerializeField] Direction m_Direction; + + [Tooltip("Color1: Top or Left.")] + [SerializeField] Color m_Color1 = Color.white; + + [Tooltip("Color2: Bottom or Right.")] + [SerializeField] Color m_Color2 = Color.white; + + [Tooltip("Color3: For diagonal.")] + [SerializeField] Color m_Color3 = Color.white; + + [Tooltip("Color4: For diagonal.")] + [SerializeField] Color m_Color4 = Color.white; + + [Tooltip("Gradient rotation.")] + [SerializeField][Range(-180, 180)] float m_Rotation; + + [Tooltip("Gradient offset for Horizontal, Vertical or Angle.")] + [SerializeField][Range(-1, 1)] float m_Offset1; + + [Tooltip("Gradient offset for Diagonal.")] + [SerializeField][Range(-1, 1)] float m_Offset2; + + [Tooltip("Gradient style for Text.")] + [SerializeField] GradientStyle m_GradientStyle; + + [Tooltip("Color space to correct color.")] + [SerializeField] ColorSpace m_ColorSpace = ColorSpace.Uninitialized; + + [Tooltip("Ignore aspect ratio.")] + [SerializeField] bool m_IgnoreAspectRatio = true; + + + //################################ + // Public Members. + //################################ + public Graphic targetGraphic { get { return base.graphic; } } + + /// + /// Gradient Direction. + /// + public Direction direction + { + get { return m_Direction; } + set + { + if (m_Direction != value) + { + m_Direction = value; + SetVerticesDirty(); + } + } + } + + /// + /// Color1: Top or Left. + /// + public Color color1 + { + get { return m_Color1; } + set + { + if (m_Color1 != value) + { + m_Color1 = value; + SetVerticesDirty(); + } + } + } + + /// + /// Color2: Bottom or Right. + /// + public Color color2 + { + get { return m_Color2; } + set + { + if (m_Color2 != value) + { + m_Color2 = value; + SetVerticesDirty(); + } + } + } + + /// + /// Color3: For diagonal. + /// + public Color color3 + { + get { return m_Color3; } + set + { + if (m_Color3 != value) + { + m_Color3 = value; + SetVerticesDirty(); + } + } + } + + /// + /// Color4: For diagonal. + /// + public Color color4 + { + get { return m_Color4; } + set + { + if (m_Color4 != value) + { + m_Color4 = value; + SetVerticesDirty(); + } + } + } + + /// + /// Gradient rotation. + /// + public float rotation + { + get + { + return m_Direction == Direction.Horizontal ? -90 + : m_Direction == Direction.Vertical ? 0 + : m_Rotation; + } + set + { + if (!Mathf.Approximately(m_Rotation, value)) + { + m_Rotation = value; + SetVerticesDirty(); + } + } + } + + /// + /// Gradient offset for Horizontal, Vertical or Angle. + /// + public float offset + { + get { return m_Offset1; } + set + { + if (m_Offset1 != value) + { + m_Offset1 = value; + SetVerticesDirty(); + } + } + } + + /// + /// Gradient offset for Diagonal. + /// + public Vector2 offset2 + { + get { return new Vector2(m_Offset2, m_Offset1); } + set + { + if (m_Offset1 != value.y || m_Offset2 != value.x) + { + m_Offset1 = value.y; + m_Offset2 = value.x; + SetVerticesDirty(); + } + } + } + + /// + /// Gradient style for Text. + /// + public GradientStyle gradientStyle + { + get { return m_GradientStyle; } + set + { + if (m_GradientStyle != value) + { + m_GradientStyle = value; + SetVerticesDirty(); + } + } + } + + /// + /// Color space to correct color. + /// + public ColorSpace colorSpace + { + get { return m_ColorSpace; } + set + { + if (m_ColorSpace != value) + { + m_ColorSpace = value; + SetVerticesDirty(); + } + } + } + + /// + /// Ignore aspect ratio. + /// + public bool ignoreAspectRatio + { + get { return m_IgnoreAspectRatio; } + set + { + if (m_IgnoreAspectRatio != value) + { + m_IgnoreAspectRatio = value; + SetVerticesDirty(); + } + } + } + + + /// + /// Call used to modify mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!IsActive()) + return; + + // Gradient space. + Rect rect = default(Rect); + UIVertex vertex = default(UIVertex); + if (m_GradientStyle == GradientStyle.Rect) + { + // RectTransform. + rect = graphic.rectTransform.rect; + } + else if (m_GradientStyle == GradientStyle.Split) + { + // Each characters. + rect.Set(0, 0, 1, 1); + } + else if (m_GradientStyle == GradientStyle.Fit) + { + // Fit to contents. + rect.xMin = rect.yMin = float.MaxValue; + rect.xMax = rect.yMax = float.MinValue; + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vertex, i); + rect.xMin = Mathf.Min(rect.xMin, vertex.position.x); + rect.yMin = Mathf.Min(rect.yMin, vertex.position.y); + rect.xMax = Mathf.Max(rect.xMax, vertex.position.x); + rect.yMax = Mathf.Max(rect.yMax, vertex.position.y); + } + } + + // Gradient rotation. + float rad = rotation * Mathf.Deg2Rad; + Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad)); + if (!m_IgnoreAspectRatio && Direction.Angle <= m_Direction) + { + dir.x *= rect.height / rect.width; + dir = dir.normalized; + } + + // Calculate vertex color. + Color color; + Vector2 nomalizedPos; + Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y); // Get local matrix. + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vertex, i); + + // Normalize vertex position by local matrix. + if (m_GradientStyle == GradientStyle.Split) + { + // Each characters. + nomalizedPos = localMatrix * s_SplitedCharacterPosition[i % 4] + offset2; + } + else + { + nomalizedPos = localMatrix * vertex.position + offset2; + } + + // Interpolate vertex color. + if (direction == Direction.Diagonal) + { + color = Color.LerpUnclamped( + Color.LerpUnclamped(m_Color1, m_Color2, nomalizedPos.x), + Color.LerpUnclamped(m_Color3, m_Color4, nomalizedPos.x), + nomalizedPos.y); + } + else + { + color = Color.LerpUnclamped(m_Color2, m_Color1, nomalizedPos.y); + } + + // Correct color. + vertex.color *= (m_ColorSpace == ColorSpace.Gamma) ? color.gamma + : (m_ColorSpace == ColorSpace.Linear) ? color.linear + : color; + + vh.SetUIVertex(vertex, i); + } + } + + + //################################ + // Private Members. + //################################ + static readonly Vector2[] s_SplitedCharacterPosition = { Vector2.up, Vector2.one, Vector2.right, Vector2.zero }; + + /// + /// Matrix2x3. + /// + struct Matrix2x3 + { + public float m00, m01, m02, m10, m11, m12; + + public Matrix2x3(Rect rect, float cos, float sin) + { + const float center = 0.5f; + float dx = -rect.xMin / rect.width - center; + float dy = -rect.yMin / rect.height - center; + m00 = cos / rect.width; + m01 = -sin / rect.height; + m02 = dx * cos - dy * sin + center; + m10 = sin / rect.width; + m11 = cos / rect.height; + m12 = dx * sin + dy * cos + center; + } + + public static Vector2 operator*(Matrix2x3 m, Vector2 v) + { + return new Vector2( + (m.m00 * v.x) + (m.m01 * v.y) + m.m02, + (m.m10 * v.x) + (m.m11 * v.y) + m.m12 + ); + } + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs.meta new file mode 100644 index 0000000..8b596ad --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIGradient.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3fb48d82dc0e94a2b9246d17d04f8748 +timeCreated: 1515744842 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs new file mode 100644 index 0000000..52138f2 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs @@ -0,0 +1,194 @@ +using UnityEngine; +using UnityEngine.Serialization; +using UnityEngine.UI; + + +namespace Coffee.UIExtensions +{ + /// + /// HSV Modifier. + /// + [AddComponentMenu("UI/UIEffect/UIHsvModifier", 4)] + public class UIHsvModifier : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect-HSV"; + static readonly ParameterTexture _ptex = new ParameterTexture(7, 128, "_ParamTex"); + + + //################################ + // Serialize Members. + //################################ + [Header("Target")] + + [Tooltip("Target color to affect hsv shift.")] + [SerializeField] [ColorUsage(false)] Color m_TargetColor = Color.red; + + [Tooltip("Color range to affect hsv shift [0 ~ 1].")] + [SerializeField] [Range(0, 1)] float m_Range = 0.1f; + + [Header("Adjustment")] + + [Tooltip("Hue shift [-0.5 ~ 0.5].")] + [SerializeField] [Range(-0.5f, 0.5f)] float m_Hue; + + [Tooltip("Saturation shift [-0.5 ~ 0.5].")] + [SerializeField] [Range(-0.5f, 0.5f)] float m_Saturation; + + [Tooltip("Value shift [-0.5 ~ 0.5].")] + [SerializeField] [Range(-0.5f, 0.5f)] float m_Value; + + + //################################ + // Public Members. + //################################ + + /// + /// Target color to affect hsv shift. + /// + public Color targetColor + { + get { return m_TargetColor; } + set + { + if (m_TargetColor != value) + { + m_TargetColor = value; + SetDirty(); + } + } + } + + /// + /// Color range to affect hsv shift [0 ~ 1]. + /// + public float range + { + get { return m_Range; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Range, value)) + { + m_Range = value; + SetDirty(); + } + } + } + + /// + /// Saturation shift [-0.5 ~ 0.5]. + /// + public float saturation + { + get { return m_Saturation; } + set + { + value = Mathf.Clamp(value, -0.5f, 0.5f); + if (!Mathf.Approximately(m_Saturation, value)) + { + m_Saturation = value; + SetDirty(); + } + } + } + + /// + /// Value shift [-0.5 ~ 0.5]. + /// + public float value + { + get { return m_Value; } + set + { + value = Mathf.Clamp(value, -0.5f, 0.5f); + if (!Mathf.Approximately(m_Value, value)) + { + m_Value = value; + SetDirty(); + } + } + } + + /// + /// Hue shift [-0.5 ~ 0.5]. + /// + public float hue + { + get { return m_Hue; } + set + { + value = Mathf.Clamp(value, -0.5f, 0.5f); + if (!Mathf.Approximately(m_Hue, value)) + { + m_Hue = value; + SetDirty(); + } + } + } + + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } + +#if UNITY_EDITOR + protected override Material GetMaterial() + { + if (isTMPro) + { + return null; + } + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName)); + } +#endif + + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + return; + + float normalizedIndex = ptex.GetNormalizedIndex(this); + UIVertex vertex = default(UIVertex); + int count = vh.currentVertCount; + for (int i = 0; i < count; i++) + { + vh.PopulateUIVertex(ref vertex, i); + + vertex.uv0 = new Vector2( + Packer.ToFloat(vertex.uv0.x, vertex.uv0.y), + normalizedIndex + ); + vh.SetUIVertex(vertex, i); + } + } + + protected override void SetDirty() + { + float h, s, v; + Color.RGBToHSV(m_TargetColor, out h, out s, out v); + + foreach (var m in materials) + { + ptex.RegisterMaterial (m); + } + + ptex.SetData(this, 0, h); // param1.x : target hue + ptex.SetData(this, 1, s); // param1.y : target saturation + ptex.SetData(this, 2, v); // param1.z : target value + ptex.SetData(this, 3, m_Range); // param1.w : target range + ptex.SetData(this, 4, m_Hue + 0.5f); // param2.x : hue shift + ptex.SetData(this, 5, m_Saturation + 0.5f); // param2.y : saturation shift + ptex.SetData(this, 6, m_Value + 0.5f); // param2.z : value shift + } + + //################################ + // Private Members. + //################################ + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs.meta new file mode 100644 index 0000000..44ca568 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIHsvModifier.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: efe700dddcd8341ff8607ac2c827b4b5 +timeCreated: 1523859834 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs new file mode 100644 index 0000000..32b0f21 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs @@ -0,0 +1,461 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Serialization; +using UnityEngine.UI; + +#if UNITY_EDITOR +using System.IO; +using System.Linq; +using UnityEditor; +#endif + +namespace Coffee.UIExtensions +{ + /// + /// UIEffect. + /// + [RequireComponent(typeof(Graphic))] + [AddComponentMenu("UI/UIEffect/UIShadow", 100)] + public class UIShadow : BaseMeshEffect, IParameterTexture +#if UNITY_EDITOR + , ISerializationCallbackReceiver +#endif + { + + /// + /// Additional shadow. + /// + [System.Obsolete] + [System.Serializable] + public class AdditionalShadow + { + /// + /// How far is the blurring shadow from the graphic. + /// + [FormerlySerializedAs("shadowBlur")] + [Range(0, 1)] public float blur = 0.25f; + + /// + /// Shadow effect mode. + /// + [FormerlySerializedAs("shadowMode")] + public ShadowStyle style = ShadowStyle.Shadow; + + /// + /// Color for the shadow effect. + /// + [FormerlySerializedAs("shadowColor")] + public Color effectColor = Color.black; + + /// + /// How far is the shadow from the graphic. + /// + public Vector2 effectDistance = new Vector2(1f, -1f); + + /// + /// Should the shadow inherit the alpha from the graphic? + /// + public bool useGraphicAlpha = true; + } + + //################################ + // Serialize Members. + //################################ + [Tooltip("How far is the blurring shadow from the graphic.")] + [FormerlySerializedAs("m_Blur")] + [SerializeField][Range(0, 1)] float m_BlurFactor = 1; + + [Tooltip("Shadow effect style.")] + [SerializeField] ShadowStyle m_Style = ShadowStyle.Shadow; + + #pragma warning disable 0414 + [HideInInspector][System.Obsolete] + [SerializeField] List m_AdditionalShadows = new List(); + #pragma warning restore 0414 + + + [SerializeField] + private Color m_EffectColor = new Color (0f, 0f, 0f, 0.5f); + + [SerializeField] + private Vector2 m_EffectDistance = new Vector2 (1f, -1f); + + [SerializeField] + private bool m_UseGraphicAlpha = true; + + private const float kMaxEffectDistance = 600f; + + public Color effectColor + { + get { return m_EffectColor; } + set + { + m_EffectColor = value; + if (graphic != null) + graphic.SetVerticesDirty (); + } + } + + public Vector2 effectDistance + { + get { return m_EffectDistance; } + set + { + if (value.x > kMaxEffectDistance) + value.x = kMaxEffectDistance; + if (value.x < -kMaxEffectDistance) + value.x = -kMaxEffectDistance; + + if (value.y > kMaxEffectDistance) + value.y = kMaxEffectDistance; + if (value.y < -kMaxEffectDistance) + value.y = -kMaxEffectDistance; + + if (m_EffectDistance == value) + return; + + m_EffectDistance = value; + + if (graphic != null) + graphic.SetVerticesDirty (); + } + } + + public bool useGraphicAlpha + { + get { return m_UseGraphicAlpha; } + set + { + m_UseGraphicAlpha = value; + if (graphic != null) + graphic.SetVerticesDirty (); + } + } + + //################################ + // Public Members. + //################################ + /// + /// How far is the blurring shadow from the graphic. + /// + [System.Obsolete("Use blurFactor instead (UnityUpgradable) -> blurFactor")] + public float blur + { + get { return m_BlurFactor; } + set + { + m_BlurFactor = Mathf.Clamp(value, 0, 2); + _SetDirty(); + } + } + + /// + /// How far is the blurring shadow from the graphic. + /// + public float blurFactor + { + get { return m_BlurFactor; } + set + { + m_BlurFactor = Mathf.Clamp(value, 0, 2); + _SetDirty(); + } + } + + /// + /// Shadow effect style. + /// + public ShadowStyle style + { + get { return m_Style; } + set + { + m_Style = value; + _SetDirty(); + } + } + + /// + /// Gets or sets the parameter index. + /// + public int parameterIndex { get; set; } + + /// + /// Gets the parameter texture. + /// + public ParameterTexture ptex{ get; private set; } + + int _graphicVertexCount; + static readonly List tmpShadows = new List(); + + protected override void OnEnable() + { + base.OnEnable(); + + _uiEffect = GetComponent(); + if (_uiEffect) + { + ptex = _uiEffect.ptex; + ptex.Register(this); + } + + #if TMP_PRESENT + if (isTMPro) + { + textMeshPro.onCullStateChanged.AddListener (OnCullStateChanged); + } + #endif + } + + protected override void OnDisable() + { + base.OnDisable(); + _uiEffect = null; + if (ptex != null) + { + ptex.Unregister(this); + ptex = null; + } + } + + + #if UNITY_EDITOR + protected override void OnValidate () + { + effectDistance = m_EffectDistance; + base.OnValidate (); + } + #endif + + #if TMP_PRESENT + protected void OnCullStateChanged (bool state) + { + SetVerticesDirty (); + } + + Vector2 res; + protected override void LateUpdate () + { + if (res.x != Screen.width || res.y != Screen.height) + { + res.x = Screen.width; + res.y = Screen.height; + SetVerticesDirty (); + } + if (textMeshPro && transform.hasChanged) + { + transform.hasChanged = false; + } + base.LateUpdate (); + } + #endif + + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled || vh.currentVertCount <= 0 || m_Style == ShadowStyle.None) + { + return; + } + + vh.GetUIVertexStream(s_Verts); + + GetComponents(tmpShadows); + + foreach (var s in tmpShadows) + { + if (s.isActiveAndEnabled) + { + if (s == this) + { + foreach (var s2 in tmpShadows) + { + s2._graphicVertexCount = s_Verts.Count; + } + } + break; + } + } + + tmpShadows.Clear(); + + //================================ + // Append shadow vertices. + //================================ + { + _uiEffect = _uiEffect ?? GetComponent(); + var start = s_Verts.Count - _graphicVertexCount; + var end = s_Verts.Count; + + if (ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled) + { + ptex.SetData(this, 0, _uiEffect.effectFactor); // param.x : effect factor + ptex.SetData(this, 1, 255); // param.y : color factor + ptex.SetData(this, 2, m_BlurFactor); // param.z : blur factor + } + + _ApplyShadow(s_Verts, effectColor, ref start, ref end, effectDistance, style, useGraphicAlpha); + } + + vh.Clear(); + vh.AddUIVertexTriangleStream(s_Verts); + + s_Verts.Clear(); + } + + UIEffect _uiEffect; + + //################################ + // Private Members. + //################################ + static readonly List s_Verts = new List(4096); + + /// + /// Append shadow vertices. + /// * It is similar to Shadow component implementation. + /// + void _ApplyShadow(List verts, Color color, ref int start, ref int end, Vector2 effectDistance, ShadowStyle style, bool useGraphicAlpha) + { + if (style == ShadowStyle.None || color.a <= 0) + return; + + // Append Shadow. + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, effectDistance.y, useGraphicAlpha); + + // Append Shadow3. + if (ShadowStyle.Shadow3 == style) + { + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha); + } + + // Append Outline. + else if (ShadowStyle.Outline == style) + { + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha); + } + + // Append Outline8. + else if (ShadowStyle.Outline8 == style) + { + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, -effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, -effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, -effectDistance.x, 0, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, -effectDistance.y, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, effectDistance.x, 0, useGraphicAlpha); + _ApplyShadowZeroAlloc(s_Verts, color, ref start, ref end, 0, effectDistance.y, useGraphicAlpha); + } + } + + /// + /// Append shadow vertices. + /// * It is similar to Shadow component implementation. + /// + void _ApplyShadowZeroAlloc(List verts, Color color, ref int start, ref int end, float x, float y, bool useGraphicAlpha) + { + // Check list capacity. + int count = end - start; + var neededCapacity = verts.Count + count; + if (verts.Capacity < neededCapacity) + verts.Capacity *= 2; + + float normalizedIndex = ptex != null && _uiEffect && _uiEffect.isActiveAndEnabled + ? ptex.GetNormalizedIndex(this) + : -1; + + // Add + UIVertex vt = default(UIVertex); + for (int i = 0; i < count; i++) + { + verts.Add(vt); + } + + // Move + for (int i = verts.Count - 1; count <= i; i--) + { + verts[i] = verts[i - count]; + } + + // Append shadow vertices to the front of list. + // * The original vertex is pushed backward. + for (int i = 0; i < count; ++i) + { + vt = verts[i + start + count]; + + Vector3 v = vt.position; + vt.position.Set(v.x + x, v.y + y, v.z); + + Color vertColor = effectColor; + vertColor.a = useGraphicAlpha ? color.a * vt.color.a / 255 : color.a; + vt.color = vertColor; + + + // Set UIEffect prameters + if (0 <= normalizedIndex) + { + vt.uv0 = new Vector2( + vt.uv0.x, + normalizedIndex + ); + } + + verts[i] = vt; + } + + // Update next shadow offset. + start = end; + end = verts.Count; + } + + /// + /// Mark the UIEffect as dirty. + /// + void _SetDirty() + { + if (graphic) + graphic.SetVerticesDirty(); + } + +#if UNITY_EDITOR + public void OnBeforeSerialize() + { + } + + public void OnAfterDeserialize() + { + EditorApplication.delayCall += UpgradeIfNeeded; + } + + + #pragma warning disable 0612 + void UpgradeIfNeeded() + { + if (0 < m_AdditionalShadows.Count) + { + foreach (var s in m_AdditionalShadows) + { + if (s.style == ShadowStyle.None) + { + continue; + } + + var shadow = gameObject.AddComponent(); + shadow.style = s.style; + shadow.effectDistance = s.effectDistance; + shadow.effectColor = s.effectColor; + shadow.useGraphicAlpha = s.useGraphicAlpha; + shadow.blurFactor = s.blur; + } + m_AdditionalShadows = null; + } + } + #pragma warning restore 0612 +#endif + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs.meta new file mode 100644 index 0000000..257198c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShadow.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0848bff101191904ead4bb831f7084db +timeCreated: 1485321967 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: -400 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs new file mode 100644 index 0000000..2d9037f --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs @@ -0,0 +1,408 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Serialization; +using UnityEngine.UI; +using System.Collections; + +#if UNITY_EDITOR +using System.IO; +using System.Linq; +using UnityEditor; +#endif + +namespace Coffee.UIExtensions +{ + /// + /// UIEffect. + /// + [AddComponentMenu("UI/UIEffect/UIShiny", 2)] + public class UIShiny : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect-Shiny"; + static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex"); + + + //################################ + // Serialize Members. + //################################ + [Tooltip("Location for shiny effect.")] + [FormerlySerializedAs("m_Location")] + [SerializeField] [Range(0, 1)] float m_EffectFactor = 0; + + [Tooltip("Width for shiny effect.")] + [SerializeField] [Range(0, 1)] float m_Width = 0.25f; + + [Tooltip("Rotation for shiny effect.")] + [SerializeField] [Range(-180, 180)] float m_Rotation; + + [Tooltip("Softness for shiny effect.")] + [SerializeField][Range(0.01f, 1)] float m_Softness = 1f; + + [Tooltip("Brightness for shiny effect.")] + [FormerlySerializedAs("m_Alpha")] + [SerializeField][Range(0, 1)] float m_Brightness = 1f; + + [Tooltip("Gloss factor for shiny effect.")] + [FormerlySerializedAs("m_Highlight")] + [SerializeField][Range(0, 1)] float m_Gloss = 1; + + [Header("Advanced Option")] + [Tooltip("The area for effect.")] + [SerializeField] protected EffectArea m_EffectArea; + + [SerializeField] EffectPlayer m_Player; + + #pragma warning disable 0414 + [Obsolete][HideInInspector] + [SerializeField] bool m_Play = false; + [Obsolete][HideInInspector] + [SerializeField] bool m_Loop = false; + [Obsolete][HideInInspector] + [SerializeField][Range(0.1f, 10)] float m_Duration = 1; + [Obsolete][HideInInspector] + [SerializeField][Range(0, 10)] float m_LoopDelay = 1; + [Obsolete][HideInInspector] + [SerializeField] AnimatorUpdateMode m_UpdateMode = AnimatorUpdateMode.Normal; + #pragma warning restore 0414 + + + //################################ + // Public Members. + //################################ + + /// + /// Effect factor between 0(start) and 1(end). + /// + [System.Obsolete("Use effectFactor instead (UnityUpgradable) -> effectFactor")] + public float location + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } + + /// + /// Effect factor between 0(start) and 1(end). + /// + public float effectFactor + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } + + /// + /// Width for shiny effect. + /// + public float width + { + get { return m_Width; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Width, value)) + { + m_Width = value; + SetDirty(); + } + } + } + + /// + /// Softness for shiny effect. + /// + public float softness + { + get { return m_Softness; } + set + { + value = Mathf.Clamp(value, 0.01f, 1); + if (!Mathf.Approximately(m_Softness, value)) + { + m_Softness = value; + SetDirty(); + } + } + } + + /// + /// Brightness for shiny effect. + /// + [System.Obsolete("Use brightness instead (UnityUpgradable) -> brightness")] + public float alpha + { + get { return m_Brightness; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Brightness, value)) + { + m_Brightness = value; + SetDirty(); + } + } + } + + /// + /// Brightness for shiny effect. + /// + public float brightness + { + get { return m_Brightness; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Brightness, value)) + { + m_Brightness = value; + SetDirty(); + } + } + } + + /// + /// Gloss factor for shiny effect. + /// + [System.Obsolete("Use gloss instead (UnityUpgradable) -> gloss")] + public float highlight + { + get { return m_Gloss; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Gloss, value)) + { + m_Gloss = value; + SetDirty(); + } + } + } + + /// + /// Gloss factor for shiny effect. + /// + public float gloss + { + get { return m_Gloss; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_Gloss, value)) + { + m_Gloss = value; + SetDirty(); + } + } + } + + /// + /// Rotation for shiny effect. + /// + public float rotation + { + get { return m_Rotation; } + set + { + if (!Mathf.Approximately(m_Rotation, value)) + { + m_Rotation = _lastRotation = value; + SetVerticesDirty (); + } + } + } + + /// + /// The area for effect. + /// + public EffectArea effectArea + { + get { return m_EffectArea; } + set + { + if (m_EffectArea != value) + { + m_EffectArea = value; + SetVerticesDirty (); + } + } + } + + /// + /// Play shinning on enable. + /// + [System.Obsolete ("Use Play/Stop method instead")] + public bool play { get { return _player.play; } set { _player.play = value; } } + + /// + /// Play shinning loop. + /// + [System.Obsolete] + public bool loop { get { return _player.loop; } set { _player.loop = value; } } + + /// + /// Shinning duration. + /// + public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } } + + /// + /// Delay on loop. + /// + [System.Obsolete] + public float loopDelay { get { return _player.loopDelay; } set { _player.loopDelay = Mathf.Max(value, 0); } } + + /// + /// Shinning update mode. + /// + public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } } + + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } + + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + _player.OnEnable(f => effectFactor = f); + } + + /// + /// This function is called when the behaviour becomes disabled () or inactive. + /// + protected override void OnDisable() + { + base.OnDisable(); + _player.OnDisable(); + } + + +#if UNITY_EDITOR + protected override Material GetMaterial() + { + if (isTMPro) + { + return null; + } + + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName)); + } + + #pragma warning disable 0612 + protected override void UpgradeIfNeeded() + { + // Upgrade for v3.0.0 + if (IsShouldUpgrade(300)) + { + _player.play = m_Play; + _player.duration = m_Duration; + _player.loop = m_Loop; + _player.loopDelay = m_LoopDelay; + _player.updateMode = m_UpdateMode; + } + } + #pragma warning restore 0612 + +#endif + + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + return; + + bool isText = isTMPro || graphic is Text; + float normalizedIndex = ptex.GetNormalizedIndex(this); + + // rect. + Rect rect = m_EffectArea.GetEffectArea (vh, rectTransform.rect); + + // rotation. + float rad = m_Rotation * Mathf.Deg2Rad; + Vector2 dir = new Vector2(Mathf.Cos(rad), Mathf.Sin(rad)); + dir.x *= rect.height / rect.width; + dir = dir.normalized; + + // Calculate vertex position. + UIVertex vertex = default(UIVertex); + Vector2 nomalizedPos; + Matrix2x3 localMatrix = new Matrix2x3(rect, dir.x, dir.y); // Get local matrix. + for (int i = 0; i < vh.currentVertCount; i++) + { + vh.PopulateUIVertex(ref vertex, i); + m_EffectArea.GetNormalizedFactor (i, localMatrix, vertex.position, isText, out nomalizedPos); + + vertex.uv0 = new Vector2 ( + Packer.ToFloat (vertex.uv0.x, vertex.uv0.y), + Packer.ToFloat (nomalizedPos.y, normalizedIndex) + ); + + vh.SetUIVertex(vertex, i); + } + } + + /// + /// Play effect. + /// + public void Play(bool reset = true) + { + _player.Play(reset); + } + + /// + /// Stop effect. + /// + public void Stop(bool reset = true) + { + _player.Stop(reset); + } + + protected override void SetDirty() + { + foreach (var m in materials) + { + ptex.RegisterMaterial (m); + } + ptex.SetData(this, 0, m_EffectFactor); // param1.x : location + ptex.SetData(this, 1, m_Width); // param1.y : width + ptex.SetData(this, 2, m_Softness); // param1.z : softness + ptex.SetData(this, 3, m_Brightness);// param1.w : blightness + ptex.SetData(this, 4, m_Gloss); // param2.x : gloss + + if (!Mathf.Approximately(_lastRotation, m_Rotation) && targetGraphic) + { + _lastRotation = m_Rotation; + SetVerticesDirty(); + } + } + + //################################ + // Private Members. + //################################ + float _lastRotation; + + EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs.meta new file mode 100644 index 0000000..97bec07 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIShiny.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f19b7e2285c104f6ca47d583f3e5444f +timeCreated: 1523859834 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs new file mode 100644 index 0000000..e2f6bbe --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs @@ -0,0 +1,356 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Serialization; + +namespace Coffee.UIExtensions +{ + /// + /// Transition effect. + /// + [AddComponentMenu("UI/UIEffect/UITransitionEffect", 5)] + public class UITransitionEffect : UIEffectBase + { + //################################ + // Constant or Static Members. + //################################ + public const string shaderName = "UI/Hidden/UI-Effect-Transition"; + static readonly ParameterTexture _ptex = new ParameterTexture(8, 128, "_ParamTex"); + + /// + /// Effect mode. + /// + public enum EffectMode + { + Fade = 1, + Cutoff = 2, + Dissolve = 3, + } + + + //################################ + // Serialize Members. + //################################ + [Tooltip("Effect mode.")] + [SerializeField] EffectMode m_EffectMode = EffectMode.Cutoff; + + [Tooltip("Effect factor between 0(hidden) and 1(shown).")] + [SerializeField][Range(0, 1)] float m_EffectFactor = 1; + + [Tooltip("Transition texture (single channel texture).")] + [SerializeField] Texture m_TransitionTexture; + + [Header("Advanced Option")] + [Tooltip("The area for effect.")] + [SerializeField] EffectArea m_EffectArea = EffectArea.RectTransform; + + [Tooltip("Keep effect aspect ratio.")] + [SerializeField] bool m_KeepAspectRatio; + + [Tooltip("Dissolve edge width.")] + [SerializeField] [Range(0, 1)] float m_DissolveWidth = 0.5f; + + [Tooltip("Dissolve edge softness.")] + [SerializeField] [Range(0, 1)] float m_DissolveSoftness = 0.5f; + + [Tooltip("Dissolve edge color.")] + [SerializeField] [ColorUsage(false)] Color m_DissolveColor = new Color(0.0f, 0.25f, 1.0f); + + [Tooltip("Disable graphic's raycast target on hidden.")] + [SerializeField] bool m_PassRayOnHidden; + + [Header("Effect Player")] + [SerializeField] EffectPlayer m_Player; + + //################################ + // Public Members. + //################################ + + /// + /// Effect factor between 0(no effect) and 1(complete effect). + /// + public float effectFactor + { + get { return m_EffectFactor; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_EffectFactor, value)) + { + m_EffectFactor = value; + SetDirty(); + } + } + } + + /// + /// Transition texture. + /// + public Texture transitionTexture + { + get { return m_TransitionTexture; } + set + { + if (m_TransitionTexture != value) + { + m_TransitionTexture = value; + if (graphic) + { + ModifyMaterial(); + } + } + } + } + + /// + /// Effect mode. + /// + public EffectMode effectMode { get { return m_EffectMode; } } + + /// + /// Keep aspect ratio. + /// + public bool keepAspectRatio + { + get { return m_KeepAspectRatio; } + set + { + if (m_KeepAspectRatio != value) + { + m_KeepAspectRatio = value; + targetGraphic.SetVerticesDirty(); + } + } + } + + /// + /// Gets the parameter texture. + /// + public override ParameterTexture ptex { get { return _ptex; } } + + /// + /// Dissolve edge width. + /// + public float dissolveWidth + { + get { return m_DissolveWidth; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_DissolveWidth, value)) + { + m_DissolveWidth = value; + SetDirty(); + } + } + } + + /// + /// Dissolve edge softness. + /// + public float dissolveSoftness + { + get { return m_DissolveSoftness; } + set + { + value = Mathf.Clamp(value, 0, 1); + if (!Mathf.Approximately(m_DissolveSoftness, value)) + { + m_DissolveSoftness = value; + SetDirty(); + } + } + } + + /// + /// Dissolve edge color. + /// + public Color dissolveColor + { + get { return m_DissolveColor; } + set + { + if (m_DissolveColor != value) + { + m_DissolveColor = value; + SetDirty(); + } + } + } + + /// + /// Duration for showing/hiding. + /// + public float duration { get { return _player.duration; } set { _player.duration = Mathf.Max(value, 0.1f); } } + + /// + /// Disable graphic's raycast target on hidden. + /// + public bool passRayOnHidden { get { return m_PassRayOnHidden; } set { m_PassRayOnHidden = value; } } + + /// + /// Update mode for showing/hiding. + /// + public AnimatorUpdateMode updateMode { get { return _player.updateMode; } set { _player.updateMode = value; } } + + /// + /// Show transition. + /// + public void Show(bool reset = true) + { + _player.loop = false; + _player.Play(reset, f => effectFactor = f); + } + + /// + /// Hide transition. + /// + public void Hide(bool reset = true) + { + _player.loop = false; + _player.Play(reset, f => effectFactor = 1 - f); + } + + /// + /// Modifies the material. + /// + public override void ModifyMaterial() + { + if (isTMPro) + { + return; + } + + ulong hash = (m_TransitionTexture ? (uint)m_TransitionTexture.GetInstanceID() : 0) + ((ulong)2 << 32) + ((ulong)m_EffectMode << 36); + if (_materialCache != null && (_materialCache.hash != hash || !isActiveAndEnabled || !m_EffectMaterial)) + { + MaterialCache.Unregister(_materialCache); + _materialCache = null; + } + + if (!isActiveAndEnabled || !m_EffectMaterial) + { + material = null; + } + else if (!m_TransitionTexture) + { + material = m_EffectMaterial; + } + else if (_materialCache != null && _materialCache.hash == hash) + { + material = _materialCache.material; + } + else + { + _materialCache = MaterialCache.Register(hash, m_TransitionTexture, () => + { + var mat = new Material(m_EffectMaterial); + mat.name += "_" + m_TransitionTexture.name; + mat.SetTexture("_NoiseTex", m_TransitionTexture); + return mat; + }); + material = _materialCache.material; + } + } + + /// + /// Modifies the mesh. + /// + public override void ModifyMesh(VertexHelper vh) + { + if (!isActiveAndEnabled) + { + return; + } + + bool isText = isTMPro || graphic is Text; + float normalizedIndex = ptex.GetNormalizedIndex (this); + + // rect. + var tex = transitionTexture; + var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1; + Rect rect = m_EffectArea.GetEffectArea (vh, rectTransform.rect, aspectRatio); + + // Set prameters to vertex. + UIVertex vertex = default(UIVertex); + float x, y; + int count = vh.currentVertCount; + for (int i = 0; i < count; i++) + { + vh.PopulateUIVertex(ref vertex, i); + m_EffectArea.GetPositionFactor (i, rect, vertex.position, isText, isTMPro, out x, out y); + + vertex.uv0 = new Vector2 ( + Packer.ToFloat (vertex.uv0.x, vertex.uv0.y), + Packer.ToFloat (x, y, normalizedIndex) + ); + vh.SetUIVertex(vertex, i); + } + } + + //################################ + // Protected Members. + //################################ + + /// + /// This function is called when the object becomes enabled and active. + /// + protected override void OnEnable() + { + base.OnEnable(); + _player.OnEnable(null); + _player.loop = false; + } + + /// + /// This function is called when the behaviour becomes disabled () or inactive. + /// + protected override void OnDisable() + { + base.OnDisable (); + MaterialCache.Unregister(_materialCache); + _materialCache = null; + _player.OnDisable(); + } + + protected override void SetDirty() + { + foreach (var m in materials) + { + ptex.RegisterMaterial (m); + } + ptex.SetData(this, 0, m_EffectFactor); // param1.x : effect factor + if (m_EffectMode == EffectMode.Dissolve) + { + ptex.SetData(this, 1, m_DissolveWidth); // param1.y : width + ptex.SetData(this, 2, m_DissolveSoftness); // param1.z : softness + ptex.SetData(this, 4, m_DissolveColor.r); // param2.x : red + ptex.SetData(this, 5, m_DissolveColor.g); // param2.y : green + ptex.SetData(this, 6, m_DissolveColor.b); // param2.z : blue + } + + // Disable graphic's raycastTarget on hidden. + if (m_PassRayOnHidden) + { + targetGraphic.raycastTarget = 0 < m_EffectFactor; + } + } + +#if UNITY_EDITOR + /// + /// Gets the material. + /// + /// The material. + protected override Material GetMaterial() + { + return MaterialResolver.GetOrGenerateMaterialVariant(Shader.Find(shaderName), m_EffectMode); + } +#endif + + //################################ + // Private Members. + //################################ + MaterialCache _materialCache = null; + + EffectPlayer _player{ get { return m_Player ?? (m_Player = new EffectPlayer()); } } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs.meta new file mode 100644 index 0000000..6069e80 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UITransitionEffect.cs.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 922b805bc01c243e5853d9cbb544118c +timeCreated: 1538827562 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: + - m_EffectMaterial: {instanceID: 0} + - m_PtexMaterial: {instanceID: 0} + - m_TransitionTexture: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, + type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders.meta new file mode 100644 index 0000000..2c87ba2 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: deded9e09f6e644228da395138e4f232 +folderAsset: yes +timeCreated: 1527743712 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Dissolve.shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Dissolve.shader new file mode 100644 index 0000000..6970efe --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Dissolve.shader @@ -0,0 +1,88 @@ +Shader "UI/Hidden/UI-Effect-Dissolve" +{ + Properties + { + [PerRendererData] _MainTex ("Main Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _ParamTex ("Parameter Texture", 2D) = "white" {} + + [Header(Dissolve)] + _NoiseTex("Noise Texture (A)", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + Name "Default" + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #define DISSOLVE 1 + #pragma multi_compile __ UNITY_UI_ALPHACLIP + #pragma shader_feature __ ADD SUBTRACT FILL + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #define UI_DISSOLVE 1 + #include "UI-Effect.cginc" + #include "UI-Effect-Sprite.cginc" + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + + // Dissolve + color = ApplyTransitionEffect(color, IN.eParam); + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + return color; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Dissolve.shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Dissolve.shader.meta new file mode 100644 index 0000000..035eeb0 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Dissolve.shader.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e1b48dc831eb147e9886c049033213bf +timeCreated: 1523859834 +licenseType: Pro +ShaderImporter: + defaultTextures: + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-HSV.shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-HSV.shader new file mode 100644 index 0000000..68e08d0 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-HSV.shader @@ -0,0 +1,79 @@ +Shader "UI/Hidden/UI-Effect-HSV" +{ + Properties + { + [PerRendererData] _MainTex ("Main Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _ParamTex ("Parameter Texture", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #define UI_HSV_MODIFIER 1 + #include "UI-Effect.cginc" + #include "UI-Effect-Sprite.cginc" + + fixed4 frag(v2f IN) : COLOR + { + half4 color = tex2D(_MainTex, IN.texcoord);// + _TextureSampleAdd) * IN.color; + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + color = ApplyHsvEffect(color, IN.eParam); + + return (color + _TextureSampleAdd) * IN.color; + } + + ENDCG + } + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-HSV.shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-HSV.shader.meta new file mode 100644 index 0000000..a9797e6 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-HSV.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7fc74090480c84f8b977cfcd55cdfe82 +timeCreated: 1531882595 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Shiny.shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Shiny.shader new file mode 100644 index 0000000..3f74fe7 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Shiny.shader @@ -0,0 +1,82 @@ +Shader "UI/Hidden/UI-Effect-Shiny" +{ + Properties + { + [PerRendererData] _MainTex ("Main Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _ParamTex ("Parameter Texture", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + Name "Default" + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #define UI_SHINY 1 + #include "UI-Effect.cginc" + #include "UI-Effect-Sprite.cginc" + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + + color = ApplyShinyEffect(color, IN.eParam); + + #ifdef UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + return color; + } + ENDCG + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Shiny.shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Shiny.shader.meta new file mode 100644 index 0000000..3607115 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Shiny.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 20ffe76c2439c403aabdd25bd94bf011 +timeCreated: 1523859834 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc new file mode 100644 index 0000000..f2cd23a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc @@ -0,0 +1,77 @@ +#ifndef UI_EFFECT_SPRITE_INCLUDED +#define UI_EFFECT_SPRITE_INCLUDED + +fixed4 _Color; +fixed4 _TextureSampleAdd; +float4 _ClipRect; +sampler2D _MainTex; +float4 _MainTex_TexelSize; + +struct appdata_t +{ + float4 vertex : POSITION; + float4 color : COLOR; + float2 texcoord : TEXCOORD0; +#if EX && TMP_SPRITE + float2 uvMask : TEXCOORD2; +#elif EX + float2 uvMask : TEXCOORD1; +#endif + UNITY_VERTEX_INPUT_INSTANCE_ID +}; + +struct v2f +{ + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + half2 texcoord : TEXCOORD0; + float4 worldPosition : TEXCOORD1; +#if UI_DISSOLVE || UI_TRANSITION + half3 eParam : TEXCOORD2; +#elif UI_SHINY + half2 eParam : TEXCOORD2; +#else + half eParam : TEXCOORD2; +#endif +#if EX + half4 uvMask : TEXCOORD3; +#endif + UNITY_VERTEX_OUTPUT_STEREO +}; + +v2f vert(appdata_t IN) +{ + v2f OUT; + UNITY_SETUP_INSTANCE_ID(IN); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT); + OUT.worldPosition = IN.vertex; + OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); + + #if UI_EFFECT + OUT.texcoord = UnpackToVec2(IN.texcoord.x) * 2 - 0.5; + #else + OUT.texcoord = UnpackToVec2(IN.texcoord.x); + #endif + + #ifdef UNITY_HALF_TEXEL_OFFSET + OUT.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1); + #endif + + OUT.color = IN.color * _Color; + + #if UI_DISSOLVE || UI_TRANSITION + OUT.eParam = UnpackToVec3(IN.texcoord.y); + #elif UI_SHINY + OUT.eParam = UnpackToVec2(IN.texcoord.y); + #else + OUT.eParam = IN.texcoord.y; + #endif + + #if EX + OUT.uvMask = half4(UnpackToVec2(IN.uvMask.x), UnpackToVec2(IN.uvMask.y)); + #endif + + return OUT; +} + +#endif // UI_EFFECT_SPRITE_INCLUDED diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc.meta new file mode 100644 index 0000000..d38f494 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Sprite.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dd60a36b172cf49e2b82258a68799ce3 +timeCreated: 1487915863 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Transition.shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Transition.shader new file mode 100644 index 0000000..ec53f75 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Transition.shader @@ -0,0 +1,87 @@ +Shader "UI/Hidden/UI-Effect-Transition" +{ + Properties + { + [PerRendererData] _MainTex ("Main Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + [Header(Transition)] + _NoiseTex ("Transition Texture (A)", 2D) = "white" {} + _ParamTex ("Parameter Texture", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + Name "Default" + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #define REVERSE 1 + #define ADD 1 + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #pragma shader_feature __ FADE CUTOFF DISSOLVE + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #define UI_TRANSITION 1 + #include "UI-Effect.cginc" + #include "UI-Effect-Sprite.cginc" + + fixed4 frag(v2f IN) : SV_Target + { + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd); + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + + color = ApplyTransitionEffect(color, IN.eParam) * IN.color; + + #if UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + return color; + } + ENDCG + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Transition.shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Transition.shader.meta new file mode 100644 index 0000000..3f6004c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect-Transition.shader.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 85ad24dd0759947ddb117625e108d49c +timeCreated: 1548078121 +licenseType: Pro +ShaderImporter: + defaultTextures: + - _MainTex: {instanceID: 0} + - _NoiseTex: {fileID: 2800000, guid: 3e04c247fb2604af186173fce0bc62de, type: 3} + - _ParamTex: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc new file mode 100644 index 0000000..cb9271c --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc @@ -0,0 +1,309 @@ +#ifndef UI_EFFECT_INCLUDED +#define UI_EFFECT_INCLUDED + + +sampler2D _NoiseTex; +sampler2D _ParamTex; + +#if GRAYSCALE | SEPIA | NEGA | PIXEL | MONO | CUTOFF | HUE +#define UI_TONE +#endif + +#if ADD | SUBTRACT | FILL +#define UI_COLOR +#endif + +#if FASTBLUR | MEDIUMBLUR | DETAILBLUR +#define UI_BLUR +#endif + +// Unpack float to low-precision [0-1] fixed4. +fixed4 UnpackToVec4(float value) +{ + const int PACKER_STEP = 64; + const int PRECISION = PACKER_STEP - 1; + fixed4 unpacked; + + unpacked.x = (value % PACKER_STEP) / PRECISION; + value = floor(value / PACKER_STEP); + + unpacked.y = (value % PACKER_STEP) / PRECISION; + value = floor(value / PACKER_STEP); + + unpacked.z = (value % PACKER_STEP) / PRECISION; + value = floor(value / PACKER_STEP); + + unpacked.w = (value % PACKER_STEP) / PRECISION; + return unpacked; +} + +// Unpack float to low-precision [0-1] fixed3. +fixed3 UnpackToVec3(float value) +{ + const int PACKER_STEP = 256; + const int PRECISION = PACKER_STEP - 1; + fixed3 unpacked; + + unpacked.x = (value % (PACKER_STEP)) / (PACKER_STEP - 1); + value = floor(value / (PACKER_STEP)); + + unpacked.y = (value % PACKER_STEP) / (PACKER_STEP - 1); + value = floor(value / PACKER_STEP); + + unpacked.z = (value % PACKER_STEP) / (PACKER_STEP - 1); + return unpacked; +} + +// Unpack float to low-precision [0-1] half2. +half2 UnpackToVec2(float value) +{ + const int PACKER_STEP = 4096; + const int PRECISION = PACKER_STEP - 1; + half2 unpacked; + + unpacked.x = (value % (PACKER_STEP)) / (PACKER_STEP - 1); + value = floor(value / (PACKER_STEP)); + + unpacked.y = (value % PACKER_STEP) / (PACKER_STEP - 1); + return unpacked; +} + +// Sample texture with blurring. +// * Fast: Sample texture with 3x3 kernel. +// * Medium: Sample texture with 5x5 kernel. +// * Detail: Sample texture with 7x7 kernel. +fixed4 Tex2DBlurring (sampler2D tex, half2 texcood, half2 blur, half4 mask) +{ + #if FASTBLUR && EX + const int KERNEL_SIZE = 5; + const float KERNEL_[5] = { 0.2486, 0.7046, 1.0, 0.7046, 0.2486}; + #elif MEDIUMBLUR && EX + const int KERNEL_SIZE = 9; + const float KERNEL_[9] = { 0.0438, 0.1719, 0.4566, 0.8204, 1.0, 0.8204, 0.4566, 0.1719, 0.0438}; + #elif DETAILBLUR && EX + const int KERNEL_SIZE = 13; + const float KERNEL_[13] = { 0.0438, 0.1138, 0.2486, 0.4566, 0.7046, 0.9141, 1.0, 0.9141, 0.7046, 0.4566, 0.2486, 0.1138, 0.0438}; + #elif FASTBLUR + const int KERNEL_SIZE = 3; + const float KERNEL_[3] = { 0.4566, 1.0, 0.4566}; + #elif MEDIUMBLUR + const int KERNEL_SIZE = 5; + const float KERNEL_[5] = { 0.2486, 0.7046, 1.0, 0.7046, 0.2486}; + #elif DETAILBLUR + const int KERNEL_SIZE = 7; + const float KERNEL_[7] = { 0.1719, 0.4566, 0.8204, 1.0, 0.8204, 0.4566, 0.1719}; + #else + const int KERNEL_SIZE = 1; + const float KERNEL_[1] = { 1.0 }; + #endif + float4 o = 0; + float sum = 0; + float2 shift = 0; + for(int x = 0; x < KERNEL_SIZE; x++) + { + shift.x = blur.x * (float(x) - KERNEL_SIZE/2); + for(int y = 0; y < KERNEL_SIZE; y++) + { + shift.y = blur.y * (float(y) - KERNEL_SIZE/2); + float2 uv = texcood + shift; + float weight = KERNEL_[x] * KERNEL_[y]; + sum += weight; + #if EX + fixed masked = min(mask.x <= uv.x, uv.x <= mask.z) * min(mask.y <= uv.y, uv.y <= mask.w); + o += lerp(fixed4(0.5, 0.5, 0.5, 0), tex2D(tex, uv), masked) * weight; + #else + o += tex2D(tex, uv) * weight; + #endif + } + } + return o / sum; +} + +// Sample texture with blurring. +// * Fast: Sample texture with 3x3 kernel. +// * Medium: Sample texture with 5x5 kernel. +// * Detail: Sample texture with 7x7 kernel. +fixed4 Tex2DBlurring (sampler2D tex, half2 texcood, half2 blur) +{ + return Tex2DBlurring(tex, texcood, blur, half4(0,0,1,1)); +} + + +// Sample texture with blurring. +// * Fast: Sample texture with 3x1 kernel. +// * Medium: Sample texture with 5x1 kernel. +// * Detail: Sample texture with 7x1 kernel. +fixed4 Tex2DBlurring1D (sampler2D tex, half2 uv, half2 blur) +{ + #if FASTBLUR + const int KERNEL_SIZE = 3; + #elif MEDIUMBLUR + const int KERNEL_SIZE = 5; + #elif DETAILBLUR + const int KERNEL_SIZE = 7; + #else + const int KERNEL_SIZE = 1; + #endif + float4 o = 0; + float sum = 0; + float weight; + half2 texcood; + for(int i = -KERNEL_SIZE/2; i <= KERNEL_SIZE/2; i++) + { + texcood = uv; + texcood.x += blur.x * i; + texcood.y += blur.y * i; + weight = 1.0/(abs(i)+2); + o += tex2D(tex, texcood)*weight; + sum += weight; + } + return o / sum; +} + +fixed3 shift_hue(fixed3 RGB, half VSU, half VSW) +{ + fixed3 result; + result.x = (0.299 + 0.701*VSU + 0.168*VSW)*RGB.x + + (0.587 - 0.587*VSU + 0.330*VSW)*RGB.y + + (0.114 - 0.114*VSU - 0.497*VSW)*RGB.z; + + result.y = (0.299 - 0.299*VSU - 0.328*VSW)*RGB.x + + (0.587 + 0.413*VSU + 0.035*VSW)*RGB.y + + (0.114 - 0.114*VSU + 0.292*VSW)*RGB.z; + + result.z = (0.299 - 0.3*VSU + 1.25*VSW)*RGB.x + + (0.587 - 0.588*VSU - 1.05*VSW)*RGB.y + + (0.114 + 0.886*VSU - 0.203*VSW)*RGB.z; + + return result; +} + +// Apply tone effect. +fixed4 ApplyToneEffect(fixed4 color, fixed factor) +{ + #ifdef GRAYSCALE + color.rgb = lerp(color.rgb, Luminance(color.rgb), factor); + + #elif SEPIA + color.rgb = lerp(color.rgb, Luminance(color.rgb) * half3(1.07, 0.74, 0.43), factor); + + #elif NEGA + color.rgb = lerp(color.rgb, 1 - color.rgb, factor); + #endif + + return color; +} + +// Apply color effect. +fixed4 ApplyColorEffect(half4 color, half4 factor) +{ + #if FILL + color.rgb = lerp(color.rgb, factor.rgb, factor.a); + + #elif ADD + color.rgb += factor.rgb * factor.a; + + #elif SUBTRACT + color.rgb -= factor.rgb * factor.a; + + #else + color.rgb = lerp(color.rgb, color.rgb * factor.rgb, factor.a); + #endif + + #if CUTOFF + color.a = factor.a; + #endif + + return color; +} + +// Apply transition effect. +fixed4 ApplyTransitionEffect(half4 color, half3 transParam) +{ + fixed4 param = tex2D(_ParamTex, float2(0.25, transParam.z)); + float alpha = tex2D(_NoiseTex, transParam.xy).a; + + #if REVERSE + fixed effectFactor = 1 - param.x; + #else + fixed effectFactor = param.x; + #endif + + #if FADE + color.a *= saturate(alpha + (1 - effectFactor * 2)); + #elif CUTOFF + color.a *= step(0.001, color.a * alpha - effectFactor); + #elif DISSOLVE + fixed width = param.y/4; + fixed softness = param.z; + fixed3 dissolveColor = tex2D(_ParamTex, float2(0.75, transParam.z)).rgb; + float factor = alpha - effectFactor * ( 1 + width ) + width; + fixed edgeLerp = step(factor, color.a) * saturate((width - factor)*16/ softness); + color = ApplyColorEffect(color, fixed4(dissolveColor, edgeLerp)); + color.a *= saturate((factor)*32/ softness); + #endif + + return color; +} + + +// Apply shiny effect. +half4 ApplyShinyEffect(half4 color, half2 shinyParam) +{ + fixed nomalizedPos = shinyParam.x; + fixed4 param1 = tex2D(_ParamTex, float2(0.25, shinyParam.y)); + fixed4 param2 = tex2D(_ParamTex, float2(0.75, shinyParam.y)); + half location = param1.x * 2 - 0.5; + fixed width = param1.y; + fixed soft = param1.z; + fixed brightness = param1.w; + fixed gloss = param2.x; + half normalized = 1 - saturate(abs((nomalizedPos - location) / width)); + half shinePower = smoothstep(0, soft*2, normalized); + half3 reflectColor = lerp(1, color.rgb * 10, gloss); + + color.rgb += color.a * (shinePower / 2) * brightness * reflectColor; + + + return color; +} + +half3 RgbToHsv(half3 c) { + half4 K = half4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + half4 p = lerp(half4(c.bg, K.wz), half4(c.gb, K.xy), step(c.b, c.g)); + half4 q = lerp(half4(p.xyw, c.r), half4(c.r, p.yzx), step(p.x, c.r)); + + half d = q.x - min(q.w, q.y); + half e = 1.0e-10; + return half3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +half3 HsvToRgb(half3 c) { + c = half3(c.x, clamp(c.yz, 0.0, 1.0)); + half4 K = half4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + half3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * lerp(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); +} + + +// Apply Hsv effect. +half4 ApplyHsvEffect(half4 color, half param) +{ + fixed4 param1 = tex2D(_ParamTex, float2(0.25, param)); + fixed4 param2 = tex2D(_ParamTex, float2(0.75, param)); + fixed3 targetHsv = param1.rgb; + + fixed3 targetRange = param1.w; + fixed3 hsvShift = param2.xyz - 0.5; + half3 hsv = RgbToHsv(color.rgb); + half3 range = abs(hsv - targetHsv); + half diff = max(max(min(1-range.x, range.x), min(1-range.y, range.y)/10), min(1-range.z, range.z)/10); + + fixed masked = step(diff, targetRange); + color.rgb = HsvToRgb(hsv + hsvShift * masked); + + return color; +} + + +#endif // UI_EFFECT_INCLUDED diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc.meta new file mode 100644 index 0000000..9fd2f81 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7467061e9f5514f2c80e30817ee2458b +timeCreated: 1487915863 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.shader new file mode 100644 index 0000000..993c045 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.shader @@ -0,0 +1,113 @@ +Shader "UI/Hidden/UI-Effect" +{ + Properties + { + [PerRendererData] _MainTex ("Main Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + + _ColorMask ("Color Mask", Float) = 15 + + [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 + + _ParamTex ("Parameter Texture", 2D) = "white" {} + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="True" + "RenderType"="Transparent" + "PreviewType"="Plane" + "CanUseSpriteAtlas"="True" + } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha OneMinusSrcAlpha + ColorMask [_ColorMask] + + Pass + { + Name "Default" + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #if !defined(SHADER_API_D3D11_9X) && !defined(SHADER_API_D3D9) + #pragma target 2.0 + #else + #pragma target 3.0 + #endif + + #pragma multi_compile __ UNITY_UI_ALPHACLIP + + #pragma shader_feature __ GRAYSCALE SEPIA NEGA PIXEL + #pragma shader_feature __ ADD SUBTRACT FILL + #pragma shader_feature __ FASTBLUR MEDIUMBLUR DETAILBLUR + #pragma shader_feature __ EX + + #include "UnityCG.cginc" + #include "UnityUI.cginc" + + #define UI_EFFECT 1 + #include "UI-Effect.cginc" + #include "UI-Effect-Sprite.cginc" + + fixed4 frag(v2f IN) : SV_Target + { + fixed4 param = tex2D(_ParamTex, float2(0.5, IN.eParam)); + fixed effectFactor = param.x; + fixed colorFactor = param.y; + fixed blurFactor = param.z; + + #if PIXEL + half2 pixelSize = max(2, (1-effectFactor*0.95) * _MainTex_TexelSize.zw); + IN.texcoord = round(IN.texcoord * pixelSize) / pixelSize; + #endif + + #if defined(UI_BLUR) && EX + half4 color = (Tex2DBlurring(_MainTex, IN.texcoord, blurFactor * _MainTex_TexelSize.xy * 2, IN.uvMask) + _TextureSampleAdd); + #elif defined(UI_BLUR) + half4 color = (Tex2DBlurring(_MainTex, IN.texcoord, blurFactor * _MainTex_TexelSize.xy * 2) + _TextureSampleAdd); + #else + half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd); + #endif + + color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); + + #if UNITY_UI_ALPHACLIP + clip (color.a - 0.001); + #endif + + #if defined (UI_TONE) + color = ApplyToneEffect(color, effectFactor); + #endif + + color = ApplyColorEffect(color, fixed4(IN.color.rgb, colorFactor)); + color.a *= IN.color.a; + + return color; + } + ENDCG + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.shader.meta new file mode 100644 index 0000000..b06e4d5 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-Effect.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b868e81d0156245e08c8646b4fb68d7a +timeCreated: 1482973535 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-EffectCapture.shader b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-EffectCapture.shader new file mode 100644 index 0000000..6dd26c0 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-EffectCapture.shader @@ -0,0 +1,101 @@ +Shader "UI/Hidden/UI-EffectCapture" +{ + Properties + { + [PerRendererData] _MainTex("Main Texture", 2D) = "white" {} + } + + SubShader + { + ZTest Always + Cull Off + ZWrite Off + Fog{ Mode off } + + Pass + { + Name "Effect-Base" + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + + #pragma shader_feature __ GRAYSCALE SEPIA NEGA PIXEL + #pragma shader_feature __ ADD SUBTRACT FILL + + #include "UnityCG.cginc" + #include "UI-Effect.cginc" + + sampler2D _MainTex; + float4 _MainTex_TexelSize; + half4 _EffectFactor; + fixed4 _ColorFactor; + + v2f_img vert(appdata_img v) + { + v2f_img o; + o.pos = UnityObjectToClipPos(v.vertex); + o.uv = v.texcoord; + #if UNITY_UV_STARTS_AT_TOP + o.uv.y = 1 - o.uv.y; + #endif + return o; + } + + fixed4 frag(v2f_img IN) : SV_Target + { + half effectFactor = _EffectFactor.x; + fixed4 colorFactor = _ColorFactor; + + #if PIXEL + half2 pixelScale = max(2, (1 - effectFactor) * _MainTex_TexelSize.zw); + IN.uv = round(IN.uv * pixelScale) / pixelScale; + #endif + + half4 color = tex2D(_MainTex, IN.uv); + + #if defined (UI_TONE) + color = ApplyToneEffect(color, effectFactor); + #endif + + #if defined (UI_COLOR) + color = ApplyColorEffect(color, colorFactor); + #endif + + color.a = 1; + return color; + } + ENDCG + } + + + Pass + { + Name "Effect-Blur" + + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag_blur + #pragma target 2.0 + + #pragma shader_feature __ FASTBLUR MEDIUMBLUR DETAILBLUR + + #include "UnityCG.cginc" + #include "UI-Effect.cginc" + + sampler2D _MainTex; + float4 _MainTex_TexelSize; + half4 _EffectFactor; + + fixed4 frag_blur(v2f_img IN) : SV_Target + { + half2 blurFactor = _EffectFactor.xy; + half4 color = Tex2DBlurring1D(_MainTex, IN.uv, blurFactor * _MainTex_TexelSize.xy * 2); + color.a = 1; + return color; + } + ENDCG + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-EffectCapture.shader.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-EffectCapture.shader.meta new file mode 100644 index 0000000..1529e71 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Shaders/UI-EffectCapture.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7a6f925a07c3c5846a1c782eaaeb7087 +timeCreated: 1482973535 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect.asmdef b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect.asmdef new file mode 100644 index 0000000..e197c0e --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect.asmdef @@ -0,0 +1,3 @@ +{ + "name": "UIEffect" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect.asmdef.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect.asmdef.meta new file mode 100644 index 0000000..56f1cb9 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 085dc26d74e6f994a924d401ea41a5a8 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo.unitypackage b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo.unitypackage new file mode 100644 index 0000000..5d5079f Binary files /dev/null and b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo.unitypackage differ diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo.unitypackage.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo.unitypackage.meta new file mode 100644 index 0000000..a667185 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo.unitypackage.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f19f821c4c7ad4b629b11360fac9f22b +timeCreated: 1551703578 +licenseType: Pro +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo_2018.unitypackage b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo_2018.unitypackage new file mode 100644 index 0000000..37b244f Binary files /dev/null and b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo_2018.unitypackage differ diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo_2018.unitypackage.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo_2018.unitypackage.meta new file mode 100644 index 0000000..4601485 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/UIEffect_Demo_2018.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b19c8ef1bac404c6e95d70b6c332cd60 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/package.json b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/package.json new file mode 100644 index 0000000..c778d0d --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/package.json @@ -0,0 +1,18 @@ +{ + "name": "com.coffee.uieffect", + "displayName": "UIEffect", + "description": " UIEffect is an effect component for uGUI element in Unity.\nLet's decorate your UI with effects!", + "version": "3.2.0", + "unity": "5.5", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/mob-sakai/UIEffect.git" + }, + "src": "Assets/Coffee/UIExtensions/UIEffect", + "author": "mob-sakai (https://github.com/mob-sakai)", + "editorOnly": false, + "upmSupport": false, + "dependencies": { + } +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/package.json.meta b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/package.json.meta new file mode 100644 index 0000000..eff904e --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/package.json.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 546af75b6221c4768be79d67c9cea1fb +timeCreated: 1547605752 +licenseType: Pro +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.XML b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.XML similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.XML rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.XML diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.XML.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.XML.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.XML.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.dll.mdb b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.dll.mdb rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.dll.mdb.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.dll.mdb.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.dll.mdb.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.dll.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.dll.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/DOTween.dll.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.XML.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenIcon.png.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/DOTweenMiniIcon.png.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer.png.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Footer_dark.png.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Editor/Imgs/Header.jpg.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTween.Modules.asmdef b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTween.Modules.asmdef new file mode 100644 index 0000000..8cabb01 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTween.Modules.asmdef @@ -0,0 +1,3 @@ +{ + "name": "DOTween.Modules" +} diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTween.Modules.asmdef.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTween.Modules.asmdef.meta new file mode 100644 index 0000000..73dff43 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTween.Modules.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8350667e85f303c45b87c765f5c257d3 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleEPOOutline.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUI.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/Modules/DOTweenModuleUtils.cs.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/readme.txt b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/readme.txt similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/readme.txt rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/readme.txt diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/readme.txt.meta b/AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/readme.txt.meta similarity index 100% rename from AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/readme.txt.meta rename to AxibugEmuOnline.Client/Assets/Plugins/Demigiant/DOTween/readme.txt.meta diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.dll b/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.dll deleted file mode 100644 index 57112d3..0000000 Binary files a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/DOTween.dll and /dev/null differ diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll b/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll deleted file mode 100644 index 4911a86..0000000 Binary files a/AxibugEmuOnline.Client/Assets/Plugins/Plugins/Demigiant/DOTween/Editor/DOTweenEditor.dll and /dev/null differ diff --git a/AxibugEmuOnline.Client/Assets/Resources/DOTweenSettings.asset b/AxibugEmuOnline.Client/Assets/Resources/DOTweenSettings.asset new file mode 100644 index 0000000..e75d697 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/DOTweenSettings.asset @@ -0,0 +1,54 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 16995157, guid: a811bde74b26b53498b4f6d872b09b6d, type: 3} + m_Name: DOTweenSettings + m_EditorClassIdentifier: + useSafeMode: 1 + safeModeOptions: + logBehaviour: 2 + nestedTweenFailureBehaviour: 0 + timeScale: 1 + unscaledTimeScale: 1 + useSmoothDeltaTime: 0 + maxSmoothUnscaledTime: 0.15 + rewindCallbackMode: 0 + showUnityEditorReport: 0 + logBehaviour: 0 + drawGizmos: 1 + defaultRecyclable: 0 + defaultAutoPlay: 3 + defaultUpdateType: 0 + defaultTimeScaleIndependent: 0 + defaultEaseType: 6 + defaultEaseOvershootOrAmplitude: 1.70158 + defaultEasePeriod: 0 + defaultAutoKill: 1 + defaultLoopType: 0 + debugMode: 0 + debugStoreTargetId: 1 + showPreviewPanel: 1 + storeSettingsLocation: 0 + modules: + showPanel: 0 + audioEnabled: 1 + physicsEnabled: 1 + physics2DEnabled: 1 + spriteEnabled: 1 + uiEnabled: 1 + textMeshProEnabled: 0 + tk2DEnabled: 0 + deAudioEnabled: 0 + deUnityExtendedEnabled: 0 + epoOutlineEnabled: 0 + createASMDEF: 1 + showPlayingTweens: 0 + showPausedTweens: 0 diff --git a/AxibugEmuOnline.Client/Assets/Resources/DOTweenSettings.asset.meta b/AxibugEmuOnline.Client/Assets/Resources/DOTweenSettings.asset.meta new file mode 100644 index 0000000..fdd2c72 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/DOTweenSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e85c7901fcc4094688cf9a103239dae +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LanchUI.prefab b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LanchUI.prefab index f52bb10..1c39731 100644 --- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LanchUI.prefab +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LanchUI.prefab @@ -49,15 +49,18 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fb4f275956ba18440b061e92278f13cd, type: 3} m_Name: m_EditorClassIdentifier: + m_menuItemRoot: {fileID: 7102897325704768026} GroupRoot: {fileID: 5247317738185020566} Template: {fileID: 2502609279043838113, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} MenuSetting: - Icon: {fileID: 21300000, guid: 1b52cdd34b39a8c4fa0dad6f2007e2f3, type: 3} Name: Game + Description: + SubMenus: [] - Icon: {fileID: 21300000, guid: c300d49e84cf0fb4186c750320e50146, type: 3} Name: Settings - SelectScale: 1 - UnSelectScale: 0.85 + Description: + SubMenus: [] HoriRollSpd: 1500 --- !u!1 &1639091783724093882 GameObject: diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LoopShadow.anim b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LoopShadow.anim new file mode 100644 index 0000000..a140471 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LoopShadow.anim @@ -0,0 +1,134 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: LoopShadow + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0.36078432 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_EffectColor.a + path: + classID: 114 + script: {fileID: 11500000, guid: 0848bff101191904ead4bb831f7084db, type: 3} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 1760254681 + script: {fileID: 11500000, guid: 0848bff101191904ead4bb831f7084db, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 2 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0.36078432 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_EffectColor.a + path: + classID: 114 + script: {fileID: 11500000, guid: 0848bff101191904ead4bb831f7084db, type: 3} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LoopShadow.anim.meta b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LoopShadow.anim.meta new file mode 100644 index 0000000..d08088f --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LoopShadow.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1c2af78ffda3e4d409570e416b5bab4d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.controller b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.controller new file mode 100644 index 0000000..de59ea8 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MenuItemTemplate + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 67293628948416311} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1107 &67293628948416311 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 5956899137579874003} + m_Position: {x: 340, y: 100, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 5956899137579874003} +--- !u!1102 &5956899137579874003 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DEFAULT + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 1c2af78ffda3e4d409570e416b5bab4d, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.controller.meta b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.controller.meta new file mode 100644 index 0000000..3f0282a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b3ccf7414d2ead43be0cd33b6e1b53c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.prefab b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.prefab index 74413ae..0232e4b 100644 --- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.prefab +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/MenuItemTemplate.prefab @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &869246013081636460 +--- !u!1 &1776357407830023228 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8,9 +8,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 5327483068978001103} - - component: {fileID: 610152240432455938} - - component: {fileID: 7555299022933968962} + - component: {fileID: 6087025893861054323} + - component: {fileID: 7036072602178187444} + - component: {fileID: 6771349210554360888} m_Layer: 5 m_Name: Icon m_TagString: Untagged @@ -18,13 +18,13 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &5327483068978001103 +--- !u!224 &6087025893861054323 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 869246013081636460} + m_GameObject: {fileID: 1776357407830023228} 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} @@ -34,24 +34,24 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchoredPosition: {x: -1, y: 1} m_SizeDelta: {x: 200, y: 200} m_Pivot: {x: 0.5, y: 1} ---- !u!222 &610152240432455938 +--- !u!222 &7036072602178187444 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 869246013081636460} + m_GameObject: {fileID: 1776357407830023228} m_CullTransparentMesh: 1 ---- !u!114 &7555299022933968962 +--- !u!114 &6771349210554360888 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 869246013081636460} + m_GameObject: {fileID: 1776357407830023228} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -105,6 +105,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 8754483333502849411} + - {fileID: 3226730524206505336} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -125,9 +126,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8e5baf5f72cf1954196a3a0346c2b1be, type: 3} m_Name: m_EditorClassIdentifier: - Icon: {fileID: 7555299022933968962} + Icon: {fileID: 6771349210554360888} Txt: {fileID: 991446423622995247} + Descript: {fileID: 0} Root: {fileID: 8754483333502849411} + ShadowIcon: {fileID: 0} + SubMenuItemGroup: {fileID: 2060695589654091386} SelectScale: 1 UnSelectScale: 0.85 --- !u!114 &5700455559359757662 @@ -229,6 +233,113 @@ MonoBehaviour: m_VerticalOverflow: 1 m_LineSpacing: 1 m_Text: NAME +--- !u!1 &8218630550162509793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3226730524206505336} + - component: {fileID: 7478613319365725124} + - component: {fileID: 6947842073264115296} + - component: {fileID: 2060695589654091386} + - component: {fileID: 6355204462360987243} + m_Layer: 5 + m_Name: SubMenuGroup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3226730524206505336 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8218630550162509793} + 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: 1998281097548910301} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: -60} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &7478613319365725124 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8218630550162509793} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &6947842073264115296 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8218630550162509793} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 1 + m_Spacing: 30 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &2060695589654091386 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8218630550162509793} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ed40f0945dba47e409627739ce124125, type: 3} + m_Name: + m_EditorClassIdentifier: + m_menuItemRoot: {fileID: 3226730524206505336} + SubMenuItemTemplate: {fileID: 2502609279043838113, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + layoutGroup: {fileID: 0} + alphaGroup: {fileID: 6355204462360987243} +--- !u!225 &6355204462360987243 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8218630550162509793} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 --- !u!1 &8290338740711049006 GameObject: m_ObjectHideFlags: 0 @@ -256,7 +367,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 5327483068978001103} + - {fileID: 6087025893861054323} - {fileID: 6095356919362338847} m_Father: {fileID: 1998281097548910301} m_RootOrder: 0 diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SubMenuItemTemplate.prefab b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SubMenuItemTemplate.prefab new file mode 100644 index 0000000..63d2b92 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SubMenuItemTemplate.prefab @@ -0,0 +1,573 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &29419265480821815 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8126322204359135913} + - component: {fileID: 2718916271043989317} + - component: {fileID: 3380485461544738227} + m_Layer: 5 + m_Name: Descript + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8126322204359135913 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 29419265480821815} + 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: 8789823129857705082} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 33} + m_Pivot: {x: 0, y: 1} +--- !u!222 &2718916271043989317 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 29419265480821815} + m_CullTransparentMesh: 1 +--- !u!114 &3380485461544738227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 29419265480821815} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 300 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: DESCRIPTION +--- !u!1 &734025543935719296 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1323634865265500141} + - component: {fileID: 5792146190930927166} + - component: {fileID: 2619187604372594158} + - component: {fileID: 1779247868001543556} + - component: {fileID: 4496630961732192070} + - component: {fileID: 2059277597780235898} + m_Layer: 5 + m_Name: shadowIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1323634865265500141 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734025543935719296} + 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: 6087025893861054323} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5792146190930927166 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734025543935719296} + m_CullTransparentMesh: 1 +--- !u!114 &2619187604372594158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734025543935719296} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 230e155ce0d5a8d4283675d040631efc, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1779247868001543556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734025543935719296} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f8b2ed11d675446c5a49da1ea296d490, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 300 + m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + m_EffectFactor: 0 + m_ColorFactor: 0 + m_BlurFactor: 0 + m_EffectMode: 0 + m_ColorMode: 1 + m_BlurMode: 3 + m_AdvancedBlur: 1 + m_ShadowBlur: 1 + m_ShadowStyle: 0 + m_ShadowColor: {r: 0, g: 0, b: 0, a: 1} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 + m_EffectColor: {r: 1, g: 1, b: 1, a: 1} + m_AdditionalShadows: [] +--- !u!114 &4496630961732192070 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734025543935719296} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0848bff101191904ead4bb831f7084db, type: 3} + m_Name: + m_EditorClassIdentifier: + m_BlurFactor: 1 + m_Style: 3 + m_AdditionalShadows: [] + m_EffectColor: {r: 1, g: 1, b: 1, a: 0} + m_EffectDistance: {x: 8, y: 8} + m_UseGraphicAlpha: 0 +--- !u!95 &2059277597780235898 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734025543935719296} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 0b3ccf7414d2ead43be0cd33b6e1b53c, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!1 &1776357407830023228 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6087025893861054323} + - component: {fileID: 7036072602178187444} + - component: {fileID: 6771349210554360888} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6087025893861054323 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776357407830023228} + 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: + - {fileID: 1323634865265500141} + m_Father: {fileID: 8754483333502849411} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &7036072602178187444 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776357407830023228} + m_CullTransparentMesh: 1 +--- !u!114 &6771349210554360888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776357407830023228} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 230e155ce0d5a8d4283675d040631efc, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &3189920797946144379 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1998281097548910301} + - component: {fileID: 2502609279043838113} + - component: {fileID: 5700455559359757662} + m_Layer: 5 + m_Name: SubMenuItemTemplate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1998281097548910301 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3189920797946144379} + 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: + - {fileID: 8754483333502849411} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 102} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &2502609279043838113 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3189920797946144379} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e5baf5f72cf1954196a3a0346c2b1be, type: 3} + m_Name: + m_EditorClassIdentifier: + Icon: {fileID: 6771349210554360888} + Txt: {fileID: 991446423622995247} + Descript: {fileID: 3380485461544738227} + Root: {fileID: 8754483333502849411} + ShadowIcon: {fileID: 2619187604372594158} + SubMenuItemGroup: {fileID: 0} + SelectScale: 1 + UnSelectScale: 1 +--- !u!114 &5700455559359757662 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3189920797946144379} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 200 + m_PreferredHeight: 230 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &3993825260653792697 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8789823129857705082} + - component: {fileID: 3252398029444565139} + - component: {fileID: 4972426757569440742} + m_Layer: 5 + m_Name: InfoNode + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8789823129857705082 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3993825260653792697} + 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: + - {fileID: 6095356919362338847} + - {fileID: 8126322204359135913} + m_Father: {fileID: 8754483333502849411} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &3252398029444565139 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3993825260653792697} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &4972426757569440742 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3993825260653792697} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 2 +--- !u!1 &5340761592919397836 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6095356919362338847} + - component: {fileID: 7651669947470814669} + - component: {fileID: 991446423622995247} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6095356919362338847 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5340761592919397836} + 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: 8789823129857705082} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 33} + m_Pivot: {x: 0, y: 1} +--- !u!222 &7651669947470814669 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5340761592919397836} + m_CullTransparentMesh: 1 +--- !u!114 &991446423622995247 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5340761592919397836} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 300 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: NAME +--- !u!1 &8290338740711049006 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8754483333502849411} + m_Layer: 5 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8754483333502849411 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8290338740711049006} + 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: + - {fileID: 6087025893861054323} + - {fileID: 8789823129857705082} + m_Father: {fileID: 1998281097548910301} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SubMenuItemTemplate.prefab.meta b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SubMenuItemTemplate.prefab.meta new file mode 100644 index 0000000..ceb83f9 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/SubMenuItemTemplate.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 01f3c5497992f944eae9b9efa15a19c2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Scene/AxibugEmuOnline.Client.unity b/AxibugEmuOnline.Client/Assets/Scene/AxibugEmuOnline.Client.unity index e7ac17f..577de09 100644 --- a/AxibugEmuOnline.Client/Assets/Scene/AxibugEmuOnline.Client.unity +++ b/AxibugEmuOnline.Client/Assets/Scene/AxibugEmuOnline.Client.unity @@ -123,6 +123,167 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1001 &45097644 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 243016205} + m_Modifications: + - target: {fileID: 991446423622995247, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Material + value: + objectReference: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + - target: {fileID: 3189920797946144379, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Name + value: SubMenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3380485461544738227, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} --- !u!1001 &145980465 PrefabInstance: m_ObjectHideFlags: 0 @@ -370,6 +531,126 @@ PrefabInstance: propertyPath: MenuSetting.Array.data[5].Name value: Other objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.size + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.size + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.size + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.data[0].Icon + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.data[0].Name + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.data[1].Icon + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.data[1].Name + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.data[2].Icon + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.data[2].Name + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.data[0].Icon + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.data[0].Name + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.data[1].Icon + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.data[1].Name + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.data[2].Icon + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.data[2].Name + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.data[0].Icon + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.data[0].Name + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.data[1].Icon + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.data[1].Name + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.data[2].Icon + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.data[2].Name + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.data[0].Description + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.data[1].Description + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[0].SubMenus.Array.data[2].Description + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.data[0].Description + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.data[1].Description + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[1].SubMenus.Array.data[2].Description + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.data[0].Description + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.data[1].Description + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 4533431376032812611, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: MenuSetting.Array.data[2].SubMenus.Array.data[2].Description + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} - target: {fileID: 5247317738185020566, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_ChildScaleWidth value: 0 @@ -402,476 +683,7 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 7102897325704768026, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} m_PrefabInstance: {fileID: 145980465} m_PrefabAsset: {fileID: 0} ---- !u!1001 &327423675 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 145980467} - m_Modifications: - - target: {fileID: 991446423622995247, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Text - value: Other - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Pivot.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3189920797946144379, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Name - value: MenuItemTemplate - objectReference: {fileID: 0} - - target: {fileID: 7555299022933968962, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 8706af46c93329b4da3c86c0b13b886e, type: 3} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} ---- !u!1 &444626642 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 444626646} - - component: {fileID: 444626645} - - component: {fileID: 444626644} - - component: {fileID: 444626643} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &444626643 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 444626642} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &444626644 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 444626642} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1920, y: 1080} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 ---- !u!223 &444626645 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 444626642} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!224 &444626646 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 444626642} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 145980466} - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!1001 &479954634 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 145980467} - m_Modifications: - - target: {fileID: 991446423622995247, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Text - value: Other - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Pivot.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3189920797946144379, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Name - value: MenuItemTemplate - objectReference: {fileID: 0} - - target: {fileID: 7555299022933968962, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 8706af46c93329b4da3c86c0b13b886e, type: 3} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} ---- !u!1 &537454904 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 537454906} - - component: {fileID: 537454905} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &537454905 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 537454904} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &537454906 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 537454904} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &589359925 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 589359928} - - component: {fileID: 589359927} - - component: {fileID: 589359926} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &589359926 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 589359925} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &589359927 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 589359925} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &589359928 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 589359925} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1231572498 +--- !u!1001 &243016204 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -970,13 +782,22 @@ PrefabInstance: propertyPath: m_Name value: MenuItemTemplate objectReference: {fileID: 0} - - target: {fileID: 7555299022933968962, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + - target: {fileID: 3226730524206505336, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} propertyPath: m_Sprite value: objectReference: {fileID: 21300000, guid: c300d49e84cf0fb4186c750320e50146, type: 3} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} ---- !u!1 &1355724343 +--- !u!224 &243016205 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3226730524206505336, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + m_PrefabInstance: {fileID: 243016204} + m_PrefabAsset: {fileID: 0} +--- !u!1 &444626642 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -984,230 +805,192 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1355724346} - - component: {fileID: 1355724345} - - component: {fileID: 1355724344} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &1355724344 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1355724343} - m_Enabled: 1 ---- !u!20 &1355724345 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1355724343} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &1355724346 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1355724343} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1374496054 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 145980467} - m_Modifications: - - target: {fileID: 991446423622995247, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Text - value: Other - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Pivot.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3189920797946144379, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Name - value: MenuItemTemplate - objectReference: {fileID: 0} - - target: {fileID: 7555299022933968962, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 8706af46c93329b4da3c86c0b13b886e, type: 3} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} ---- !u!1 &1498586261 -GameObject: - m_ObjectHideFlags: 3 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1498586263} - - component: {fileID: 1498586262} - m_Layer: 0 - m_Name: UndoProRecords + - component: {fileID: 444626646} + - component: {fileID: 444626645} + - component: {fileID: 444626644} + - component: {fileID: 444626643} + m_Layer: 5 + m_Name: Canvas m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1498586262 +--- !u!114 &444626643 MonoBehaviour: - m_ObjectHideFlags: 3 + m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1498586261} + m_GameObject: {fileID: 444626642} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: df9ab10aeab793d47a27405557d0b929, type: 3} + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!4 &1498586263 -Transform: - m_ObjectHideFlags: 3 + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &444626644 +MonoBehaviour: + m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1498586261} + m_GameObject: {fileID: 444626642} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &444626645 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 444626642} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 1 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &444626646 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 444626642} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 145980466} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &537454904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 537454906} + - component: {fileID: 537454905} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &537454905 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 537454904} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &537454906 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 537454904} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1655001603 + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1001 &553985382 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -1306,13 +1089,410 @@ PrefabInstance: propertyPath: m_Name value: MenuItemTemplate objectReference: {fileID: 0} - - target: {fileID: 7555299022933968962, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + - target: {fileID: 3226730524206505336, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} propertyPath: m_Sprite value: objectReference: {fileID: 21300000, guid: 1b52cdd34b39a8c4fa0dad6f2007e2f3, type: 3} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} ---- !u!1001 &2145107408 +--- !u!224 &553985383 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3226730524206505336, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + m_PrefabInstance: {fileID: 553985382} + m_PrefabAsset: {fileID: 0} +--- !u!1 &589359925 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 589359928} + - component: {fileID: 589359927} + - component: {fileID: 589359926} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &589359926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589359925} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &589359927 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589359925} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &589359928 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 589359925} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &660126394 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1867714935} + m_Modifications: + - target: {fileID: 991446423622995247, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Material + value: + objectReference: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + - target: {fileID: 3189920797946144379, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Name + value: SubMenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3380485461544738227, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} +--- !u!1001 &666280539 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1867714935} + m_Modifications: + - target: {fileID: 991446423622995247, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Material + value: + objectReference: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + - target: {fileID: 3189920797946144379, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Name + value: SubMenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3380485461544738227, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} +--- !u!1001 &724770819 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 @@ -1411,9 +1591,1425 @@ PrefabInstance: propertyPath: m_Name value: MenuItemTemplate objectReference: {fileID: 0} - - target: {fileID: 7555299022933968962, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + - target: {fileID: 6771349210554360888, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} propertyPath: m_Sprite value: objectReference: {fileID: 21300000, guid: 8706af46c93329b4da3c86c0b13b886e, type: 3} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} +--- !u!1001 &764812052 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 553985383} + m_Modifications: + - target: {fileID: 991446423622995247, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Material + value: + objectReference: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + - target: {fileID: 3189920797946144379, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Name + value: SubMenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3380485461544738227, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} +--- !u!1001 &1266140427 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 243016205} + m_Modifications: + - target: {fileID: 991446423622995247, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Material + value: + objectReference: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + - target: {fileID: 3189920797946144379, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Name + value: SubMenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3380485461544738227, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} +--- !u!1 &1355724343 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1355724346} + - component: {fileID: 1355724345} + - component: {fileID: 1355724344} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1355724344 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1355724343} + m_Enabled: 1 +--- !u!20 &1355724345 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1355724343} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1355724346 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1355724343} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1428475500 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1867714935} + m_Modifications: + - target: {fileID: 991446423622995247, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Material + value: + objectReference: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + - target: {fileID: 3189920797946144379, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Name + value: SubMenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3380485461544738227, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} +--- !u!1001 &1454824047 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 243016205} + m_Modifications: + - target: {fileID: 991446423622995247, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Material + value: + objectReference: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + - target: {fileID: 3189920797946144379, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Name + value: SubMenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3380485461544738227, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} +--- !u!1001 &1460568287 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 553985383} + m_Modifications: + - target: {fileID: 991446423622995247, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Material + value: + objectReference: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + - target: {fileID: 3189920797946144379, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Name + value: SubMenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3380485461544738227, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} +--- !u!1001 &1466635115 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 145980467} + m_Modifications: + - target: {fileID: 991446423622995247, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Text + value: Other + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3189920797946144379, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Name + value: MenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 8706af46c93329b4da3c86c0b13b886e, type: 3} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} +--- !u!1 &1498586261 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1498586263} + - component: {fileID: 1498586262} + m_Layer: 0 + m_Name: UndoProRecords + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1498586262 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1498586261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df9ab10aeab793d47a27405557d0b929, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1498586263 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1498586261} + 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: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1613009174 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 145980467} + m_Modifications: + - target: {fileID: 991446423622995247, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Text + value: Other + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3189920797946144379, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Name + value: MenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 8706af46c93329b4da3c86c0b13b886e, type: 3} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} +--- !u!1001 &1670217983 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 553985383} + m_Modifications: + - target: {fileID: 991446423622995247, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: NES/Famicon + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 102 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 2619187604372594158, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Material + value: + objectReference: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2} + - target: {fileID: 3189920797946144379, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Name + value: SubMenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3380485461544738227, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Text + value: "\u4EFB\u5929\u5802NES ROM" + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6095356919362338847, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 66723da38697d4f499a1960251e93833, type: 3} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8126322204359135913, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8789823129857705082, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3} +--- !u!1001 &1867714934 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 145980467} + m_Modifications: + - target: {fileID: 991446423622995247, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Text + value: Other + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1998281097548910301, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3189920797946144379, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Name + value: MenuItemTemplate + objectReference: {fileID: 0} + - target: {fileID: 3226730524206505336, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6771349210554360888, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 8706af46c93329b4da3c86c0b13b886e, type: 3} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} +--- !u!224 &1867714935 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3226730524206505336, guid: ece591129eb9bcc48bd83ec153c98018, type: 3} + m_PrefabInstance: {fileID: 1867714934} + m_PrefabAsset: {fileID: 0} diff --git a/AxibugEmuOnline.Client/Assets/Script/AxibugEmuOnline.Client.asmdef b/AxibugEmuOnline.Client/Assets/Script/AxibugEmuOnline.Client.asmdef index 46da217..d86155f 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AxibugEmuOnline.Client.asmdef +++ b/AxibugEmuOnline.Client/Assets/Script/AxibugEmuOnline.Client.asmdef @@ -2,7 +2,8 @@ "name": "AxibugEmuOnline.Client", "rootNamespace": "AxibugEmuOnline.Client", "references": [ - "GUID:390a2c4058e5c304a87e8be70c84d80b" + "GUID:390a2c4058e5c304a87e8be70c84d80b", + "GUID:085dc26d74e6f994a924d401ea41a5a8" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/MainMenu.cs b/AxibugEmuOnline.Client/Assets/Script/UI/MainMenu.cs index 62853aa..774c570 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/MainMenu.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/MainMenu.cs @@ -8,76 +8,49 @@ using UnityEngine.UI; namespace AxibugEmuOnline.Client.UI { - public class MainMenu : MonoBehaviour + public class MainMenu : MenuItemController { [SerializeField] HorizontalLayoutGroup GroupRoot; [SerializeField] MenuItem Template; [SerializeField] - List MenuSetting; + List MenuSetting; [SerializeField] float HoriRollSpd = 1f; - private RectTransform groupRootRect => GroupRoot.transform as RectTransform; - private List m_runtimeMenuUI = new List(); + private RectTransform groupRootRect => m_menuItemRoot as RectTransform; - private int m_selectIndex; private TweenerCore rollTween; - public int SelectIndex + + protected override void OnSelectMenuChanged() { - get => m_selectIndex; - set - { - value = Mathf.Clamp(value, 0, m_runtimeMenuUI.Count - 1); - m_selectIndex = value; + var step = GroupRoot.spacing; + var needSelectItem = m_runtimeMenuUI[SelectIndex]; + var offset = needSelectItem.Rect.anchoredPosition.x; - var step = GroupRoot.spacing; - var needSelectItem = m_runtimeMenuUI[value]; - var offset = needSelectItem.Rect.anchoredPosition.x; + var targetPosition = groupRootRect.anchoredPosition; + targetPosition.x = -offset; - var targetPosition = groupRootRect.anchoredPosition; - targetPosition.x = -offset; + if (rollTween != null) { rollTween.Kill(); rollTween = null; } - if (rollTween != null) { rollTween.Kill(); rollTween = null; } - - rollTween = DOTween.To( - () => groupRootRect.anchoredPosition, - (x) => groupRootRect.anchoredPosition = x, - targetPosition, - HoriRollSpd) - .SetSpeedBased().OnUpdate(() => + rollTween = DOTween.To( + () => groupRootRect.anchoredPosition, + (x) => groupRootRect.anchoredPosition = x, + targetPosition, + HoriRollSpd) + .SetSpeedBased().OnUpdate(() => + { + for (var i = 0; i < m_runtimeMenuUI.Count; i++) { - foreach (var item in m_runtimeMenuUI) - { - var distance = Mathf.Abs(item.Rect.anchoredPosition.x + groupRootRect.anchoredPosition.x); - var selectProg = (1 - distance / 200f); - - SetSelectProgress(item, selectProg); - } - }); - } + var item = m_runtimeMenuUI[i]; + item.SetSelectState(i == SelectIndex); + } + }); } - private void SetSelectProgress(MenuItem item, float selectProg) - { - item.ControlSelectProgress(selectProg); - } - - private void Start() - { - for (int i = 0; i < GroupRoot.transform.childCount; i++) - { - Transform child = GroupRoot.transform.GetChild(i); - m_runtimeMenuUI.Add(child.GetComponent()); - } - - Canvas.ForceUpdateCanvases(); - SelectIndex = 0; - } - - private void Update() + protected override void Update() { if (Input.GetKeyDown(KeyCode.D)) SelectIndex += 1; @@ -112,9 +85,12 @@ namespace AxibugEmuOnline.Client.UI } [Serializable] - public class MainMenuData + public class MenuData { public Sprite Icon; public string Name; + public string Description; + + public List SubMenus; } } diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/MenuItem.cs b/AxibugEmuOnline.Client/Assets/Script/UI/MenuItem.cs index b172e87..9d303da 100644 --- a/AxibugEmuOnline.Client/Assets/Script/UI/MenuItem.cs +++ b/AxibugEmuOnline.Client/Assets/Script/UI/MenuItem.cs @@ -1,5 +1,10 @@ +using Coffee.UIExtensions; +using DG.Tweening; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; using UnityEngine; using UnityEngine.UI; +using static Codice.Client.BaseCommands.Import.Commit; namespace AxibugEmuOnline.Client.UI { @@ -10,26 +15,81 @@ namespace AxibugEmuOnline.Client.UI [SerializeField] Text Txt; [SerializeField] + Text Descript; + [SerializeField] Transform Root; + [SerializeField] + Image ShadowIcon; + [SerializeField] + SubMenuItemGroup SubMenuItemGroup; public float SelectScale = 1f; public float UnSelectScale = 0.85f; public RectTransform Rect => transform as RectTransform; - public void SetData(MainMenuData data) + private bool m_select; + private TweenerCore progressTween; + public float m_progress; + private void Awake() { - Icon.sprite = data.Icon; - Txt.text = data.Name; + m_select = false; + m_progress = 0f; + + if (ShadowIcon != null) ShadowIcon.gameObject.SetActive(false); + + var temp = Txt.color; + temp.a = 0; + Txt.color = temp; + if (Descript != null) + { + temp = Descript.color; + temp.a = 0; + Descript.color = temp; + } + if (ShadowIcon != null) ShadowIcon.gameObject.SetActiveEx(false); + if (SubMenuItemGroup != null) SubMenuItemGroup.SetSelect(false); } - public void ControlSelectProgress(float progress) + public void SetData(MenuData data) { - var temp = Txt.color; - temp.a = progress; - Txt.color = temp; + Icon.sprite = data.Icon; - Root.localScale = Vector3.one * Mathf.Lerp(UnSelectScale, SelectScale, progress); + if (ShadowIcon != null) ShadowIcon.sprite = data.Icon; + + Txt.text = data.Name; + if (Descript != null) Descript.text = data.Description; + + if (SubMenuItemGroup != null) + SubMenuItemGroup.Init(data.SubMenus); + } + + public void SetSelectState(bool selected) + { + if (m_select == selected) return; + + m_select = selected; + + if (ShadowIcon != null) ShadowIcon.gameObject.SetActiveEx(selected); + if (SubMenuItemGroup != null) SubMenuItemGroup.SetSelect(selected); + + if (progressTween != null) { progressTween.Kill(); progressTween = null; } + + progressTween = DOTween.To(() => m_progress, (x) => m_progress = x, m_select ? 1 : 0, 5) + .SetSpeedBased().OnUpdate(() => + { + var temp = Txt.color; + temp.a = m_progress; + Txt.color = temp; + if (Descript != null) + { + temp = Descript.color; + temp.a = m_progress; + Descript.color = temp; + } + + Root.localScale = Vector3.one * Mathf.Lerp(UnSelectScale, SelectScale, m_progress); + }); } } } diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/MenuItemController.cs b/AxibugEmuOnline.Client/Assets/Script/UI/MenuItemController.cs new file mode 100644 index 0000000..31d6d9a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/MenuItemController.cs @@ -0,0 +1,43 @@ +using AxibugEmuOnline.Client.UI; +using System.Collections.Generic; +using UnityEngine; + +namespace AxibugEmuOnline.Client +{ + public abstract class MenuItemController : MonoBehaviour + { + private int m_selectIndex; + protected List m_runtimeMenuUI = new List(); + + public int SelectIndex + { + get => m_selectIndex; + set + { + value = Mathf.Clamp(value, 0, m_runtimeMenuUI.Count - 1); + m_selectIndex = value; + + OnSelectMenuChanged(); + } + } + + [SerializeField] + protected Transform m_menuItemRoot; + + protected virtual void Start() + { + for (int i = 0; i < m_menuItemRoot.childCount; i++) + { + Transform child = m_menuItemRoot.GetChild(i); + m_runtimeMenuUI.Add(child.GetComponent()); + } + + Canvas.ForceUpdateCanvases(); + SelectIndex = 0; + } + + protected virtual void Update() { } + + protected abstract void OnSelectMenuChanged(); + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/MenuItemController.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/MenuItemController.cs.meta new file mode 100644 index 0000000..d235715 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/MenuItemController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 78a322a77f838ab40bd16d37ea7abeef +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/SubMenuItemGroup.cs b/AxibugEmuOnline.Client/Assets/Script/UI/SubMenuItemGroup.cs new file mode 100644 index 0000000..072e6d1 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/SubMenuItemGroup.cs @@ -0,0 +1,97 @@ +using AxibugEmuOnline.Client.UI; +using DG.Tweening; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +namespace AxibugEmuOnline.Client +{ + public class SubMenuItemGroup : MenuItemController + { + [SerializeField] + MenuItem SubMenuItemTemplate; + [SerializeField] + CanvasGroup alphaGroup; + private TweenerCore selectTween; + + private bool m_selected; + + private TweenerCore rollTween; + + + private void Awake() + { + m_selected = false; + alphaGroup.alpha = 0; + } + + public void Init(List menuDataList) + { + while (transform.childCount > 0) + { + DestroyImmediate(transform.GetChild(0).gameObject); + } + + foreach (MenuData menuData in menuDataList) + { + Clone(transform).SetData(menuData); + } + } + + public void SetSelect(bool select) + { + if (m_selected == select) return; + m_selected = select; + + if (selectTween != null) + { + selectTween.Kill(); + selectTween = null; + } + + if (select) + { + selectTween = DOTween.To(() => alphaGroup.alpha, (x) => alphaGroup.alpha = x, 1, 10).SetSpeedBased(); + } + else + { + selectTween = DOTween.To(() => alphaGroup.alpha, (x) => alphaGroup.alpha = x, 0, 10).SetSpeedBased(); + } + } + + protected override void OnSelectMenuChanged() + { + if (rollTween != null) { rollTween.Kill(); rollTween = null; } + + rollTween = DOTween.To(() => 1, (x) => { }, 1, 1).OnUpdate(() => + { + for (var i = 0; i < m_runtimeMenuUI.Count; i++) + { + var item = m_runtimeMenuUI[i]; + bool isSelectItem = i == SelectIndex; + item.SetSelectState(isSelectItem); + } + }); + } + + private MenuItem Clone(Transform parent) + { +#if UNITY_EDITOR + if (Application.isPlaying) + { + return GameObject.Instantiate(SubMenuItemTemplate.gameObject, parent).GetComponent(); + } + else + { + var clone = UnityEditor.PrefabUtility.InstantiatePrefab(SubMenuItemTemplate.gameObject, parent) as GameObject; + return clone.GetComponent(); + } +#else + return GameObject.Instantiate(SubMenuItemTemplate.gameObject, parent).GetComponent(); +#endif + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/UI/SubMenuItemGroup.cs.meta b/AxibugEmuOnline.Client/Assets/Script/UI/SubMenuItemGroup.cs.meta new file mode 100644 index 0000000..dae24f3 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/UI/SubMenuItemGroup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed40f0945dba47e409627739ce124125 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/Utility.cs b/AxibugEmuOnline.Client/Assets/Script/Utility.cs new file mode 100644 index 0000000..aaf66a4 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/Utility.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace AxibugEmuOnline.Client +{ + public static class Utility + { + public static void SetActiveEx(this GameObject go, bool active) + { + if (active && go.activeSelf) return; + if (!active && !go.activeSelf) return; + + go.SetActive(active); + } + } +} diff --git a/AxibugEmuOnline.Client/Assets/Script/Utility.cs.meta b/AxibugEmuOnline.Client/Assets/Script/Utility.cs.meta new file mode 100644 index 0000000..8d02d95 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/Utility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: edbaecff098b3074483116c0b438b54c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: