Par défaut, Unity ajoute les scripts dans le menu Component->Scripts. Ce sous-menu se remplit rapidement avec l'ajout
de scripts et devient difficile à utiliser. Un peu de classification serait le bienvenu. La solution est de créer ses propres sous-menus dans
le menu Component. Pour ce faire, l'attribut
AddComponentMenu
est ajouté avant la déclaration de la classe avec comme argument une chaîne de caractère contenant
le nom du sous-menu suivi du nom du script:
[AddComponentMenu("SousMenuName/SousSousMenuName/NomDuScript")]Reprenons le script RandomObjectsCreator.cs utilisé pour instancier des prefabs lorsque la touche "Espace" est pressée. Je veux que ce script apparaisse dans le menu Component->Mentalogicus->Creator. J'ajoute l'attribut AddComponentMenu de la manière suivante:
using UnityEngine; using System.Collections; [AddComponentMenu("Mentalogicus/Creator/RandomObjectsCreator")] public class RandomObjectsCreator : MonoBehaviour { public Transform _prefab; public float _radius = 10; // Update is called once per frame void Update () { if ( Input.GetKey("space") ) { //Create a random position. //The insideUnitSphere return a random //position inside a sphere of radius 1. Vector3 rndPos = Random.insideUnitSphere * _radius; //Create a random rotation. Quaternion rndRotation = Random.rotation; //Instantiate a new object at a random //position with a random rotation. Transform newGameObj = Instantiate( _prefab, rndPos, rndRotation) as Transform; } } }RandomObjectsCreator.cs by Mentalogicus is licensed under a Creative Commons Attribution 3.0 Unported License. Unity compile le script et le menu apparaît à l'endroit désiré!
Aucun commentaire:
Enregistrer un commentaire