Unity graph tool solution based on different implementation now focused on Unity.Experimental.Graphview
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.5 KiB

using TNodeCore.Editor.NodeGraphView;
using TNodeCore.Runtime.Models;
using UnityEditor;
namespace TNodeCore.Editor.Blackboard{
/// <summary>
/// View of the blackboard,different in each implementation,but the same in the interface.
/// </summary>
public interface IBlackboardView{
/// <summary>
/// Get the blackboard data model watched by this view.
/// </summary>
/// <returns></returns>
BlackboardData GetBlackboardData();
/// <summary>
/// Set the blackboard data model watched by this view.
/// </summary>
/// <param name="data"></param>
void SetBlackboardData(BlackboardData data);
/// <summary>
/// Add a new entry for the blackboard.currently no such use.
/// </summary>
void AddItem();
/// <summary>
/// Setup the blackboard view from the given Editor and graphview
/// </summary>
/// <param name="graphView"></param>
/// <param name="ownerWindow"></param>
void Setup(IBaseDataGraphView graphView,EditorWindow ownerWindow);
/// <summary>
/// Notify update the blackboard view's content by the watched blackboard data.
/// </summary>
void NotifyUpdate();
}
//A generic implementation of the blackboard view.
public interface IBlackboardView<T> : IBlackboardView where T : BlackboardData{
T Data{ get; set; }
}
}