[core] FlowContext 更新元信息后,需要立即生效(跨服调用时)
iohao opened this issue · comments
渔民小镇 commented
功能的增强的使用场景
在此之前,更新元信息后,并不会将元信息同步到 FlowContext 中,只会将元信息同步到游戏对外服中;所以在更新元信息后,紧接着执行跨服调用是不能获取新的元信息内容的。
当前 issues 会对这部分做增强,也就是在更新元信息后,会将元信息同步到 FlowContext 中;这样,在后续的跨服调用中也能获取到最新的元信息。
void test1(FlowContext flowContext) {
// 获取元信息
MyAttachment attachment = flowContext.getAttachment(MyAttachment.class);
attachment.nickname = "渔民小镇";
// [同步]更新 - 将元信息同步到玩家所在的游戏对外服中
flowContext.updateAttachment(attachment);
// 跨服请求
CmdInfo helloCmdInfo = CmdInfo.of(1, 1);
flowContext.invokeModuleMessage(helloCmdInfo);
}
@ActionController(1)
public class DemoFightAction {
@ActionMethod(1)
void hello(FlowContext flowContext) {
// 可以得到最新的元信息
MyAttachment attachment = flowContext.getAttachment(MyAttachment.class);
log.info("{}", attachment.nickname);
}
}
相关文档