【多场景】一些易用性建议

[复制链接]
174 |3
糖门-板砖 发表于 2024-3-23 14:48:28 | 显示全部楼层 |阅读模式
本帖最后由 糖门-板砖 于 2024-3-23 20:03 编辑

多场景实际应用中,制作完全不同的子场景的情况非常少(例如主场景就是一个游戏集,跳转不同的子游戏)。
大部分的子场景与主场景都使用一些相同的资源,比如脚本,大部分的ui,预制体,场景设置等,
一般情况,不同的只有level(场景文件)。


当我创建了几个子场景后,我在主场景对脚本等内容的增加和修改,如何应用到子场景?
需要记住改动或添加了哪些,把这些变化后的脚本,一 一复制到子场景(甚至去子场景再做一遍)。 同理:还有ui,预制体等。
这太繁琐了。


如果没有更好的办法,
我建议可以给主场景设置几个共享选项(默认关闭),就像设置公开与否一样,可设置所有脚本是否对子场景共享,ui是否共享,预制体是否共享等。
相应子场景可以设置是否接受共享的改动。所有设置了共享的子场景和主场景建立一个共享池共享池中任意成员的改动都会共享给池中其他成员


实现起来,现有框架不变,共享方法有两种:
1自动共享: 只需要在保存/删除/修改脚本、ui等文件的时候,根据设置,修改所有共享池中子场景对应的文件即可。
2手动共享: 主场景右键菜单中增加手动共享按钮,需要时将对应文件共享给所有共享池成员。


后期成熟后还可以新增多个共享池,增加子场景管理器等......
这样就能极大提升多场景的使用效率。

以下是可能出现的疑问

Q: 共享后脚本如果都成一样了,那不同场景如何做不同的功能?
A: 通过TeleportService.asyncGetPlayerRoomInfo()获取房间信息,可查询当前是在哪个场景,从而根据这个来判断,实现不同的功能




回复

使用道具 举报

复读机读复读机 发表于 2024-3-24 10:48:37 | 显示全部楼层
感谢反馈!这不是巧了吗,我们正在着手准备多场景的第二期优化来解决多场景之间资源同步的问题,目前的优化方向和您的建议高度重合
可以期待一下后续的版本更新
回复

使用道具 举报

糖门-板砖楼主 发表于 2024-3-24 13:46:53 | 显示全部楼层
复读机读复读机 发表于 2024-3-24 10:48
感谢反馈!这不是巧了吗,我们正在着手准备多场景的第二期优化来解决多场景之间资源同步的问题,目前的优化 ...

还有目前缺少直接获取当前场景id的API,这个应该是遗漏了吧
回复

使用道具 举报

复读机读复读机 发表于 2024-3-25 19:00:41 | 显示全部楼层
糖门-板砖 发表于 2024-3-24 13:46
还有目前缺少直接获取当前场景id的API,这个应该是遗漏了吧

回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表