70 lines
1.9 KiB
C#
70 lines
1.9 KiB
C#
using Amazon.OpenSearchService.Model.Internal.MarshallTransformations;
|
|
using Amazon.Runtime.Internal.Transform;
|
|
using GameServer.PacketHandler;
|
|
using RabbitMQ.Client;
|
|
using ServerCommon;
|
|
using ServerCore; using ServerBase;
|
|
using System;
|
|
using System.Collections.Concurrent;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
using META_ID = System.UInt32;
|
|
|
|
namespace GameServer
|
|
{
|
|
public class StateAction : EntityActionBase
|
|
{
|
|
public StateAction(Player owner)
|
|
: base(owner)
|
|
{
|
|
}
|
|
|
|
public override async Task<Result> onInit()
|
|
{
|
|
await Task.CompletedTask;
|
|
|
|
var result = new Result();
|
|
|
|
return result;
|
|
}
|
|
|
|
public override void onClear()
|
|
{
|
|
return;
|
|
}
|
|
|
|
public async Task<Result> ChangeState(PlayerStateType playerStateType)
|
|
{
|
|
var result = new Result();
|
|
|
|
var player = getOwner() as Player;
|
|
NullReferenceCheckHelper.throwIfNull(player, () => $"player is null !!!");
|
|
|
|
var server_logic = GameServerApp.getServerLogic();
|
|
NullReferenceCheckHelper.throwIfNull(server_logic, () => $"server_logic is null !!! - {player.toBasicString()}");
|
|
|
|
var login_cache_request = new LoginCacheRequest(player, server_logic.getRedisConnector());
|
|
result = await login_cache_request.fetchLogin();
|
|
if (result.isFail())
|
|
{
|
|
return result;
|
|
}
|
|
|
|
var login_cache = login_cache_request.getLoginCache();
|
|
NullReferenceCheckHelper.throwIfNull(login_cache, () => $"login_cache is null !!! - {player.toBasicString()}");
|
|
login_cache.State = playerStateType;
|
|
|
|
result = await login_cache_request.upsertLogin();
|
|
if (result.isFail())
|
|
{
|
|
return result;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|