LoopCheckDecorator

LoopCheckDecorator can be written in a C# script.

How to create

  1. Click the “+” button in the Project window.
  2. Select Logic Toolkit > Scripts > Decorator > Loop Check 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.LoopCheckDecorator.
  • Apply System.SerializableAttribute to the type.
  • Implement protected override bool OnNext() 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
28
29
30
31
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LogicToolkit;
using LogicToolkit.BehaviorTrees;

[System.Serializable]
public class LoopCheckDecoratorExample : LoopCheckDecorator
{
    private int count;

    // OnActivated is called when activated.
    protected override void OnActivated()
    {
        count = 0;
    }
    
    // Called when the node finishes executing
    protected override bool OnNext()
    {
        count++;

        // Returns true if the node is executed repeatedly
        return count < 10;
    }

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

This example repeats the node up to 10 times.

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