public static List <IReplacementRenderer> FindReplacementRenderers(ReplacementRendererSource source, bool transparent = true)
        {
            List <IReplacementRenderer> replacementRenderers = new List <IReplacementRenderer>();

            if ((source & ReplacementRendererSource.Renderer) > 0)
            {
                List <Renderer> renderers = UtilityCommon.FindObjectsOfAll <Renderer>();
                foreach (Renderer renderer in renderers)
                {
                    if (transparent && !IsTransparentShader(renderer.sharedMaterial))
                    {
                        continue;
                    }

                    replacementRenderers.Add(CreateReplacementRenderer(renderer));
                }
            }
            else
            {
                if ((source & ReplacementRendererSource.ParticleSystem) > 0)
                {
                    List <ParticleSystem> particleSystems = UtilityCommon.FindObjectsOfAll <ParticleSystem>();
                    foreach (ParticleSystem particleSystem in particleSystems)
                    {
                        replacementRenderers.Add(CreateReplacementRenderer(particleSystem.GetComponent <ParticleSystemRenderer>()));
                    }
                }
            }
            if ((source & ReplacementRendererSource.CanvasRenderer) > 0)
            {
                List <CanvasRenderer> canvasRenderers = UtilityCommon.FindObjectsOfAll <CanvasRenderer>();
                foreach (CanvasRenderer canvasRender in canvasRenderers)
                {
                    replacementRenderers.Add(CreateReplacementRenderer(canvasRender));
                }
            }

            return(replacementRenderers);
        }
示例#2
0
 public Attribute[] FindAttributes <TValue>(Expression <Func <T, TValue> > expr)
 {
     return(UtilityCommon.GetMemberAttributes(expr));
 }
示例#3
0
 /// <summary>
 ///
 /// </summary>
 /// <typeparam name="TValue"></typeparam>
 /// <param name="expr"></param>
 /// <returns></returns>
 public SerializedProperty FindProperty <TValue>(Expression <Func <T, TValue> > expr)
 {
     return(serializedObject.FindProperty(UtilityCommon.GetFieldPath(expr)));
 }