초기커밋
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
using Google.Protobuf;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore;
|
||||
using ServerBase;
|
||||
using ServerCommon;
|
||||
using ServerCommon.BusinessLogDomain;
|
||||
using MetaAssets;
|
||||
|
||||
|
||||
namespace GameServer;
|
||||
|
||||
public partial class InstanceRoom
|
||||
{
|
||||
public async Task<bool> battleInstanceInit()
|
||||
{
|
||||
var result = await BattleInstanceManager.It.battleInstanceInit(this, _roomId);
|
||||
if (result.isFail())
|
||||
{
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public async Task<Result> sendGameModeInstanceJoinSuccess(Player player)
|
||||
{
|
||||
await Task.CompletedTask;
|
||||
//var game_mod_handler = GameModeManager.It.getGameModeJoinHandler(_placeType);
|
||||
return new();
|
||||
}
|
||||
|
||||
|
||||
public bool tryGetInstanceMember(string userGuid, [MaybeNullWhen(false)] out Player out_player)
|
||||
{
|
||||
out_player = null;
|
||||
if (false == m_players.TryGetValue(userGuid, out var player))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
out_player = player;
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
public List<BattleRoundingExistUsers> tryGetInstanceExistUserForLog()
|
||||
{
|
||||
List<BattleRoundingExistUsers> users = new();
|
||||
foreach (var player in m_players.Values)
|
||||
{
|
||||
BattleRoundingExistUsers user = new(player.getUserGuid(), player.getUserNickname());
|
||||
users.Add(user);
|
||||
}
|
||||
|
||||
return users;
|
||||
}
|
||||
|
||||
public async Task LeaveBattleInstanceRoom(Player player, bool disconnected)
|
||||
{
|
||||
var user_guid = player.getUserGuid();
|
||||
|
||||
Log.getLogger().info($"BattleInstanceRoom.Leave() Start !!! - userGuid:{user_guid}, instanceRoomId:{_roomId}, sessionCount:{SessionCount}, addConnectedUser:{getMap().getCurrCountAsAddConnectedUser()}");
|
||||
|
||||
if (m_players.TryRemove(player.getUserGuid(), out _))
|
||||
{
|
||||
await BattleInstanceRoomHandler.leaveBattleInstanceRoom(user_guid, _roomId);
|
||||
}
|
||||
|
||||
var location_attribute = player.getEntityAttribute<LocationAttribute>();
|
||||
NullReferenceCheckHelper.throwIfNull(location_attribute, () => $"LocationAttribute is null !!! - player:{player.toBasicString()}");
|
||||
location_attribute.CurrentIndunLocation.clear();
|
||||
|
||||
var game_zone_action = player.getEntityAction<GameZoneAction>();
|
||||
await game_zone_action.tryLeaveGameZone();
|
||||
|
||||
if (SessionCount + getMap().getCurrCountAsAddConnectedUser() == 0)
|
||||
{
|
||||
if (!_isPartyInstance || _concertEnd)
|
||||
{
|
||||
await destroyRoom();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
ClientToGame clientToGame = new ClientToGame();
|
||||
clientToGame.Message = new ClientToGameMessage();
|
||||
clientToGame.Message.LeaveInstanceRoomMember = new ClientToGameMessage.Types.LeaveInstanceRoomMember();
|
||||
clientToGame.Message.LeaveInstanceRoomMember.MemberGuid = player.getUserGuid();
|
||||
|
||||
Broadcast(clientToGame);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Log.getLogger().info($"InstanceRoom.Leave() Finish !!! - userGuid:{user_guid}, instanceRoomId:{_roomId}, sessionCount:{SessionCount}, addConnectedUser:{getMap().getCurrCountAsAddConnectedUser()}");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user