Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

AnimatorController.CreateStateMachineBehaviour

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual
public static function CreateStateMachineBehaviour(script: MonoScript): int;
public static int CreateStateMachineBehaviour(MonoScript script);

Parámetros

script MonoScript class to instantiate.

Valor de retorno

int Returns instance id of created object, returns 0 if something is not valid.

Descripción

This function will create a StateMachineBehaviour instance based on the class define in this script.

This function will validate that the monoscript is a valid statemachine behaviour, the class must be a sub class of StateMachineBehaviour and shouldn't be a generic. See Also: UnityEngine.StateMachineBehaviour.

#pragma strict
class AddSMB {
	public function DoAddStateMachineBehaviour(state: UnityEditor.Animations.AnimatorState, monoScript: MonoScript) {
		if (state == null)return ;
		var instanceID: int = AnimatorController.CreateStateMachineBehaviour(monoScript);
		if (instanceID == 0) {
			Debug.LogError("Could not create state machine behaviour " + monoScript.name);
			return ;
		}
		state.AddBehaviour(instanceID);
		var obj = EditorUtility.InstanceIDToObject(id);
		if (obj == null)
			Debug.LogError("No object could be found with instance id: " + id);
		else
			AssetDatabase.AddObjectToAsset(obj, state);
	}
}
class AddSMB
{
	public void DoAddStateMachineBehaviour(UnityEditor.Animations.AnimatorState state, MonoScript monoScript)
	{
		if (state == null)
			return;

int instanceID = AnimatorController.CreateStateMachineBehaviour(monoScript); if (instanceID == 0) { Debug.LogError("Could not create state machine behaviour " + monoScript.name); return; }

state.AddBehaviour(instanceID);

var obj = EditorUtility.InstanceIDToObject(id); if(obj == null) Debug.LogError("No object could be found with instance id: " + id); else AssetDatabase.AddObjectToAsset(obj, state); } }