diff options
author | chai <chaifix@163.com> | 2020-10-22 23:30:02 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-10-22 23:30:02 +0800 |
commit | 917e9e0b320775634dc2e710f7deac74fd0822f0 (patch) | |
tree | 637f3cccc80e7738c8a077fa3ff59218b8b18ee8 /Assets/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs | |
parent | 8268e4e308bd110dfea4ad849a7ff74e66951349 (diff) |
* amplify shader editor
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs')
-rw-r--r-- | Assets/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs new file mode 100644 index 00000000..f803ac20 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs @@ -0,0 +1,40 @@ +using UnityEngine; + +namespace AmplifyShaderEditor +{ + public static class RectExtension + { + private static Rect ValidateBoundaries( this Rect thisRect ) + { + if ( thisRect.yMin > thisRect.yMax ) + { + float yMin = thisRect.yMin; + thisRect.yMin = thisRect.yMax; + thisRect.yMax = yMin; + } + + if ( thisRect.xMin > thisRect.xMax ) + { + float xMin = thisRect.xMin; + thisRect.xMin = thisRect.xMax; + thisRect.xMax = xMin; + } + return thisRect; + } + + public static bool Includes( this Rect thisRect , Rect other ) + { + thisRect = thisRect.ValidateBoundaries(); + other = other.ValidateBoundaries(); + + if ( other.xMin >= thisRect.xMin && other.xMax <= thisRect.xMax ) + { + if ( other.yMin >= thisRect.yMin && other.yMax <= thisRect.yMax ) + { + return true; + } + } + return false; + } + } +} |