초기커밋

This commit is contained in:
2025-05-01 07:20:41 +09:00
commit 98bb2e3c5c
2747 changed files with 646947 additions and 0 deletions

View File

@@ -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()}");
}
}