Quiero usar una clase interna privada MonoBehaviour como parte de la implementación interna de una clase (también MonoBehaviour ). Reducido a lo esencial:
public class OuterClass : MonoBehaviour { public void SomeMethod(GameObject go) { go.AddComponent<InnerClass>(); } private class InnerClass : MonoBehaviour { } }Parece que todo funciona absolutamente bien, sin errores ni advertencias. Pero también parece violar la declaración en la documentación de Unity que:
El nombre de la clase y el nombre del archivo deben ser iguales para permitir que el componente de secuencia de comandos se adjunte a un GameObject.
¿Es esta una violación problemática de esa regla? Si es así, ¿cuáles son los problemas? Soy consciente de que significa que la secuencia de comandos no está visible en el Editor, pero eso es exactamente lo que quiero: nunca debe agregarse por otra cosa que no sea su clase adjunta.