Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

AnimatorController.CreateNewStateMachineBehaviour

Declaration

public static EntityId CreateNewStateMachineBehaviour(MonoScript script);

Параметры

Параметр Описание
скрипт Класс MonoScript, экземпляр которого нужно создать.

Возвращаемое значение

EntityId Возвращает EntityId созданного объекта, возвращает EntityId.None если что-то неверно.

Описание

Эта функция создаёт экземпляр StateMachineBehaviour на основе класса, объявленного в этом скрипте.

Эта функция проверяет, что monoscript является допустимым поведением машины состояний: класс должен быть подклассом StateMachineBehaviour и не должен быть обобщённым. Дополнительные ресурсы: StateMachineBehaviour.

using UnityEditor;
using UnityEditor.Animations;
using UnityEngine;

public class AddSMB { public void DoAddStateMachineBehaviour(UnityEditor.Animations.AnimatorState state, MonoScript monoScript) { if (state == null) return;

EntityId entityId = AnimatorController.CreateNewStateMachineBehaviour(monoScript); if (entityId == EntityId.None) { Debug.LogError("Could not create state machine behaviour " + monoScript.name); return; }

state.AddStateMachineBehaviour(monoScript.GetClass()); var behaviour = EditorUtility.EntityIdToObject(entityId); AssetDatabase.AddObjectToAsset(behaviour, state.ToString()); } }