65 lines
1.6 KiB
C#
65 lines
1.6 KiB
C#
using System.ComponentModel;
|
|
using UnityEngine;
|
|
|
|
namespace Unity.VisualScripting
|
|
{
|
|
[AddComponentMenu("Visual Scripting/Script Machine")]
|
|
[RequireComponent(typeof(Variables))]
|
|
[DisableAnnotation]
|
|
[HelpURL("https://docs.unity3d.com/Packages/com.unity.visualscripting@latest/index.html?subfolder=/manual/vs-graphs-machines-macros.html")]
|
|
[DisplayName("Script Machine")]
|
|
public sealed class FlowMachine : EventMachine<FlowGraph, ScriptGraphAsset>
|
|
{
|
|
public override FlowGraph DefaultGraph()
|
|
{
|
|
return FlowGraph.WithStartUpdate();
|
|
}
|
|
|
|
protected override void OnEnable()
|
|
{
|
|
if (hasGraph)
|
|
{
|
|
graph.StartListening(reference);
|
|
}
|
|
|
|
base.OnEnable();
|
|
}
|
|
|
|
protected override void OnInstantiateWhileEnabled()
|
|
{
|
|
if (hasGraph)
|
|
{
|
|
graph.StartListening(reference);
|
|
}
|
|
|
|
base.OnInstantiateWhileEnabled();
|
|
}
|
|
|
|
protected override void OnUninstantiateWhileEnabled()
|
|
{
|
|
base.OnUninstantiateWhileEnabled();
|
|
|
|
if (hasGraph)
|
|
{
|
|
graph.StopListening(reference);
|
|
}
|
|
}
|
|
|
|
protected override void OnDisable()
|
|
{
|
|
base.OnDisable();
|
|
|
|
if (hasGraph)
|
|
{
|
|
graph.StopListening(reference);
|
|
}
|
|
}
|
|
|
|
[ContextMenu("Show Data...")]
|
|
protected override void ShowData()
|
|
{
|
|
base.ShowData();
|
|
}
|
|
}
|
|
}
|