import betterproto from game_server.net.session import PlayerSession from game_server.game.motion.motion_info import Motion from rail_proto.lib import ( GetCurSceneInfoCsReq, GetCurSceneInfoScRsp, SceneEntityMoveScNotify ) async def handle(session: PlayerSession, msg: GetCurSceneInfoCsReq) -> betterproto.Message: session.pending_notify( SceneEntityMoveScNotify( entry_id=session.player.scene_manager.entry_id, motion=Motion( x=session.player.data.pos.x, y=session.player.data.pos.y, z=session.player.data.pos.z, rotY=session.player.data.rot.y, ).ToProto() ) ) return GetCurSceneInfoScRsp( retcode=0, scene=session.player.scene_manager.ToProto(session=session) )