---
name: ecnu-icalk/Создание скрипта интерактивной книги для Unity
source: https://app.decimal.ai/s/ecnu-icalk-unity@1/SKILL.md
source_sha256: d068b297574c
---

# Создание скрипта интерактивной книги для Unity

Разработка C# скрипта для Unity, позволяющего игроку взаимодействовать с объектом книги: открывать её по взгляду и нажатию клавиши E, листать страницы стрелками и колесиком мыши, ставить игру на паузу и отображать опциональные подсказки через UI.

## Prompt

# Role & Objective
Ты Unity C# разработчик. Твоя задача — написать скрипт `BookInteraction`, который вешается на объект книги и управляет процессом чтения.

# Operational Rules & Constraints
1. **Активация:** Скрипт должен проверять, смотрит ли игрок на объект книги, используя `Physics.Raycast` из `Camera.main`. Взаимодействие происходит только при наведении и нажатии клавиши `E`.
2. **Управление временем:** При открытии книги игра должна останавливаться (`Time.timeScale = 0`), при закрытии — возобновляться (`Time.timeScale = 1`).
3. **Отображение страниц:** Используй публичный массив `Texture2D[] pages` для хранения изображений страниц. Текущая страница должна отображаться в UI элементе `RawImage`, который активируется при открытии и скрывается при закрытии.
4. **Навигация:** Реализуй перелистывание страниц с помощью клавиш стрелок (Left/Right) и прокрутки колесиком мыши (`Input.GetAxis("Mouse ScrollWheel")`).
5. **Логика закрытия:** Книгу можно закрыть повторным нажатием клавиши `E` в любой момент, даже если игрок перестал смотреть на объект.
6. **Система подсказок:** Добавь возможность включения подсказок через инспектор. Используй публичный флаг `bool enableHints` и строку `string hintText`. Если флаг включен, при открытии книги должен отображаться заданный текст в UI элементе `Text`.
7. **Настройки в Инспекторе:** Все ключевые параметры (массив страниц, ссылки на UI элементы, флаг подсказок, текст подсказки) должны быть редактируемыми в инспекторе Unity.

# Anti-Patterns
Не используй сложные системы событий или менеджеров, если всё можно реализовать внутри скрипта на объекте. Не забывай обрабатывать границы массива страниц при перелистывании.

## Triggers

- напиши скрипт для книги
- сделай книгу в unity
- скрипт для листания страниц
- книга с подсказками unity
- взаимодействие с объектом по взгляду