Unity Game FrameWork—模块使用—数据结点

官方说明:将任意类型的数据以树状结构的形式进行保存,用于管理游戏运行时的各种数据。
数据结点存储的是游戏运行时数据,不会保存到本地。这一块功能,Demo里面没有使用。
根节点可以添加任意子节点,子节点也可添加子节点。每个节点只能存储一个数据,这个数据可以是任意类型,根节点不能添加数据。如果多次设置数据,则只会保存最后一次的数据及其类型。
下面看下数据结点相关API调用
添加节点:
GameEntry.DataNode.GetOrAddNode(“SoundGroup”);
添加数据:
Node03.SetData(“QQQQ”);
Node03.GetOrAddChild(“所属组件名”).SetData(“UIComponent”);
添加节点和数据:
GameEntry.DataNode.SetData(“UIGroup”, “QQQQ”);
获取数据:
Node03.GetChild(“Nums”).GetData());
子节点数量:
Node02.ChildCount;
节点全名:
Node03.GetChild(“Nums”).FullName;
删除节点:
GameEntry.DataNode.RemoveNode(“UIGroup”);
删除节点的第index个子节点:
GameEntry.DataNode.GetNode(“EntityGroup”).RemoveChild(1);
GameEntry.DataNode.GetNode(“SoundGroup”).RemoveChild(“Nums”);
清除节点:
GameEntry.DataNode.GetNode(“EntityGroup”).Clear();
清除全部数据节点:
GameEntry.DataNode.Clear();

下面是写的例子及打印日志,熟悉一下使用
IDataNode Node01 = GameEntry.DataNode.GetOrAddNode(“SoundGroup”);
IDataNode Node02 = GameEntry.DataNode.GetOrAddNode(“EntityGroup”);
//IDataNode Node03 = GameEntry.DataNode.GetOrAddNode(“UIGroup”);
GameEntry.DataNode.SetData(“UIGroup”, “QQQQ”);
IDataNode Node03 = GameEntry.DataNode.GetNode(“UIGroup”);
Node01.GetOrAddChild(“所属组件名”).SetData(“SoundComponent”);
Node02.GetOrAddChild(“所属组件名”).SetData(“EntityComponent”);
Node03.SetData(“QQQQ”);
Node03.GetOrAddChild(“所属组件名”).SetData(“UIComponent”);
Node03.GetOrAddChild(“所属组件名”).GetOrAddChild(“TTT”).SetData(“HHHHHHH”);
Node01.GetOrAddChild(“Nums”).SetData(10);
Node02.GetOrAddChild(“Nums”).SetData(20);
Node03.GetOrAddChild(“Nums”).SetData(40);
Node03.GetOrAddChild(“Nums”).SetData(“BB”);
Debug.LogError(“-------------------------------------”);
Debug.LogError(Node02.Name);
Debug.LogError(Node02.ChildCount);
Debug.LogError(Node03.GetChild(“Nums”).FullName);
Debug.LogError(Node03.GetData());
Debug.LogError(Node03.GetChild(“Nums”).GetData());
Debug.LogError(Node03.GetChild(“所属组件名”).GetData());
Debug.LogError(Node03.GetChild(“所属组件名”).GetChild(“TTT”).GetData());
Debug.LogError(“-------------------------------------”);
GameEntry.DataNode.RemoveNode(“UIGroup”);
GameEntry.DataNode.GetNode(“EntityGroup”).RemoveChild(1);
GameEntry.DataNode.GetNode(“SoundGroup”).RemoveChild(“Nums”);
Debug.LogError(GameEntry.DataNode.GetNode(“UIGroup”));
Debug.LogError(Node02.ChildCount);
Debug.LogError(GameEntry.DataNode.GetNode(“EntityGroup”).GetChild(0).GetData());
Debug.LogError(GameEntry.DataNode.GetNode(“SoundGroup”).GetChild(“所属组件名”).GetData());
Debug.LogError(“-------------------------------------”);
GameEntry.DataNode.GetNode(“EntityGroup”).Clear();
Debug.LogError(Node02.ChildCount);
GameEntry.DataNode.Clear();
Debug.LogError(GameEntry.DataNode);
[图片]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值