我有一个为我正在开发的游戏创建的自定义 UI 小部件库。我需要考虑绘图顺序并将其重新安装到我目前拥有的东西中,并且不确定最好的方法。我有一个从 xml 文件加载小部件的 UI 类。它将所有小部件存储在地图中,其中键是小部件的字符串名称。
Widget 可以在父子关系中保存其他 Widget(因此 Widget 类有一个 Widget 的映射,其中名称再次成为键)。当我绘制时,我循环遍历 UI 小部件映射,并且只调用没有父级(最顶层)的小部件的 Draw() 函数。在每个 Widget 的 Draw() 中,它循环遍历它的子组件并调用它们的 Draw() 函数。
问题是什么是让每个小部件的排序顺序变量在保持地图的同时按排序顺序变量的顺序绘制的好方法,因为我喜欢通过字符串键名轻松查找小部件?
有任何想法吗?