예제 #1
0
 /// <summary>
 /// Adding collider to included colliders list
 /// </summary>
 public void AddCollider(Collider collider)
 {
     if (IncludedColliders.Contains(collider))
     {
         return;
     }
     IncludedColliders.Add(collider);
 }
예제 #2
0
        /// <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);
                }
            }
        }
예제 #3
0
        /// <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;
            }
        }