public bool CheckVisibilityUnderCursor()
        {
            Vector2Int cell       = _mouseCell;
            VisionMask visionMask = _visionController.GetMask(cell.x, cell.y);

            if (visionMask == null)
            {
                return(true);
            }
            return(visionMask.IsVisible());
        }
        private void VisualizeGas()
        {
            VisionController visionController = VisionController.Current;

            if (visionController != null)
            {
                //visionController.VisionProcessingEnabled = false;

                for (int x = 0; x < _gasInfos.GetLength(0); x++)
                {
                    for (int y = 0; y < _gasInfos.GetLength(1); y++)
                    {
                        VisionMask     mask         = visionController.GetMask(x, y);
                        float          summPressure = 0;
                        List <GasInfo> gases        = _gasInfos[x, y];
                        if (gases != null)
                        {
                            foreach (var gas in gases)
                            {
                                summPressure += gas.Pressure;
                            }
                        }

                        float brightness = (100 - summPressure) / 100;

                        Color          color   = new Color(0, 0, 0, 1);
                        List <GasInfo> mixture = _gasInfos[x, y];

                        foreach (GasInfo info in mixture)
                        {
                            Color gasColor = GetGasById(info.GasId).Color;
                            color += gasColor * info.Pressure / summPressure;
                        }

                        if (mask != null)
                        {
                            mask.SetVisible();
                            mask.SetLighting(brightness, color);
                        }
                    }
                }
            }
        }