包信息
| 项目 |
内容 |
| PacketID |
25 |
| 包名 |
GCSpecialObj_FadeOut |
| 方向 |
服务端 -> 客户端 |
| 长度 |
4 |
| 主要用途 |
通知客户端某个特殊对象开始淡出并从场景中移除 |
| 当前主链状态 |
现役;特殊对象淡出时发送 |
包体结构
| 偏移 |
长度 |
字段 |
类型 |
含义 |
| 0 |
4 |
m_objID |
int32 |
需要淡出删除的特殊对象 ID |
当前实际行为
- 当前 Lua 在
special:on_fade_out() 中发送这条包。
- 发送完成后,服务端会立即删除该特殊对象。
- 当前客户端仍保留处理逻辑,会按
m_objID 查找目标对象,并触发对应的淡出/删除事件。
服务端落点
/home/ubuntu/Game2/services/game/packet.lua
- 定义
GCSpecialObj_FadeOut 的 4 字节结构
/home/ubuntu/Game2/services/scene/obj/special.lua
关键代码
function special:on_fade_out()
local msg = packet_def.GCSpecialObj_FadeOut.new()
msg.m_objID = self:get_obj_id()
self:get_scene():broadcast(self, msg, true)
self:get_scene():delete_obj(self)
end
结论
GCSpecialObj_FadeOut 是当前版本特殊对象退场时的现役删除通知包。
包体只有一个对象 ID,作用就是告诉客户端“这个特殊对象该淡出并消失了”。
|