コード例 #1
0
        public void addColliders()
        {
            if (collisionLayer == null || !_shouldCreateColliders)
            {
                return;
            }

            // fetch the collision layer and its rects for collision
            var collisionRects = collisionLayer.getCollisionRectangles();

            // create colliders for the rects we received
            _colliders = new Collider[collisionRects.Count];
            for (var i = 0; i < collisionRects.Count; i++)
            {
                var collider = new BoxCollider(
                    collisionRects[i].X + _localOffset.X,
                    collisionRects[i].Y + _localOffset.Y,
                    collisionRects[i].Width,
                    collisionRects[i].Height);
                collider.physicsLayer = physicsLayer;
                collider.entity       = entity;
                _colliders[i]         = collider;

                Physics.addCollider(collider);
            }
        }
コード例 #2
0
ファイル: TiledMapComponent.cs プロジェクト: Pyxlre/Nez
        void addColliders()
        {
            if (_collisionLayer == null)
            {
                return;
            }

            // fetch the collision layer and its rects for collision
            var collisionRects = _collisionLayer.getCollisionRectangles();
            var renderPosition = entity.transform.position + _localPosition;

            // create colliders for the rects we received
            _colliders = new Collider[collisionRects.Count];
            for (var i = 0; i < collisionRects.Count; i++)
            {
                var collider = new BoxCollider(collisionRects[i].X + renderPosition.X, collisionRects[i].Y + renderPosition.Y, collisionRects[i].Width, collisionRects[i].Height);
                collider.entity = entity;
                _colliders[i]   = collider;

                Physics.addCollider(collider);
            }
        }