public void Cast(PhysicsCastData castData) { if (castData == null) { Debug.LogError(GetType() + " error: CastData is null"); m_Count = 0; return; } switch (castData.PhysicsCast) { case PhysicsCast.Ray: Debug.LogError("Overlap не работает для Raycast"); break; case PhysicsCast.Sphere: SphereOverlap(castData.Position1, castData.Radius, castData.LayerMask, castData.QueryTrigger); break; case PhysicsCast.Box: BoxOverlap(); break; case PhysicsCast.Capsule: CapsuleOverlap(castData.Position1, castData.Position2, castData.Radius, castData.LayerMask, castData.QueryTrigger); break; } //m_Count = 0; }
public void Cast(PhysicsCastData castData) { #if UNITY_EDITOR Debug.Assert(castData.Direction != Vector3.zero, ("Direction is zero =" + castData.Direction)); #endif switch (castData.CountCast) { case PhysicsCountCast.One: CastOne(castData); break; case PhysicsCountCast.All: CastAll(castData); break; } m_Count = m_CheckIncludeColliders.CheckIncludeColliders(castData.CheckIncludeColliders, m_Array, 0, m_Count, castData.AvgPosition, castData.Direction); }
void CastAll(PhysicsCastData castData) { switch (castData.PhysicsCast) { case PhysicsCast.Ray: RaycastAll(castData.Position1, castData.Direction, castData.Distance, castData.LayerMask, castData.QueryTrigger); break; case PhysicsCast.Sphere: SphereCastAll(castData.Position1, castData.Radius, castData.Direction, castData.Distance, castData.LayerMask, castData.QueryTrigger); break; case PhysicsCast.Box: BoxCastAll(); break; case PhysicsCast.Capsule: CapsuleAllCast(castData.Position1, castData.Position2, castData.Radius, castData.Direction, castData.Distance, castData.LayerMask, castData.QueryTrigger); break; } }
void CastOne(PhysicsCastData castData) { #if UNITY_EDITOR Debug.LogError("CastOne is not released"); #endif }