예제 #1
0
        public IEdgeBuilder WithEndLineClass(GraphElementClass @class)
        {
            if (@class?.LineEndingPrefab != null)
            {
                _lineEnd = CreateLineEnding(@class);
            }

            return(this);
        }
예제 #2
0
        private GameObject CreateLineEnding(GraphElementClass @class)
        {
            var gameObject = _instantiateMethod(@class.LineEndingPrefab);
            var material   = _materialCache.GetByTexturePath(@class.TexturePath);
            var renderers  = gameObject.GetAllComponentsOfType <Renderer>();

            foreach (var renderer in renderers)
            {
                renderer.material = material;
            }

            if (@class.Scale != null)
            {
                var(scaleX, scaleY, scaleZ) = gameObject.transform.localScale;
                gameObject.transform.localScale
                    = new Vector3(scaleX * @class.Scale.Value, scaleY, scaleZ * @class.Scale.Value);
            }

            return(gameObject);
        }
예제 #3
0
 public IEdgeBuilder WithClass(GraphElementClass @class)
 {
     _class = @class;
     return(this);
 }