script | MonoScript kelas untuk instaniate. |
Sitemap Kembalikan contoh id dari menciptakan objek, kembali 0 jika sesuatu tidak valid.int Returns instance id of created object, returns 0 if something is not valid.
Fungsi ini akan membuat instance StateMachineBehaviour berdasarkan kelas mendefinisikan dalam script ini.
Fungsi ini akan memvalidasi bahwa monoscript adalah perilaku statemachine yang valid, kelas harus menjadi sub kelas StateMachineBehaviour dan tidak boleh menjadi generik. Lihat Juga: StateMachineBehaviour.
using UnityEditor; using UnityEditor.Animations; using UnityEngine;
public 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.AddStateMachineBehaviour(monoScript.GetClass());
var obj = EditorUtility.InstanceIDToObject(instanceID); if (obj == null) Debug.LogError("No object could be found with instance id: " + instanceID); else AssetDatabase.AddObjectToAsset(obj, state.ToString()); } }