// Start is called before the first frame update protected void Start() { _parallaxDatas = new Dictionary <Transform, ParallaxData>(); if (parallaxDictionary != null && _parallaxDatas != null) { foreach (var element in parallaxDictionary) { Transform parent = element.Key; if (parent != null) { var children = parent.GetComponentsInHierarchy <Transform>(true); if (children == null || children.Count == 0) { children = ListExtend.CreateList(parent); } foreach (var tr in children) { if (tr == null) { continue; } var auxSpriteRenderer = tr.GetComponent <SpriteRenderer>(); ParallaxData data = new ParallaxData(tr.position, auxSpriteRenderer.bounds.size.x, element.Value, auxSpriteRenderer); data.distance = CalculateDistance(data); _parallaxDatas.Add(tr, data); } } } } }
public static bool IsEncapsulated(this Bounds @this, Bounds container, Vector3 translationVector = default) { return(IsEncapsulated(@this, ListExtend.CreateList(container), translationVector)); }