Spline.TryRebuild C# (CSharp) Method

TryRebuild() public method

public TryRebuild ( ) : void
return void
    void TryRebuild()
    {
        if (!Application.isEditor)
            return;

        // safeguard if it's deleted from the editor
        if (GetComponent<MeshFilter>().sharedMesh == null)
            Awake();

        // go through child nodes and check if checksum matches
        float newChecksum = 0;
        CachedNodes = GetComponentsInChildren<SplineNode>().OrderBy(x => x.name).ToArray();
        foreach (var node in CachedNodes)
            newChecksum += Vector3.Dot(node.transform.position, Vector3.one);
        cacheChecksum += Width;
        cacheChecksum += SegmentRate;

        if (cacheChecksum != newChecksum)
        {
            // only rebuild mesh if checksum changed
            Rebuild();
            //Debug.Log("Rebuilt!");
            cacheChecksum = newChecksum;
        }
    }