import betterproto from game_server.net.session import PlayerSession from game_server.resource import ResourceManager from game_server.resource.configdb.main_mission import MainMissionData from rail_proto.lib import ( GetMissionStatusCsReq, GetMissionStatusScRsp, Mission, MissionStatus ) async def handle(session: PlayerSession, msg: GetMissionStatusCsReq) -> betterproto.Message: return GetMissionStatusScRsp( retcode=0, finished_main_mission_id_list=[mission.MainMissionID for mission in ResourceManager.instance().values(MainMissionData)], sub_mission_status_list=[ Mission( id=mission_id, progress=1, status=MissionStatus.MISSION_FINISH.value ) for mission_id in msg.sub_mission_id_list ], unfinished_main_mission_id_list=[], disabled_main_mission_id_list=[] )