Example #1
0
        public Collision(Node parent, string name)
            : base(parent, name)
        {
            _collisionHandler = GetRoot<State>().GetService<CollisionHandler>();

            GetRoot<State>().PreUpdateEvent += _collidedWith.Clear;

            GroupMask = new Bitmask();
            GroupMask.BitmaskChanged += bm => _collisionHandler.ReconfigurePairs(this);

            PairMask = new Bitmask();
            PairMask.BitmaskChanged += bm => _collisionHandler.ReconfigurePairs(this);

            ResolutionGroupMask = new Bitmask();

            _collisionHandler.AddCollision(this);
        }
Example #2
0
 public bool HasMatchingBit(Bitmask other)
 {
     return (other.Mask & Mask) > 0;
 }
Example #3
0
 public bool HasMatchingBit(Bitmask other)
 {
     return((other.Mask & Mask) > 0);
 }
Example #4
0
 public void CombineMask(Bitmask mask)
 {
     Mask |= mask.Mask;
 }
Example #5
0
 public void CombineMask(Bitmask mask)
 {
     Mask |= mask.Mask;
 }