기술 자료

Unity Engine

Unity Engine

CreateStateMachineBehaviour(MonoScript)

This function will create a StateMachineBehaviour instance based on the class define in this script.
읽는 시간 1분최근 업데이트: 한 달 전

Definition

경고
Removed. CreateStateMachineBehaviour is deprecated. Use CreateNewStateMachineBehaviour instead.
public static int CreateStateMachineBehaviour(MonoScript script)

Parameters

MonoScript class to instantiate.

Returns

Type

Description

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

Remarks

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. Additional Resources: StateMachineBehaviour.

Examples

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 obj = EditorUtility.EntityIdToObject(entityId); if (obj == null) Debug.LogError("No object could be found with entity id: " + entityId); else AssetDatabase.AddObjectToAsset(obj, state.ToString()); }}