Skip to content

Commit 4f55738

Browse files
committed
v5.8.7 controller + fix + format
1 parent 9a1b023 commit 4f55738

86 files changed

Lines changed: 433373 additions & 56442 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Assets/Neoxider/CHANGELOG.md

Lines changed: 251 additions & 176 deletions
Large diffs are not rendered by default.
Lines changed: 47 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,80 @@
1-
21
# Руководство по написанию документации
32

4-
Этот документ описывает правила и стандарты для создания и ведения документации по скриптам в проекте. Соблюдение этих правил обеспечит единообразие и высокое качество документации.
3+
Этот документ описывает правила и стандарты для создания и ведения документации по скриптам в проекте. Соблюдение этих
4+
правил обеспечит единообразие и высокое качество документации.
55

66
## 1. Общие принципы
77

88
- **Язык**: Вся документация должна быть написана на **русском языке**.
9-
- **Цель**: Документация должна быть понятной, краткой и полезной. Ее главная задача — быстро объяснить, **зачем нужен тот или иной модуль и как он упрощает разработку**.
9+
- **Цель**: Документация должна быть понятной, краткой и полезной. Ее главная задача — быстро объяснить, **зачем нужен
10+
тот или иной модуль и как он упрощает разработку**.
1011
- **Стиль**: Пишите интересно и по делу, избегая излишней детализации, но не упуская важные моменты.
1112

1213
## 2. Структура и организация файлов
1314

1415
Вся документация по скриптам находится в папке `Assets/Neoxider/Docs`.
1516

16-
- **Простые модули**: Для каждого самостоятельного модуля (например, `Audio`, `Bonus`), который находится в своей папке в `Assets/Neoxider/Scripts`, создается один `.md` файл.
17-
- *Пример*: `Assets/Neoxider/Scripts/Bonus` -> `Assets/Neoxider/Docs/Bonus.md`
17+
- **Простые модули**: Для каждого самостоятельного модуля (например, `Audio`, `Bonus`), который находится в своей папке
18+
в `Assets/Neoxider/Scripts`, создается один `.md` файл.
19+
- *Пример*: `Assets/Neoxider/Scripts/Bonus` -> `Assets/Neoxider/Docs/Bonus.md`
1820

19-
- **Сложные модули**: Для модулей, содержащих множество скриптов и/или подпапок (например, `Extensions`, `Tools`), в `Docs` создается отдельная **папка** с тем же именем.
20-
- Внутри этой папки создается:
21-
1. `README.md` с кратким описанием всего раздела и ссылками на документацию по каждому скрипту. Если модуль содержит подпапки, `README.md` также должен содержать оглавление со ссылками на разделы этих подмодулей для быстрой навигации.
22-
2. Отдельный `.md` файл для **каждого** скрипта в модуле.
23-
- *Пример*: `Assets/Neoxider/Scripts/Extensions` -> `Assets/Neoxider/Docs/Extensions/`
21+
- **Сложные модули**: Для модулей, содержащих множество скриптов и/или подпапок (например, `Extensions`, `Tools`), в
22+
`Docs` создается отдельная **папка** с тем же именем.
23+
- Внутри этой папки создается:
24+
1. `README.md` с кратким описанием всего раздела и ссылками на документацию по каждому скрипту. Если модуль
25+
содержит подпапки, `README.md` также должен содержать оглавление со ссылками на разделы этих подмодулей для
26+
быстрой навигации.
27+
2. Отдельный `.md` файл для **каждого** скрипта в модуле.
28+
- *Пример*: `Assets/Neoxider/Scripts/Extensions` -> `Assets/Neoxider/Docs/Extensions/`
2429

2530
## 3. Содержание файла документации
2631

2732
Каждый файл документации (`.md`) должен иметь следующую структуру:
2833

