Create custom Actions

To create a custom FSM action, simply right click in the project view and select: Create / Databrain / Logic / New FSM Action node

A new node class will be created which looks like this:

using System;
using Databrain.Logic.Attributes;
using UnityEngine;

namespace Databrain.Logic.StateMachine
{
    [NodeTitle("MyStateAction")]
    [NodeCategory("StateMachine/States")]
    [NodeOutputs(new string[] {"Next"})]
    [NodeDescription("This is a node description")]
    [NodeSize(260, 100)]
    [NodeColor("#C2FAFF", new string[]{"#74AFE0","","",""})]
    [NodeIcon("fsmAction.png", "LogicResPath.cs")]
    [NodeInputConnectionType(new Type[] {typeof(Actions)})]
    public class MyStateAction : StateMachineActionNode
    {

        public override void OnEnter()
        {
            // On Enter
        }

        public override void OnExit()
        {
            // On Exit
        }

        public override void OnUpdate()
        {
            // On update is called by the state machine controller node on every tick
        }   
    }
}

As you can see, the class has some node attributes like: NodeTitle, NodeDescription and NodeColor. To know more about NodeAttributes please read: Node Attributes

The body of the class contains three methods: OnEnter, OnExit and OnUpdate. This is where you can add your code.

  • OnEnter: Is called when entering the state

  • OnExit: Is called when exiting the state

  • OnUpdate: Is called on every tick by the FSM Controller

Last updated