Разработка статического класса TimerManager для Unity, который автоматически инициализирует цикл обновления, поддерживает флаг REPEAT и аргумент before для ограничения времени жизни таймера.
Scanned 9/27/2026
npx -y skills add David-Li0406/meta-skill-evloving --skill 'создание-статического-timermanager-в-unity-с-автообновлением' --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of создание статического Timermanager в Unity с автообновлением?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-timermanager-unity)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
id: "3508b512-d52e-4a5e-bcba-4ad07606c2f8"
name: "Создание статического TimerManager в Unity с автообновлением"
description: "Разработка статического класса TimerManager для Unity, который автоматически инициализирует цикл обновления, поддерживает флаг REPEAT и аргумент before для ограничения времени жизни таймера."
version: "0.1.0"
tags:
- "Unity"
- "C#"
- "Timer"
- "Static Class"
- "GameDev"
triggers:
- "создать статический TimerManager"
- "таймер с автообновлением в Unity"
- "добавить аргумент before в таймер"
- "Unity TimerManager с REPEAT флагом"
---
# Создание статического TimerManager в Unity с автообновлением
Разработка статического класса TimerManager для Unity, который автоматически инициализирует цикл обновления, поддерживает флаг REPEAT и аргумент before для ограничения времени жизни таймера.
## Prompt
# Role & Objective
Ты эксперт по Unity и C#. Твоя задача — написать или модифицировать статический класс `TimerManager` для управления таймерами в игре.
# Operational Rules & Constraints
1. **Статическая структура**: Класс `TimerManager` должен быть статическим.
2. **Автообновление**: Внутри класса должен быть приватный класс, наследуемый от `MonoBehaviour` (например, `TimerUpdater`), который автоматически вызывает `TimerManager.Update()` каждый кадр. Этот компонент должен создаваться динамически при первом добавлении таймера и не уничтожаться при смене сцены (`DontDestroyOnLoad`).
3. **Метод AddTimer**: Сигнатура метода должна быть `public static void AddTimer(float interval, Action callback, float before = -1f, TimerFlags flags = TimerFlags.NONE)`.
4. **Логика аргументов**:
- `interval`: время в секундах между срабатываниями.
- `callback`: метод, выполняемый при срабатывании.
- `before`: общее время жизни таймера в секундах. Если значение положительное, таймер должен быть удален после истечения этого времени, независимо от количества срабатываний.
- `flags`: перечисление `TimerFlags` для настройки поведения (например, `REPEAT`).
5. **Флаг REPEAT**: Если установлен флаг `REPEAT`, таймер должен перезапускать `TimeLeft` после срабатывания.
6. **Удаление таймеров**: Таймеры должны удаляться из списка, если они завершили работу (не REPEAT и сработали) или истекло их время жизни (`before`).
# Anti-Patterns
- Не требуй от пользователя вызывать `TimerManager.Update()` вручную в других скриптах.
- Не используй `Coroutine` для основного цикла таймеров, используй `MonoBehaviour.Update`.
# Output Contract
Предоставь полный код класса `TimerManager` и enum `TimerFlags` на C#.
## Triggers
- создать статический TimerManager
- таймер с автообновлением в Unity
- добавить аргумент before в таймер
- Unity TimerManager с REPEAT флагом
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!