Пример #1
0
        private void ProcessCollisionEvent(Collision collision, CollisionEventBroadcaster broadcaster)
        {
            if (collision.collider.transform.root == transform)
            {
                return;
            }
            if (!LayerMaskExtensions.Contains(collisionLayers, collision.collider.gameObject.layer))
            {
                return;
            }

            foreach (Group group in groups)
            {
                group.TryDamage(collision, broadcaster);
            }
        }
Пример #2
0
            public void TryDamage(Collision collision, CollisionEventBroadcaster broadcaster)
            {
                bool included = false;

                for (int i = 0; i < indices.Length; i++)
                {
                    if (broadcaster.muscle.index == indices[i])
                    {
                        included = true;
                        break;
                    }
                }
                if (!included)
                {
                    return;
                }

                damTime = Time.time;
                enabled = true;
            }
Пример #3
0
 public void OnCollisionExitEvent(Collision collision, CollisionEventBroadcaster broadcaster)
 {
 }
Пример #4
0
 public void OnCollisionStayEvent(Collision collision, CollisionEventBroadcaster broadcaster)
 {
     ProcessCollisionEvent(collision, broadcaster);
 }