#if GRAPH_DESIGNER
/// ---------------------------------------------
/// Behavior Designer
/// Copyright (c) Opsive. All Rights Reserved.
/// https://www.opsive.com
/// ---------------------------------------------
namespace Opsive.BehaviorDesigner.Runtime.Tasks
{
using Opsive.GraphDesigner.Runtime;
using Opsive.GraphDesigner.Runtime.Variables;
///
/// Interface for tasks that can load subtrees.
///
public interface ISubtreeReference
{
///
/// A list of mapped SharedVariables. These variables can override the subtree.
///
SharedVariableOverride[] SharedVariableOverrides { get; set; }
///
/// Performs any runtime operations to evaluate the array of subtrees that should be returned.
///
/// The component that the node is attached to.
void EvaluateSubtrees(IGraphComponent graphComponent);
///
/// The Subtrees that should be used at runtime.
///
Subtree[] Subtrees { get; }
}
}
#endif