public void PopulateCache(ContactCache cache) { cache.Clear(); for (int i = 0; i < _items.Length; i++) { for (int j = 0; j < _items[i].Count; j++) { cache.Add(_items[i][j]); } } }
/// <summary> /// Initialize the physics implementation. /// </summary> public override void Initialize() { base.Initialize(); if (_broadPhase == null) { _broadPhase = new SweepAndPrune(); } _islandAlloc = new Pool <Island>(_islandPoolCapacity, 2); _contacts = new BodyCollisionFunctor(this); _contactCache = new ContactCache(new ContactCache.Allocator(_contactPoolCapacity, 2, _maxPointsPerContact)); _taskManager = TaskManager.Current; _generators.Add(_gravityForce); }