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
- Naming Conventions - Maintain C++ naming exactly (CGfxMoveBase, m_bOneOfCluser, etc.)
- Type Mappings - C++ to C# type conversions (DWORD→uint, A3DVECTOR3→Vector3, etc.)
- Code Patterns - Common C++ patterns and their C# equivalents
Architecture & Understanding
- Architecture Understanding - System structure, flow, and relationships
- Skill GFX System Deep Dive - Detailed GFX system architecture
Quality & Validation
- Testing & Validation - How to verify conversions are correct
- Common Pitfalls - Mistakes to avoid during conversion
- Best Practices - Recommended approaches and patterns
Reference
- C++ Source Reference - Key C++ files and their locations
- Unity C# Reference - Key Unity C# files and their locations
- GFX to Particle System - GFX→ParticleSystem conversion, why scale is not needed
- Prefer UniTask Over Task - Use UniTask for all Unity async operations
Quick Start
When starting a conversion task:
- Read Naming Conventions - CRITICAL - Never change C++ names unnecessarily
- Check Type Mappings for type conversions
- Review Common Pitfalls before coding
- Use Testing & Validation to verify your work
- For async code: Use UniTask Over Task - Prefer UniTask for Unity async operations
Priority Rules
- Preserve C++ naming - If C++ has
CGfxMoveBase, useCGfxMoveBase(notIGfxMovement) - Match C++ behavior exactly - Don't "improve" logic unless explicitly requested
- Maintain field names - Even typos like
m_bOneOfClusermust be preserved - 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