diff options
| author | chai <chaifix@163.com> | 2021-04-09 20:37:24 +0800 | 
|---|---|---|
| committer | chai <chaifix@163.com> | 2021-04-09 20:37:24 +0800 | 
| commit | b357a6a6d914e46c2c782f215e9f566f92663850 (patch) | |
| tree | 207c6e974fff81db29e96e3459fb3e8d3ee9aaab /Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics | |
| parent | 6c0dc6615522a7308fc7457b469521ee82130705 (diff) | |
*UI effect
Diffstat (limited to 'Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics')
| -rw-r--r-- | Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/Graphic.cs | 9 | ||||
| -rw-r--r-- | Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/GraphicRegistry.cs | 2 | 
2 files changed, 10 insertions, 1 deletions
| diff --git a/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/Graphic.cs b/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/Graphic.cs index 1ded27a..53cc1bd 100644 --- a/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/Graphic.cs +++ b/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/Graphic.cs @@ -177,9 +177,11 @@ namespace UnityEngine.UI              }          } +        // 找到父节点中最近的canvas          private void CacheCanvas()          {              var list = ListPool<Canvas>.Get(); +            // 找到所有父节点中所有canvas,从里到外              gameObject.GetComponentsInParent(false, list);              if (list.Count > 0)              { @@ -235,10 +237,14 @@ namespace UnityEngine.UI              }          } +        /// <summary>
 +        /// 提交到CanvasRenderer用这个,要应用IMaterialModifier的修改结果
 +        /// </summary>          public virtual Material materialForRendering          {              get              { +                // 在这里调用IMaterialModifier的修改                  var components = ListPool<Component>.Get();                  GetComponents(typeof(IMaterialModifier), components); @@ -380,7 +386,7 @@ namespace UnityEngine.UI          private void DoMeshGeneration()          {              if (rectTransform != null && rectTransform.rect.width >= 0 && rectTransform.rect.height >= 0) -                OnPopulateMesh(s_VertexHelper); +                OnPopulateMesh(s_VertexHelper); // 填充vertexHelper              else                  s_VertexHelper.Clear(); // clear the vertex helper so invalid graphics dont draw. @@ -394,6 +400,7 @@ namespace UnityEngine.UI              ListPool<Component>.Release(components);              s_VertexHelper.FillMesh(workerMesh); +              // 传入canvasRenderer作为mesh              canvasRenderer.SetMesh(workerMesh);          } diff --git a/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/GraphicRegistry.cs b/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/GraphicRegistry.cs index ca7eddf..0642792 100644 --- a/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/GraphicRegistry.cs +++ b/Assets/uGUI-2017.1/UnityEngine.UI/UI/Core/Graphics/GraphicRegistry.cs @@ -3,10 +3,12 @@ using UnityEngine.UI.Collections;  namespace UnityEngine.UI  { +    // 游戏中只有一份单例      public class GraphicRegistry      {          private static GraphicRegistry s_Instance; +        // 按Canvas分类统计Graphic          private readonly Dictionary<Canvas, IndexedSet<Graphic>> m_Graphics = new Dictionary<Canvas, IndexedSet<Graphic>>();          protected GraphicRegistry() | 
