void DestroyCanvas() { int numBrains = CinemachineCore.Instance.BrainCount; for (int i = 0; i < numBrains; ++i) { LocateMyCanvas(CinemachineCore.Instance.GetActiveBrain(i), false); if (mCanvas != null) { RuntimeUtility.DestroyObject(mCanvas); #if UNITY_EDITOR // Workaround for Unity bug case Case 1004117 CanvasesAndTheirOwners.RemoveCanvas(mCanvas); #endif } mCanvas = null; } }
void DestroyCanvas() { int numBrains = CinemachineCore.Instance.BrainCount; for (int i = 0; i < numBrains; ++i) { var parent = CinemachineCore.Instance.GetActiveBrain(i); int numChildren = parent.transform.childCount; for (int j = 0; j < numChildren; ++j) { RectTransform child = parent.transform.GetChild(j) as RectTransform; if (child != null && child.name == CanvasName) { var canvas = child.gameObject; RuntimeUtility.DestroyObject(canvas); #if UNITY_EDITOR // Workaround for Unity bug case Case 1004117 CanvasesAndTheirOwners.RemoveCanvas(canvas); #endif } } } mCanvasInfo.Clear(); }