下载 App
开发者日志02 程序篇
修改于5 小时前3 浏览
《余响》元素状态架构
首先恭喜我们的游戏终于确定名字啦!我们的游戏确定命名: 余响 Echoes
今天以及开题一周了,慢慢的游戏的大框架也搭建出来了,背景故事,概念设计,玩法设计都在慢慢步入正轨。
今天是我们的程序老师 LZN老师 和大家的开发日志分享~
分层

| 层 | 干啥 |
| Attribute | 连续量 |
| StateRunner | request_state / remove_state |
| ReactionTable | 读 .tres 规则 |
| StateBase | 进场/离场/计时 |
实体统一挂在 Components 下:StateRunner + AttributeContainer。


一次请求

func request_state(state_id: State.StateId) -> void:
var result := StateReactionTable.resolve(self, state_id)
if not result["accepted"]:
return
for id in result["remove"]:
remove_state(id)
for id in result["add"]:
acquire_state(id)
var result := StateReactionTable.resolve(self, state_id)
if not result["accepted"]:
return
for id in result["remove"]:
remove_state(id)
for id in result["add"]:
acquire_state(id)


运行时

草地可关 spawn_state_vfx,逻辑照走、表现自管。


和属性怎么接



边界
- 外部只走 Runner 入口
- 互斥/转化写在资源上
- 无状态不进全局 tick











