ResultChangeDecorator

ResultChangeDecorator can be written in a C# script.

How to create

  1. Click the “+” button in the Project window.
  2. Select Logic Toolkit > Scripts > Decorator > Result Change Decorator C# Script from the menu.
  3. Enter the script name and confirm with Enter.

How to write a script

  • Create a class that inherits from LogicToolkit.BehaviorTree.ResultChangeDecorator.
  • Apply System.SerializableAttribute to the type.
  • Implement protected override bool OnResult(bool result) and write the processing at runtime.
  • protected override void OnActivated() is called when activated.
  • protected override void OnDeactivated() is called when it becomes inactive.

Code example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LogicToolkit;
using LogicToolkit.BehaviorTrees;

[System.Serializable]
public class ResultChangeDecoratorExample : ResultChangeDecorator
{
    // OnActivated is called when activated.
    protected override void OnActivated()
    {
        
    }
    
    // Called when the node finishes executing
    protected override bool OnResult(bool result)
    {
        return !result;
    }

    // OnDeactivated is called when it is deactivated.
    protected override void OnDeactivated()
    {
        
    }
}

This example returns the node results inverted.

In addition, a script called InvertResult is included in advance as a similar function.