# CustomSkinsCastBar - Vertical Support Update

## Что нового в версии 1.2

Добавлена поддержка **вертикального кастбара** с отдельным набором текстур!

## Основные изменения

### 1. Новая настройка ориентации
- В GUI добавлена секция **"Orientation"** с кнопками:
  - **Horizontal** - горизонтальный кастбар (по умолчанию)
  - **Vertical** - вертикальный кастбар

### 2. Раздельные текстуры
- **Горизонтальные текстуры** - используются только для горизонтального режима
- **Вертикальные текстуры** - используются только для вертикального режима
- При переключении ориентации автоматически меняется список доступных текстур

### 3. Адаптированные функции
- **Empower Stages** - маркеры стадий теперь работают как в горизонтальном, так и в вертикальном режиме
- **Latency Bar** - полоса задержки корректно отображается для обеих ориентаций
- **Позиционирование текста** - таймер автоматически смещается вниз для вертикального бара

## Установка вертикальных текстур

### Шаг 1: Подготовка файлов текстур
Создайте ваши вертикальные текстуры в формате `.tga` с размерами, подходящими для вертикального отображения (например, 64x256 пикселей).

### Шаг 2: Размещение файлов
Поместите файлы текстур в папку:
```
CustomSkinsCastBar/media/
```

Пример имён файлов:
- `vertical_test1.tga`
- `vertical_test2.tga`
- `vertical_test3.tga`

### Шаг 3: Регистрация в Constants.lua
Откройте файл `Constants.lua` и найдите секцию `ns.VERTICAL_TEXTURE_LIST`:

```lua
ns.VERTICAL_TEXTURE_LIST = {
    ["Vertical Test 1"]   = "vertical_test1",
    ["Vertical Test 2"]   = "vertical_test2",
    ["Vertical Test 3"]   = "vertical_test3",
    -- Добавьте свои текстуры здесь:
    ["Моя Вертикальная Текстура"] = "my_vertical_texture",
}
```

**Формат:**
```lua
["Отображаемое Имя"] = "имя_файла_без_расширения",
```

## Использование

### Переключение на вертикальный режим:
1. Откройте настройки аддона (`/cscb` или клик по иконке на миникарте)
2. В секции **"Orientation"** нажмите кнопку **"Vertical"**
3. Выберите текстуру из списка вертикальных текстур
4. Настройте размеры (`Width` и `Height`) под ваши нужды
   - Для вертикального бара рекомендуется: Width 64-128, Height 200-400

### Переключение обратно на горизонтальный режим:
1. В секции **"Orientation"** нажмите кнопку **"Horizontal"**
2. Список текстур автоматически переключится на горизонтальные

## Технические детали

### Изменённые файлы:

1. **Constants.lua**
   - Добавлена таблица `ns.VERTICAL_TEXTURE_LIST`
   - Добавлены настройки `isVertical` и `verticalTexture` в DEFAULTS

2. **Core.lua**
   - Функция `ApplyTexture()` теперь учитывает ориентацию
   - Функция `UpdateVisuals()` адаптирует размеры маркеров для вертикального режима
   - Используется `SetOrientation("VERTICAL")` для StatusBar

3. **Logic.lua**
   - `SetupEmpowerStages()` размещает маркеры по вертикали или горизонтали
   - `UpdateLatencyBar()` корректно отображает latency для обеих ориентаций

4. **GUI.lua**
   - Добавлена секция выбора ориентации
   - Функция `PopulateTextureList()` динамически заполняет список текстур
   - При смене ориентации список обновляется автоматически

### Новые настройки в базе данных:
```lua
isVertical = false              -- false = horizontal, true = vertical
verticalTexture = "vertical_test1"  -- текущая вертикальная текстура
```

## Рекомендации по созданию вертикальных текстур

1. **Размер**: 64x256, 64x300, 128x400 пикселей (ширина x высота)
2. **Формат**: TGA (без сжатия или RLE)
3. **Дизайн**: Учитывайте, что текстура будет заполняться снизу вверх (для casting) или сверху вниз (для channeling)
4. **Цвет**: Используйте светлые тона, т.к. можно применить кастомный цвет через настройки

## Примеры использования

### Для вертикального кастбара возле персонажа:
```
Width: 64
Height: 300
Position: CENTER, 0, 0
Orientation: Vertical
```

### Для горизонтального кастбара внизу экрана:
```
Width: 256
Height: 64
Position: CENTER, 0, -220
Orientation: Horizontal
```

## Обратная совместимость

Все существующие профили и настройки полностью совместимы с новой версией. При первой загрузке автоматически применяются значения по умолчанию для новых настроек.

## Troubleshooting

**Проблема**: Текстура не отображается
- Убедитесь, что файл .tga находится в папке `media/`
- Проверьте правильность имени файла в `Constants.lua`
- Убедитесь, что формат файла именно TGA

**Проблема**: Список текстур пустой
- Проверьте, что вы добавили текстуры в правильную таблицу (`VERTICAL_TEXTURE_LIST` для вертикальных)
- Перезагрузите интерфейс (`/reload`)

**Проблема**: Latency bar отображается неправильно
- Проверьте настройку `showLatency` в GUI
- Убедитесь, что используете актуальную версию `Logic.lua`

## Поддержка

Если у вас возникли вопросы или проблемы, создайте issue на GitHub или свяжитесь с автором аддона.

---

**Версия**: 1.2
**Автор**: Hetoka (с дополнениями для вертикальной поддержки)
**Дата обновления**: 2026
