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