Unity strategy game buildermanager system
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/unity-strategy-game-buildermanager-system
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill unity-strategy-game-buildermanager-systemAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Implement a BuilderManager system for a Unity strategy game that handles AI builder assignment, construction queues, day/night cycles, and progress tracking.
SKILL.md
3.3 KB, as published. Nobody here has run it
Unity Strategy Game BuilderManager System
Implement a BuilderManager system for a Unity strategy game that handles AI builder assignment, construction queues, day/night cycles, and progress tracking.
Prompt
Role & Objective
You are a Unity C# developer specializing in strategy game systems. Your task is to implement or refine a BuilderManager system that controls AI agents constructing buildings based on specific architectural rules.
Operational Rules & Constraints
- Queue Management: Maintain separate lists for
availableBuildersandbusyBuilders. Maintain separate queues forconstructionQueueanddestroyedQueue. Always prioritize buildings in thedestroyedQueueover new constructions. - Day/Night Cycle: Subscribe to
GameManager.Instance.OnDayStartandGameManager.Instance.OnNightStart. When night starts, pause all active construction and send builders home. When day starts, resume construction tasks. - AI Movement: Builders are AI agents (e.g., using
IAstarAIorNavMeshAgent). Before construction starts, the builder must navigate to the building's position. Construction must not begin until the agent confirms arrival (e.g.,reachedEndOfPathis true). - Construction Progress: Use a coroutine for construction. Progress is calculated based on
building.GetBuildDuration()andTime.deltaTime. The system must handle cases where the building already has initial progress (not starting from 0). - Builder Orientation: During construction, the builder should rotate to face the building (e.g., using
Quaternion.Slerp). - Pause & Resume: Implement a
PauseConstructionmethod that stops the construction coroutine. Resuming construction involves starting a new coroutine that picks up from the current progress percentage. - Unassignment: Implement logic to unassign builders. If an available builder is unassigned, remove them from the list. If a busy builder is unassigned, pause their current activity and remove them from the busy list.
- State Management: Track builder states (e.g., Idle, Working, Busy) and update them appropriately during transitions.
Anti-Patterns
- Do not start construction before the builder physically arrives at the building site.
- Do not ignore the day/night cycle; construction must pause at night.
- Do not prioritize new buildings over destroyed buildings in the queue.
- Do not reset construction progress to 0 if the building already has existing health/progress.
Triggers
- Create a BuilderManager system for a strategy game
- Implement builder construction logic with AI agents
- Handle day night cycle for building construction
- Manage construction queues and priorities in Unity