Files
neonsr/game_server/handlers/PlayerGetTokenCsReq.py
Naruse ec8972d5d6 init
2025-04-15 19:36:05 +08:00

36 lines
1.2 KiB
Python

import betterproto
from game_server.net.session import PlayerSession
from database.account.account_data import find_account_by_uid
from database.player.player_data import PlayerData,find_player_by_uid
from database.lineup.lineup_data import LineupData
from rail_proto.lib import (
PlayerGetTokenCsReq,
PlayerGetTokenScRsp
)
from game_server.game.player.player_manager import PlayerManager
async def handle(session: PlayerSession, msg: PlayerGetTokenCsReq) -> betterproto.Message:
account_uid = int(msg.account_uid)
account_data=find_account_by_uid(account_uid)
if not account_data:
return PlayerGetTokenScRsp(
retcode=1003
)
player_data=find_player_by_uid(account_uid)
if not player_data:
player_data=PlayerData(uid=account_uid).create_player_data(account_data.username)
session.player=PlayerManager(data=player_data)
session.player.add_avatar(8001)
session.player.add_avatar(1001)
session.player.add_lineup([8001])
else:
session.player=PlayerManager(data=player_data)
return PlayerGetTokenScRsp(
retcode=0,
uid=account_uid,
msg="OK"
)