コード例 #1
0
        protected void RefreshCachedRenderers()
        {
            if (highlightMeshRenderer != null && renderers != null && renderers.Any())
            {
                return;
            }

            if (highlightMeshRenderer == null)
            {
                GenerateHighlightRenderer();
            }
            else
            {
                highlightMeshRenderer.enabled = false;
                highlightMeshRenderer.gameObject.SetActive(false);
            }

            renderers = HighlightUtils.FindAllIncludedRenderer(gameObject);

            if (renderers == null || renderers.Any() == false)
            {
                throw new NullReferenceException($"{name} has no renderers to be highlighted.");
            }

            highlightMeshFilter.mesh = HighlightUtils.GeneratePreviewMesh(gameObject, renderers);
        }
コード例 #2
0
        /// <summary>
        /// Creates a highlight material with given texture.
        /// </summary>
        protected virtual Material CreateHighlightMaterial(Texture mainTexture)
        {
            Shader   shader   = HighlightUtils.GetDefaultHighlightShader();
            Material material = new Material(shader)
            {
                mainTexture = mainTexture
            };

            return(material);
        }
コード例 #3
0
 /// <summary>
 /// Creates a highlight material with given color.
 /// </summary>
 protected virtual Material CreateHighlightMaterial(Color highlightColor)
 {
     return(HighlightUtils.CreateDefaultHighlightMaterial(highlightColor));
 }