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); } } } } }