2934
### 3.1. Введение
30-
- Начните с краткого и интересного вступления. Расскажите, какую проблему решает этот модуль и какие преимущества дает его использование.
35+
36+
- Начните с краткого и интересного вступления. Расскажите, какую проблему решает этот модуль и какие преимущества дает
37+
его использование.
3138

3239
### 3.2. Описание классов
40+
3341
Для каждого ключевого класса в модуле необходимо предоставить следующую информацию:
3442

35-
1. **Название класса** (в формате заголовка, например, `### КлассНазвание`).
36-
2. **Пространство имен (Namespace)** и **Путь к файлу**.
37-
3. **Краткое описание**: 1-2 предложения о назначении класса.
38-
4. **Ключевые особенности (опционально)**: Список основных возможностей.
39-
5. **Публичные свойства и поля (Public Properties and Fields)**: Список всех публичных свойств и полей с кратким описанием их назначения и типа данных.
40-
6. **Публичные методы (Public Methods)**: Список публичных методов с кратким описанием. **Обязательно** указывайте, какой тип данных возвращает метод и что означает возвращаемое значение (например, `Spend(float count)` возвращает `bool``true` при успехе).
41-
7. **Unity Events**: **Обязательно** опишите все публичные `UnityEvent`. Укажите, когда вызывается событие и какие параметры (если есть) оно передает.
43+
1. **Название класса** (в формате заголовка, например, `### КлассНазвание`).
44+
2. **Пространство имен (Namespace)** и **Путь к файлу**.
45+
3. **Краткое описание**: 1-2 предложения о назначении класса.
46+
4. **Ключевые особенности (опционально)**: Список основных возможностей.
47+
5. **Публичные свойства и поля (Public Properties and Fields)**: Список всех публичных свойств и полей с кратким
48+
описанием их назначения и типа данных.
49+
6. **Публичные методы (Public Methods)**: Список публичных методов с кратким описанием. **Обязательно** указывайте,
50+
какой тип данных возвращает метод и что означает возвращаемое значение (например, `Spend(float count)` возвращает
51+
`bool``true` при успехе).
52+
7. **Unity Events**: **Обязательно** опишите все публичные `UnityEvent`. Укажите, когда вызывается событие и какие
53+
параметры (если есть) оно передает.
4254

4355
## 4. Рабочий процесс
4456

4557
Чтобы обеспечить точность и полноту документации, следуйте этому процессу:
4658

47-
1. **Анализ папки**: Изучите целевую папку в `Assets/Neoxider/Scripts`, чтобы понять ее структуру и состав.
48-
2. **Чтение по одному файлу**: Внимательно читайте **по одному файлу за раз**. Это критически важно для глубокого понимания каждого скрипта перед тем, как его описывать.
49-
3. **Написание документации**: Следуя структуре, описанной в разделе 3, напишите текст документации.
50-
4. **Запись в файл**: Сохраните готовую документацию в соответствующий `.md` файл.
59+
1. **Анализ папки**: Изучите целевую папку в `Assets/Neoxider/Scripts`, чтобы понять ее структуру и состав.
60+
2. **Чтение по одному файлу**: Внимательно читайте **по одному файлу за раз**. Это критически важно для глубокого
61+
понимания каждого скрипта перед тем, как его описывать.
62+
3. **Написание документации**: Следуя структуре, описанной в разделе 3, напишите текст документации.
63+
4. **Запись в файл**: Сохраните готовую документацию в соответствующий `.md` файл.
5164

5265
## 5. Обновление документации при изменениях
5366

5467
При перемещении или переименовании файлов скриптов необходимо обновить документацию:
5568

