Ejemplo n.º 1
0
 private bool UpdateContactStates(RigidBody a, RigidBody b)
 {
     if (b.OnCollision != null || b.OnSeparation != null)
     {
         if (b.ContactStates == null)
         {
             b.ContactStates = new Dictionary <RigidBody, ContactStateFlags>();
         }
         if (!b.ContactStates.ContainsKey(a))
         {
             b.ContactStates.Add(a, 0);
         }
         b.ContactStates[a] |= ContactStateFlags.IsInContact;
         if ((b.ContactStates[a] & ContactStateFlags.WasInContact) == 0)
         {
             if (b.OnCollision != null && b.OnCollision(b, a))
             {
                 b.ContactStates[a] |= ContactStateFlags.IsSuppressed;
                 return(true);
             }
         }
     }
     return(false);
 }
		private bool UpdateContactStates(RigidBody a, RigidBody b)
		{
			if (b.OnCollision != null || b.OnSeparation != null)
			{
				if (b.ContactStates == null)
				{
					b.ContactStates = new Dictionary<RigidBody, ContactStateFlags>();
				}
				if (!b.ContactStates.ContainsKey(a))
				{
					b.ContactStates.Add(a, 0);
				}
				b.ContactStates[a] |= ContactStateFlags.IsInContact;
				if ((b.ContactStates[a] & ContactStateFlags.WasInContact) == 0)
				{
					if (b.OnCollision != null && b.OnCollision(b, a))
					{
						b.ContactStates[a] |= ContactStateFlags.IsSuppressed;
						return true;
					}
				}
			}
			return false;
		}