import betterproto from game_server.net.session import Session from game_server.resource import ResourceManager from game_server.resource.configdb.mission_data import MissionData from game_server.utils import get_unix_in_seconds from lib.proto import ( GetMissionDataReq, GetMissionDataRsp, Mission, MissionStatus, ChallengeMissionData, MainlineStepMission ) async def handle(session: Session, msg: GetMissionDataReq) -> betterproto.Message: return GetMissionDataRsp( retcode=0, challenge_mission=ChallengeMissionData( is_unlock=True ), close_mission_list=[mission.id for mission in ResourceManager.instance().values(MissionData)], is_all=True, is_in_activity=True, mainline_step=MainlineStepMission( is_update=True ), mission_list=[ Mission( mission_id=mission.id, status=MissionStatus.MISSION_CLOSE.value, priority=mission.Priority, progress=mission.totalProgress, begin_time=0, end_time=2073239999, cycle_id=1 ) for mission in ResourceManager.instance().values(MissionData) ] )