2
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.7 KiB
C#

using System.Collections.Generic;
using CleverCrow.Fluid.BTs.Trees;
using UnityEngine;
namespace CleverCrow.Fluid.BTs.Tasks {
public interface ITask {
/// <summary>
/// Used for debugging and identification purposes
/// </summary>
string Name { get; set; }
/// <summary>
/// Is this task enabled or not? Disabled tasks are excluded from the runtime
/// </summary>
bool Enabled { get; set; }
string IconPath { get; }
/// <summary>
/// Reference to the behavior tree responsible for this node. Allows for dynamic variables such as adding a
/// GameObject reference
/// </summary>
GameObject Owner { get; set; }
/// <summary>
/// Tree this node belongs to
/// </summary>
IBehaviorTree ParentTree { get; set; }
List<ITask> Children { get; }
/// <summary>
/// Last status returned by Update
/// </summary>
TaskStatus LastStatus { get; }
EditorRuntimeUtilities EditorUtils { get; }
float IconPadding { get; }
bool HasBeenActive { get; }
/// <summary>
/// Triggered every tick
/// </summary>
/// <returns></returns>
TaskStatus Update ();
/// <summary>
/// Forcibly end this task. Firing all necessary completion logic
/// </summary>
void End ();
/// <summary>
/// Reset this task back to its initial state to run again. Triggered after the behavior
/// tree finishes with a task status other than continue.
/// </summary>
void Reset ();
}
}