56-
1. **Обновление путей**: Если скрипт был перемещен в другую папку, обновите путь к файлу в документации.
57-
- *Пример*: Если `ScoreManager.cs` был перенесен из `Tools/Managers/` в `Tools/Components/`, обновите путь в соответствующем `.md` файле.
58-
2. **Обновление ссылок**: Проверьте и обновите все ссылки на перемещенный скрипт в других файлах документации (README файлы, связанные компоненты).
59-
3. **Перемещение файла документации**: Если скрипт перемещен в другую подпапку, рассмотрите возможность перемещения соответствующего `.md` файла документации в соответствующую структуру папок.
60-
- *Пример*: Если скрипт перенесен из `Managers/` в `Components/`, документацию тоже следует переместить из `Docs/Tools/Managers/` в `Docs/Tools/Components/`.
69+
1. **Обновление путей**: Если скрипт был перемещен в другую папку, обновите путь к файлу в документации.
70+
71+
- *Пример*: Если `ScoreManager.cs` был перенесен из `Tools/Managers/` в `Tools/Components/`, обновите путь в
72+
соответствующем `.md` файле.
73+
74+
2. **Обновление ссылок**: Проверьте и обновите все ссылки на перемещенный скрипт в других файлах документации (README
75+
файлы, связанные компоненты).
76+
3. **Перемещение файла документации**: Если скрипт перемещен в другую подпапку, рассмотрите возможность перемещения
77+
соответствующего `.md` файла документации в соответствующую структуру папок.
78+
79+
- *Пример*: Если скрипт перенесен из `Managers/` в `Components/`, документацию тоже следует переместить из
80+
`Docs/Tools/Managers/` в `Docs/Tools/Components/`.

Assets/Neoxider/Docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Neoxider Docs — документация и навигация
22

3-
Добро пожаловать в документацию **NeoxiderTools** (v5.8.6). Здесь собраны ссылки на все модули и инструкции по запуску.
3+
Добро пожаловать в документацию **NeoxiderTools** (v5.8.7). Здесь собраны ссылки на все модули и инструкции по запуску.
44

55
---
66

Assets/Neoxider/Docs/Tools/CameraAspectRatioScaler.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 1. Введение
44

5-
`CameraAspectRatioScaler`это важный инструмент для обеспечения корректного отображения игры на экранах с разным соотношением сторон. Он автоматически настраивает ортографический размер или угол обзора (FOV) камеры, чтобы сохранить задуманные пропорции и избежать искажений или нежелательного обрезания картинки.
5+
`CameraAspectRatioScaler` — инструмент для стабильной адаптации камеры под разные соотношения сторон. Компонент корректно работает и с ортографической, и с перспективной камерой: для 3D используется математически корректный пересчет FOV по горизонтали/вертикали, а для `FitBoth` доступен режим letterbox/pillarbox через `Camera.rect`.
66

77
Компонент поддерживает несколько режимов масштабирования, что позволяет выбрать оптимальную стратегию для вашего проекта, будь то 2D или 3D игра.
88

@@ -22,8 +22,12 @@
2222
- **Режимы масштабирования**:
2323
- `FitWidth`: Сохраняет ширину обзора, подстраивая высоту.
2424
- `FitHeight`: Сохраняет высоту обзора, подстраивая ширину.
25-
- `FitBoth`: Гарантирует, что в кадр попадет вся целевая область, добавляя черные полосы при необходимости.
26-
- **Работа в редакторе и рантайме**: Позволяет видеть результат как в реальном времени, так и при изменении настроек в инспекторе.
25+
- `FitBoth`: Показывает целевую область целиком (без обрезки). Можно использовать:
26+
- масштабирование камеры;
27+
- `Camera.rect` для letterbox/pillarbox (`useViewportRectInFitBoth`).
28+
- **Работа в редакторе и рантайме**: Есть отдельные флаги обновления в Play Mode и Edit Mode.
29+
- **Оптимизация обновлений**: Перерасчет выполняется только при изменении параметров или размера экрана.
2730

2831
**Публичные методы**
29-
- У данного класса нет публичных методов, предназначенных для вызова из других скриптов. Вся логика работает автоматически.
32+
- Основная логика работает автоматически.
33+
- Для инспектора есть кнопка `Apply Camera Scale` для ручного форс-обновления.

0 commit comments

Comments
 (0)