L'extension de l'Unité composants de l'INTERFACE utilisateur personnalisée Inspecteur
Est-il possible d'étendre la nouvelle unité composants de l'interface utilisateur, comme par exemple la transformation de la composante? Parce que rien ne se passe lorsque j'essaie d'étendre le bouton, au lieu de le transformer composant
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(Transform))]
public class CustomTransform : Editor
{
public override void OnInspectorGUI()
{
}
}
Ce n'est pas l'extension, c'est tout simplement un éditeur pour un Composant spécifique qui découle de
Il est donc possible d'étendre les fonctionnalités des composants qui proviennent de la MonoBehavior?
L'extension en C# les moyens, de créer une nouvelle classe qui dérive d'une autre classe, aka l'héritage. L'extrait de code ci-dessus n'est pas lié à l'héritage, il est et de l'éditeur de l'extension.
Si vous devez recompiler votre propre version de l'Unité de l'INTERFACE utilisateur (c'est à dire la cause de l'héritage peut ne pas fonctionner dans certains cas), vous pouvez le télécharger à l'Unité de l'INTERFACE utilisateur de la Source à partir de bitbucket.org/Unity-Technologies/ui et le compiler vous-même. De vérifier la lecture de la page sur la façon de remplacer l'Unité de l'INTERFACE utilisateur standard assemblées avec votre nouvellement compilé ceux
Désolé j'ai utilisé l'extension de nouveau. Je l'ai dit étendre, parce que je veux juste ajouter un peu de contrôles d'interface utilisateur graphique de l'éditeur, puis utiliser DrawDefaultInspector() Donc je ne parle pas de l'héritage. Edit: il N'a pas lu votre dernier commentaire. Doit avoir rafraîchi avant de poster
MonoBehaviour
Il est donc possible d'étendre les fonctionnalités des composants qui proviennent de la MonoBehavior?
L'extension en C# les moyens, de créer une nouvelle classe qui dérive d'une autre classe, aka l'héritage. L'extrait de code ci-dessus n'est pas lié à l'héritage, il est et de l'éditeur de l'extension.
public class Player : MonoBehavior { }
est l'extension de MonoBehavior et ajoute de nouvelles fonctionnalités. Et les composants de l'INTERFACE utilisateur peut être prolongée, vous avez juste besoin d'hériter d'eux, pas de Editor
. L'Éditeur est une INTERFACE utilisateur simplifiée au sein de l'Unité de l'InspecteurSi vous devez recompiler votre propre version de l'Unité de l'INTERFACE utilisateur (c'est à dire la cause de l'héritage peut ne pas fonctionner dans certains cas), vous pouvez le télécharger à l'Unité de l'INTERFACE utilisateur de la Source à partir de bitbucket.org/Unity-Technologies/ui et le compiler vous-même. De vérifier la lecture de la page sur la façon de remplacer l'Unité de l'INTERFACE utilisateur standard assemblées avec votre nouvellement compilé ceux
Désolé j'ai utilisé l'extension de nouveau. Je l'ai dit étendre, parce que je veux juste ajouter un peu de contrôles d'interface utilisateur graphique de l'éditeur, puis utiliser DrawDefaultInspector() Donc je ne parle pas de l'héritage. Edit: il N'a pas lu votre dernier commentaire. Doit avoir rafraîchi avant de poster
OriginalL'auteur Eknoes | 2015-03-14
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez étendre les composants de l'INTERFACE utilisateur et de les écrire leurs propres inspecteur.
Vous avez juste besoin de se rappeler d'utiliser des espaces de noms qui hérite également du droit de l'Inspecteur de classe.
Vous pouvez bien sûr remplacer trop!.
L'exemple d'une UISegmentedControlButton
Et Éditeur de classe:
P. S. ButtonEditor est différente de UnityEditor.L'INTERFACE utilisateur.ButtonEditor que le premier est de UnityEngine.ButtonEditor. Pour accéder à .L'INTERFACE utilisateur de UnityEditor, vous avez besoin de mettre votre Éditeur de script dans l'Éditeur du dossier
Aussi, voici un lien utile directement à la source de l'Unité de l'INTERFACE utilisateur
https://bitbucket.org/Unity-Technologies/ui/src
Et un peu la preuve que cela fonctionne:
Assurez-vous d'utiliser au-dessus des espaces de noms. Fonctionne à 100%. Im en utilisant cette dans le projet de live maintenant
Merci. Maintenant, il fonctionne. Tout simplement oublié de déplacer le script dans l'éditeur de dossier 😉 Mais il n'y a pas moyen de prolonger le composant directement comme c'est possible avec la transformation de la composante afin que je puisse utiliser le bouton par défaut?
Génial, merci de cocher cette comme réponse
Je vais, mais j'aimerais savoir si c'est possible d'étendre directement un composant de l'interface utilisateur.
OriginalL'auteur Greg Lukosek