/// <summary> /// Adding collider to included colliders list /// </summary> public void AddCollider(Collider collider) { if (IncludedColliders.Contains(collider)) { return; } IncludedColliders.Add(collider); }
/// <summary> /// Checking if colliders list don't have duplicates /// </summary> public void CheckForColliderDuplicates() { for (int i = 0; i < IncludedColliders.Count; i++) { Collider col = IncludedColliders[i]; int count = IncludedColliders.Count(o => o == col); if (count > 1) { IncludedColliders.RemoveAll(o => o == col); IncludedColliders.Add(col); } } }
/// <summary> /// Refreshing colliders data for included colliders /// </summary> public void RefreshCollidersDataList() { if (IncludedColliders.Count != IncludedCollidersData.Count || forceRefreshCollidersData) { IncludedCollidersData.Clear(); for (int i = IncludedColliders.Count - 1; i >= 0; i--) { if (IncludedColliders[i] == null) { IncludedColliders.RemoveAt(i); continue; } FImp_ColliderData_Base colData = FImp_ColliderData_Base.GetColliderDataFor(IncludedColliders[i]); IncludedCollidersData.Add(colData); } forceRefreshCollidersData = false; } }