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