public IEdgeBuilder WithEndLineClass(GraphElementClass @class) { if (@class?.LineEndingPrefab != null) { _lineEnd = CreateLineEnding(@class); } return(this); }
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); }
public IEdgeBuilder WithClass(GraphElementClass @class) { _class = @class; return(this); }