Ben*_*umi 0 c# unity-game-engine
selected.GetComponent()
Run Code Online (Sandbox Code Playgroud)
selected是一个GameObject,我想找到它是否有任何组件,而不仅仅是特定的组件或类型.
幸运的是,这很简单
Component[] allOfThem = GetComponents<Component>();
Run Code Online (Sandbox Code Playgroud)
这是"这个"游戏对象,当然也selected.GetComponents<Component>()适用于你的游戏对象selected.
所以,当你想到它..
Component[] stuff = GetComponents<Weapons>();
Run Code Online (Sandbox Code Playgroud)
..它将为您提供武器的子类.
Component[] ux = GetComponents<UnityEditor.UI.Button>();
Run Code Online (Sandbox Code Playgroud)
..它将为您提供Button的子类.
Component[] stuff = GetComponents<Enemies>();
Run Code Online (Sandbox Code Playgroud)
..那将为你提供一切敌人的子类.
所以这......
Component[] stuff = GetComponents<Component>();
Run Code Online (Sandbox Code Playgroud)
将为您提供所有组件!
你不能将它"附加"到游戏对象上,除非它Component是你想要的.