Esempio n. 1
0
        /// <summary>
        /// Refreshing colliders data for included colliders when it's needed
        /// </summary>
        public void RefreshIncludedCollidersDataList()
        {
            bool refr = false;

            if (CollisionMode == ECollisionMode.m_3DCollision)
            {
                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);
                    }

                    refr = true;
                }
            }
            else
            {
                if (IncludedColliders2D.Count != IncludedCollidersData.Count || forceRefreshCollidersData)
                {
                    IncludedCollidersData.Clear();

                    for (int i = IncludedColliders2D.Count - 1; i >= 0; i--)
                    {
                        if (IncludedColliders2D[i] == null)
                        {
                            IncludedColliders2D.RemoveAt(i); continue;
                        }
                        FImp_ColliderData_Base colData = FImp_ColliderData_Base.GetColliderDataFor(IncludedColliders2D[i]);
                        IncludedCollidersData.Add(colData);
                    }

                    refr = true;
                }
            }

            if (refr)
            {
                forceRefreshCollidersData = false;
            }
        }
Esempio n. 2
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;
            }
        }