# LearningCases **Repository Path**: threenut/learning-cases ## Basic Information - **Project Name**: LearningCases - **Description**: unity自学案例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-29 - **Last Updated**: 2025-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README unity 学习案例 ## 🚫 Unity 常见命名冲突黑名单 ### 1. **协程/集合相关** + `IEnumerator` + `IEnumerable` + `List` + `Dictionary` + `Queue` + `Stack` 这些是 `System.Collections` 和 `System.Collections.Generic` 里的常用接口/类,Unity 协程特别依赖 `IEnumerator`。 --- ### 2. **Unity 内置类型** + `GameObject` + `Transform` + `Vector2` / `Vector3` / `Vector4` + `Quaternion` + `Color` + `Rect` + `Ray` / `RaycastHit` + `LayerMask` + `Physics` / `Physics2D` 这些名字和 UnityEngine 自带的类重名会直接冲突。 --- ### 3. **Unity 常用工具类** + `Debug` + `Mathf` + `Time` + `Application` + `Resources` + `Scene` / `SceneManager` + `Animator` / `Animation` 这些和 Unity API 强绑定,如果被覆盖,IDE 自动补全和 Unity 编译器都会乱掉。 --- ### 4. **C# 系统基础类型** + `Object` + `String` + `Int32` / `Int64` / `Double` / `Decimal` + `DateTime` + `Random` + `Exception` 这些是 .NET 自带的,重名会让你的代码和系统 API 难以区分。 --- ## ✅ 起名小技巧 1. **统一加后缀/前缀** - 类名避免单词直接顶上,最好带一点语义。 - 比如:`PlayerManager`(而不是 `Manager`),`EnemySpawner`(而不是 `Spawner`)。 2. **命名空间用功能模块** - 推荐:`MyGame.UI`, `MyGame.Core`, `MyGame.Enemies` - 不推荐:`MyGame.Debug`, `MyGame.Vector3`, `MyGame.IEnumerator` 😂 3. **IDE 提示冲突时要注意** Rider/IDEA 或 Visual Studio 在你输入时会提示 `System.Collections.IEnumerator` / `MyNamespace.IEnumerator`,一定要选对。 --- 👉 我建议你以后写 Unity 脚本时,命名空间可以用 **项目名 + 功能模块**,比如: ```plain namespace CardGame.Coroutines { public class MoveToTarget : MonoBehaviour { } } ``` 这样既清晰又不会踩坑。