public static Transform FindTransformFromCache(TransformCache cache, string target, bool containsUnActive = false) { Transform ret; cache.Cache.TryGetValue(target, out ret); if (containsUnActive) { return(ret); } if (null != ret && null != ret.gameObject && !ret.gameObject.activeInHierarchy) { ret = null; } return(ret); }
private static void CacheTransform(GameObject role, TransformCache transformCache) { var cache = transformCache.Cache; var transforms = role.GetComponentsInChildren <Transform>(true); foreach (Transform transform in transforms) { if (!cache.ContainsKey(transform.name)) { cache.Add(transform.name, transform); } else { Logger.InfoFormat("{0} is already in {1} cache", transform.name, role.name); } } }