49 lines
2.7 KiB
Markdown
49 lines
2.7 KiB
Markdown
# Agent Skills for Perfect World Unity C++ to C# Conversion
|
|
|
|
This folder contains comprehensive skills and guidelines for AI agents working on the Perfect World Unity C++ to C# conversion project.
|
|
|
|
## Skills Index
|
|
|
|
### Core Conversion Skills
|
|
1. **[Naming Conventions](./01-naming-conventions.md)** - Maintain C++ naming exactly (CGfxMoveBase, m_bOneOfCluser, etc.)
|
|
2. **[Type Mappings](./02-type-mappings.md)** - C++ to C# type conversions (DWORD→uint, A3DVECTOR3→Vector3, etc.)
|
|
3. **[Code Patterns](./03-code-patterns.md)** - Common C++ patterns and their C# equivalents
|
|
|
|
### Architecture & Understanding
|
|
4. **[Architecture Understanding](./04-architecture-understanding.md)** - System structure, flow, and relationships
|
|
5. **[Skill GFX System Deep Dive](./05-skill-gfx-deep-dive.md)** - Detailed GFX system architecture
|
|
|
|
### Quality & Validation
|
|
6. **[Testing & Validation](./06-testing-validation.md)** - How to verify conversions are correct
|
|
7. **[Common Pitfalls](./07-common-pitfalls.md)** - Mistakes to avoid during conversion
|
|
8. **[Best Practices](./08-best-practices.md)** - Recommended approaches and patterns
|
|
|
|
### Reference
|
|
9. **[C++ Source Reference](./09-cpp-source-reference.md)** - Key C++ files and their locations
|
|
10. **[Unity C# Reference](./10-unity-csharp-reference.md)** - Key Unity C# files and their locations
|
|
11. **[GFX to Particle System](./11-gfx-to-particle-system.md)** - GFX→ParticleSystem conversion, why scale is not needed
|
|
12. **[Prefer UniTask Over Task](./12-prefer-unitask-over-task.md)** - Use UniTask for all Unity async operations
|
|
|
|
## Quick Start
|
|
|
|
When starting a conversion task:
|
|
1. Read [Naming Conventions](./01-naming-conventions.md) - **CRITICAL** - Never change C++ names unnecessarily
|
|
2. Check [Type Mappings](./02-type-mappings.md) for type conversions
|
|
3. Review [Common Pitfalls](./07-common-pitfalls.md) before coding
|
|
4. Use [Testing & Validation](./06-testing-validation.md) to verify your work
|
|
5. For async code: Use [UniTask Over Task](./12-prefer-unitask-over-task.md) - Prefer UniTask for Unity async operations
|
|
|
|
## Priority Rules
|
|
|
|
1. **Preserve C++ naming** - If C++ has `CGfxMoveBase`, use `CGfxMoveBase` (not `IGfxMovement`)
|
|
2. **Match C++ behavior exactly** - Don't "improve" logic unless explicitly requested
|
|
3. **Maintain field names** - Even typos like `m_bOneOfCluser` must be preserved
|
|
4. **Verify against C++ source** - Always check the actual C++ implementation
|
|
|
|
## Project Context
|
|
|
|
- **Source:** `perfect-world-source/` - Original C++ codebase
|
|
- **Target:** `perfect-world-unity/Assets/` - Unity C# project
|
|
- **Main Plan:** `SKILL_GFX_CONVERSION_PLAN.md` - Overall conversion strategy
|
|
- **Quick Guide:** `SKILL_GFX_QUICK_START.md` - Fast implementation guide
|