OpenSim.Region.Physics.BulletDotNETPlugin.BulletDotNETScene.ProcessContact C# (CSharp) Method

ProcessContact() private method

private ProcessContact ( uint cont, uint contWith, ContactPoint contact, List &primsWithCollisions, List &charactersWithCollisions ) : void
cont uint
contWith uint
contact ContactPoint
primsWithCollisions List
charactersWithCollisions List
return void
        private void ProcessContact(uint cont, uint contWith, ContactPoint contact, 
                    ref List<BulletDotNETPrim> primsWithCollisions,
                    ref List<BulletDotNETCharacter> charactersWithCollisions)
        {
            BulletDotNETPrim bdnp;
            // collisions with a normal prim?
            if (m_primsLocalID.TryGetValue(cont, out bdnp))
            {
                // Added collision event to the prim. This creates a pile of events
                // that will be sent to any subscribed listeners.
                bdnp.AddCollision(contWith, contact);
                if (!primsWithCollisions.Contains(bdnp))
                {
                    primsWithCollisions.Add(bdnp);
                }
            }
            else
            {
                BulletDotNETCharacter bdnc;
                // if not a prim, maybe it's one of the characters
                if (m_charactersLocalID.TryGetValue(cont, out bdnc))
                {
                    bdnc.AddCollision(contWith, contact);
                    if (!charactersWithCollisions.Contains(bdnc))
                    {
                        charactersWithCollisions.Add(bdnc);
                    }
                }
            }
        }