//------------------------------------------------------------ // Game Framework // Copyright © 2013-2021 loyalsoft. All rights reserved. // Homepage: http://www.game7000.com/ // Feedback: http://www.game7000.com/ //------------------------------------------------------------ namespace GameFramework.DataNode { /// /// 数据结点管理器接口。 /// public interface IDataNodeManager { /// /// 获取根数据结点。 /// IDataNode Root { get; } /// /// 根据类型获取数据结点的数据。 /// /// 要获取的数据类型。 /// 相对于 node 的查找路径。 /// 指定类型的数据。 T GetData(string path) where T : Variable; /// /// 获取数据结点的数据。 /// /// 相对于 node 的查找路径。 /// 数据结点的数据。 Variable GetData(string path); /// /// 根据类型获取数据结点的数据。 /// /// 要获取的数据类型。 /// 相对于 node 的查找路径。 /// 查找起始结点。 /// 指定类型的数据。 T GetData(string path, IDataNode node) where T : Variable; /// /// 获取数据结点的数据。 /// /// 相对于 node 的查找路径。 /// 查找起始结点。 /// 数据结点的数据。 Variable GetData(string path, IDataNode node); /// /// 设置数据结点的数据。 /// /// 要设置的数据类型。 /// 相对于 node 的查找路径。 /// 要设置的数据。 void SetData(string path, T data) where T : Variable; /// /// 设置数据结点的数据。 /// /// 相对于 node 的查找路径。 /// 要设置的数据。 void SetData(string path, Variable data); /// /// 设置数据结点的数据。 /// /// 要设置的数据类型。 /// 相对于 node 的查找路径。 /// 要设置的数据。 /// 查找起始结点。 void SetData(string path, T data, IDataNode node) where T : Variable; /// /// 设置数据结点的数据。 /// /// 相对于 node 的查找路径。 /// 要设置的数据。 /// 查找起始结点。 void SetData(string path, Variable data, IDataNode node); /// /// 获取数据结点。 /// /// 相对于 node 的查找路径。 /// 指定位置的数据结点,如果没有找到,则返回空。 IDataNode GetNode(string path); /// /// 获取数据结点。 /// /// 相对于 node 的查找路径。 /// 查找起始结点。 /// 指定位置的数据结点,如果没有找到,则返回空。 IDataNode GetNode(string path, IDataNode node); /// /// 获取或增加数据结点。 /// /// 相对于 node 的查找路径。 /// 指定位置的数据结点,如果没有找到,则创建相应的数据结点。 IDataNode GetOrAddNode(string path); /// /// 获取或增加数据结点。 /// /// 相对于 node 的查找路径。 /// 查找起始结点。 /// 指定位置的数据结点,如果没有找到,则创建相应的数据结点。 IDataNode GetOrAddNode(string path, IDataNode node); /// /// 移除数据结点。 /// /// 相对于 node 的查找路径。 void RemoveNode(string path); /// /// 移除数据结点。 /// /// 相对于 node 的查找路径。 /// 查找起始结点。 void RemoveNode(string path, IDataNode node); /// /// 移除所有数据结点。 /// void Clear(); } }