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); }
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); }
public override void Reuse(Node parent, string name) { base.Reuse(parent, name); _collisionHandler.AddCollision(this); }