Esempio n. 1
0
 public static Transform GetFirstCommonAncestorRecursive(Transform transform, Transform[] transforms)
 {
     if (transform == null)
     {
         Debug.LogWarning("Transform is null.");
         return(null);
     }
     if (transforms == null)
     {
         Debug.LogWarning("Transforms is null.");
         return(null);
     }
     if (transforms.Length == 0)
     {
         Debug.LogWarning("Transforms.Length is 0.");
         return(null);
     }
     if (Hierarchy.IsCommonAncestor(transform, transforms))
     {
         return(transform);
     }
     if (transform.parent == null)
     {
         return(null);
     }
     return(Hierarchy.GetFirstCommonAncestorRecursive(transform.parent, transforms));
 }
Esempio n. 2
0
 public static Transform GetFirstCommonAncestor(Transform[] transforms)
 {
     if (transforms == null)
     {
         Debug.LogWarning("Transforms is null.");
         return(null);
     }
     if (transforms.Length == 0)
     {
         Debug.LogWarning("Transforms.Length is 0.");
         return(null);
     }
     for (int i = 0; i < transforms.Length; i++)
     {
         if (transforms[i] == null)
         {
             return(null);
         }
         if (Hierarchy.IsCommonAncestor(transforms[i], transforms))
         {
             return(transforms[i]);
         }
     }
     return(Hierarchy.GetFirstCommonAncestorRecursive(transforms[0], transforms));
 }