# Библиотека gfx.weather

Библиотека для управления аудио/визуальными погодными эффектами.

Настройки погоды:

| Свойство     | Описание                                 | По-умолчанию |
| ------------ | ---------------------------------------- | ------------ |
| fall         | Осадки (см. таблица 2)                   | {}           |
| clouds       | Облачность [0.0, 1.0]                    | 0.0          |
| fog_opacity  | Максимальная плотность тумана [0.0, 1.0] | 0.0          |
| fog_dencity  | Плотность тумана                         | 1.0          |
| fog_curve    | Кривая тумана                            | 1.0          |
| thunder_rate | Частота грома [0.0, 1.0]                 | 0.0          | 

Осадки:

| Свойство      | Описание                                     | По-умолчанию |
| ------------- | -------------------------------------------- | ------------ |
| texture       | Текстура осадков                             | ""           |
| noise         | Шум осадков                                  | ""           |
| vspeed        | Вертикальная скорость осадков                | 1.0          |
| hspeed        | Максимальная горизонтальная скорость осадков | 0.1          |
| scale         | Масштаб UV развертки осадков                 | 0.1          |
| min_opacity   | Минимальный множитель alpha-канала осадков   | 0.0          |
| max_opacity   | Максимальный множитель alpha-канала осадков  | 1.0          |
| max_intensity | Масимальная интенсивность осадков            | 1.0          |
| opaque        | Отключение полупрозрачности осадков          | false        |
| splash        | Таблица настроек частиц всплесков от осадков | {}           |

```lua
-- Плавно переключает погоду
gfx.weather.change(
    -- таблица настроек погоды
    weather: table,
    -- длительность изменения погоды в секундах
    time: number,
    -- название пресета погоды
    [опционально] name: str
)

-- Возвращает имя пресета погоды
gfx.weather.get_current() -> str

-- Возвращает копию таблицы настроек погоды
gfx.weather.get_current_data() -> table

-- Возвращает текущую интенсивность осадков
gfx.weather.get_fall_intensity() -> number

-- Проверяет, происходит ли в данный момент переключение погоды
gfx.weather.is_transition() -> bool
```
