65 lines
1.9 KiB
C#
65 lines
1.9 KiB
C#
using GameServer.Contents.GameMode.Helper;
|
|
using GameServer.Contents.GameMode.Manage;
|
|
using GameServer.Contents.GameMode.Manage.PlayManage;
|
|
using GameServer.Contents.GameMode.Manage.StateManage;
|
|
using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCore;
|
|
|
|
namespace GameServer.Contents.GameMode.Mode_Running.Manage;
|
|
|
|
public class RunRaceJoinSuccessHandler : GameModeJoinSuccessHandlerBase
|
|
{
|
|
public RunRaceJoinSuccessHandler(Player player, InstanceRoom instanceRoom) : base(player, GameModeType.RUN_RACE, instanceRoom)
|
|
{
|
|
}
|
|
|
|
public override Result joinSuccessValidate()
|
|
{
|
|
var result = new Result();
|
|
|
|
return result;
|
|
}
|
|
|
|
public override Task<Result> joinSuccessConfirmation()
|
|
{
|
|
var result = new Result();
|
|
|
|
return Task.FromResult(result);
|
|
}
|
|
|
|
public override async Task<Result> joinSuccessNotify()
|
|
{
|
|
var result = new Result();
|
|
|
|
var room_id = m_instance_room.getMap().m_room_id;
|
|
|
|
var err_msg = string.Empty;
|
|
if (false == GameModeManager.It.tryGetGameMode(room_id, out var gameMode))
|
|
{
|
|
err_msg = $"not exist GameMode after join success!!!! roomId : {room_id}";
|
|
|
|
result.setFail(ServerErrorCode.GameModeClassIsNull, err_msg);
|
|
Log.getLogger().error(err_msg);
|
|
return result;
|
|
}
|
|
|
|
var game_mode_base = gameMode as GameModeBase;
|
|
NullReferenceCheckHelper.throwIfNull(game_mode_base, () => $"game_mode_base is null !!!");
|
|
|
|
var state = game_mode_base.getGameModeState();
|
|
|
|
var state_base = state as GameModeStateBase;
|
|
NullReferenceCheckHelper.throwIfNull(state_base, () => $"state_base is null !!!");
|
|
|
|
GameNotifyHelper.send_GS2C_NTF_GAME_STATE_UPDATE(m_player, m_instance_room, state.getStateType(), state_base.getNextStateChangeTime());
|
|
|
|
await Task.CompletedTask;
|
|
return result;
|
|
}
|
|
|
|
public override void joinSuccessWriteLog()
|
|
{
|
|
|
|
}
|
|
} |