unity 继承了 获取_获取继承链
Babybus-u3d技術交流-獲取繼承鏈
打算用ICode做整個框架的邏輯,發現有挺多不盡人意的地方,無奈只能從源代碼開始著手改造。
1.png
點擊添加Action時會動態的添加一些已有的組件,看了源代碼發現只要是繼承至StateAction的類都會被添加到這邊。
2.png
這是這個功能的核心代碼。其中獲取子類的代碼很有意思。
static
IEnumerable GetSubclassTypes(Type mType){
return
AppDomain.CurrentDomain.GetAssemblies().SelectMany(assembly => assembly.GetTypes()) .Where(type => type.IsSubclassOf(mType) && type.IsClass && !type.IsAbstract);
}
如果你想查找某個類或者接口向下的繼承鏈用
AppDomain.CurrentDomain.GetAssemblies().SelectMany(assembly => assembly.GetTypes()).Where(type => mType.IsAssignableFrom(type) && type != mType);
以Graphic為例
3.png
如果你想查找某個類或者接口向上的繼承鏈用
AppDomain.CurrentDomain.GetAssemblies().SelectMany(assembly => assembly.GetTypes()).Where(type => type.IsAssignableFrom(mType) && type != mType);
以Image為例
4.png
總結
以上是生活随笔為你收集整理的unity 继承了 获取_获取继承链的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql不使用自增_自增ID有什么坏处
- 下一篇: 注册界面php mysql_php:用户