51 lines
1.3 KiB
C#
51 lines
1.3 KiB
C#
using Google.Protobuf;
|
|
using Google.Protobuf.WellKnownTypes;
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCommon.BusinessLogDomain;
|
|
using MetaAssets;
|
|
|
|
|
|
namespace GameServer;
|
|
|
|
public abstract class GameModeJoinSuccessHandlerBase : IGameModeJoinSuccessHandler
|
|
{
|
|
protected Player m_player;
|
|
//protected InstanceRoom m_instance_room;
|
|
protected EPlaceType m_place_type;
|
|
protected List<ILogInvoker> m_log_invorkers;
|
|
|
|
public GameModeJoinSuccessHandlerBase(Player player, EPlaceType placeType)
|
|
{
|
|
m_player = player;
|
|
//m_instance_room = instanceRoom;
|
|
m_place_type = placeType;
|
|
m_log_invorkers = new();
|
|
}
|
|
|
|
public async Task<Result> joinSuccess()
|
|
{
|
|
var result = joinSuccessValidate();
|
|
if (result.isFail()) return result;
|
|
|
|
result = await joinSuccessConfirmation();
|
|
if (result.isFail()) return result;
|
|
|
|
result = joinSuccessNotify().Result;
|
|
if (result.isFail()) return result;
|
|
|
|
joinSuccessWriteLog();
|
|
|
|
return result;
|
|
}
|
|
|
|
public abstract Result joinSuccessValidate();
|
|
public abstract Task<Result> joinSuccessConfirmation();
|
|
public abstract Task<Result> joinSuccessNotify();
|
|
|
|
public abstract void joinSuccessWriteLog();
|
|
|
|
} |