<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Data flow on Arbor Documentation</title>
    <link>/manual/scripting/dataflow.html</link>
    <description>Recent content in Data flow on Arbor Documentation</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Thu, 10 Nov 2016 07:15:23 +0000</lastBuildDate>
    
	<atom:link href="/manual/scripting/dataflow/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Output slot</title>
      <link>/manual/scripting/dataflow/outputslot.html</link>
      <pubDate>Thu, 10 Nov 2016 07:15:23 +0000</pubDate>
      
      <guid>/manual/scripting/dataflow/outputslot.html</guid>
      <description>Data can be output by declaring an output slot such as OutpotSlotInt.
Example script Create a TestOutputSlotBehaviour script file and write the following code.
1 2 3 4 5 6 7 8 9 10 11 12 13  using UnityEngine;
using Arbor;
[AddComponentMenu(&amp;#34;&amp;#34;)]
public class TestOutputSlotBehaviour : StateBehaviour
{
public OutputSlotInt outputSlot;
public override void OnStateBegin()
{
outputSlot.SetValue(Random.Range(100, 200));
}
}    When this script is added to the state of ArborFSM, it becomes as follows.</description>
    </item>
    
    <item>
      <title>Input slot</title>
      <link>/manual/scripting/dataflow/inputslot.html</link>
      <pubDate>Thu, 10 Nov 2016 07:15:23 +0000</pubDate>
      
      <guid>/manual/scripting/dataflow/inputslot.html</guid>
      <description>Data can be output by declaring an input slot such as InputSlotInt.
Example script Create a TestInputSlotBehaviour script file and write the following code.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  using UnityEngine;
using Arbor;
[AddComponentMenu(&amp;#34;&amp;#34;)]
public class TestInputSlotBehaviour : StateBehaviour
{
public InputSlotInt inputSlot;
public override void OnStateBegin()
{
int intValue = 0;
if (inputSlot.</description>
    </item>
    
    <item>
      <title>FlexibleField</title>
      <link>/manual/scripting/dataflow/flexiblefield.html</link>
      <pubDate>Thu, 10 Nov 2016 07:15:23 +0000</pubDate>
      
      <guid>/manual/scripting/dataflow/flexiblefield.html</guid>
      <description>FlexibleField is useful for not only input slots but also constant values and parameters.
Example script Create a TestFlexibleFieldBehaviour script file and write the following code.
1 2 3 4 5 6 7 8 9 10 11 12 13  using UnityEngine;
using Arbor;
[AddComponentMenu(&amp;#34;&amp;#34;)]
public class TestFlexibleFieldBehaviour : StateBehaviour
{
public FlexibleInt flexibleInt;
public override void OnStateBegin()
{
Debug.Log(&amp;#34;flexibleInt : &amp;#34; + flexibleInt.value);
}
}    When this script is added to the state of ArborFSM, it becomes as follows.</description>
    </item>
    
    <item>
      <title>Type constraints of slots</title>
      <link>/manual/scripting/dataflow/constraint.html</link>
      <pubDate>Thu, 10 Nov 2016 07:15:23 +0000</pubDate>
      
      <guid>/manual/scripting/dataflow/constraint.html</guid>
      <description>For some slots, you can use attributes to constrain the connectable types.
Example script Create TestConstraintSlotBehaviour script file and write the following code.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  using UnityEngine;
using Arbor;
[AddComponentMenu(&amp;#34;&amp;#34;)]
public class TestConstraintSlotBehaviour : StateBehaviour
{
[ClassExtends(typeof(AudioSource))]
public InputSlotComponent audioSource = new InputSlotComponent();
[ClassExtends(typeof(AudioClip))]
public InputSlotUnityObject audioClip = new InputSlotUnityObject();
public override void OnStateBegin()
{
AudioSource source_ = audioSource.</description>
    </item>
    
    <item>
      <title>DataLink attribute</title>
      <link>/manual/scripting/dataflow/datalink.html</link>
      <pubDate>Thu, 10 Nov 2016 07:15:23 +0000</pubDate>
      
      <guid>/manual/scripting/dataflow/datalink.html</guid>
      <description>By using DataLink attribute, input from constant or data flow can be accepted even if there is no corresponding type InputSlot or FlexibleField.
ScriptReference : DataLink
Example script Create ExampleDataLinkBehaviour script file and write the following code.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  using UnityEngine;
using Arbor;
[AddComponentMenu(&amp;#34;&amp;#34;)]
public class ExampleDataLinkBehaviour : StateBehaviour
{
[System.Serializable]
public class ExampleData
{
public string name = &amp;#34;Test&amp;#34;;
public float power = 100f;
}
[DataLink]
public ExampleData exampleData;
}    Notes  It can only be used in the fields of classes that inherit NodeBehaviour (such as StateBehaviour and ActionBehaviour).</description>
    </item>
    
  </channel>
</rss>