private AirtightComponent GetObstructingComponent(MapIndices indices)
        {
            foreach (var v in _grid.GetSnapGridCell(indices, SnapGridOffset.Center))
            {
                if (v.Owner.TryGetComponent <AirtightComponent>(out var ac))
                {
                    return(ac);
                }
            }

            return(null);
        }
        private void UpdateTile(IMapGrid grid, MapIndices position)
        {
            var tile    = grid.GetTileRef(position);
            var tileDef = (ContentTileDefinition)_tileDefinitionManager[tile.Tile.TypeId];

            foreach (var snapGridComponent in grid.GetSnapGridCell(position, SnapGridOffset.Center))
            {
                var entity = snapGridComponent.Owner;
                if (!entity.TryGetComponent(out SubFloorHideComponent subFloorComponent) ||
                    !entity.TryGetComponent(out ISpriteComponent spriteComponent))
                {
                    continue;
                }

                spriteComponent.Visible = !subFloorComponent.Running || tileDef.IsSubFloor;
            }
        }