250501 커밋
This commit is contained in:
@@ -0,0 +1,238 @@
|
||||
using GameServer.Contents.GameMode.Mode_Battle.Manage;
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
using Newtonsoft.Json;
|
||||
using ServerCommon;
|
||||
using ServerCore;
|
||||
|
||||
namespace GameServer;
|
||||
|
||||
public static class BattleRoomNotifyHelper
|
||||
{
|
||||
|
||||
public static void send_GS2C_NTF_POD_COMBAT_STATE(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, Player player)
|
||||
{
|
||||
var ntf = makePodCombatStateNotify(battleInstanceRoom);
|
||||
GameServerApp.getServerLogic().onSendPacket(player, ntf);
|
||||
}
|
||||
|
||||
public static void broadcast_GS2C_NTF_POD_COMBAT_STATE(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom)
|
||||
{
|
||||
var ntf = makePodCombatStateNotify(battleInstanceRoom);
|
||||
|
||||
Log.getLogger().debug($"broadcast_GS2C_NTF_POD_COMBAT_STATE ntf battleInstanceRoom Id : {battleInstanceRoom.getRoomId()} data : {JsonConvert.SerializeObject(ntf.Message.NtfPodCombatState)}");
|
||||
|
||||
battleInstanceRoom.getInstanceRoom().Broadcast(ntf);
|
||||
}
|
||||
|
||||
private static ClientToGame makePodCombatStateNotify(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfPodCombatState = new ClientToGameMessage.Types.GS2C_NTF_POD_COMBAT_STATE();
|
||||
|
||||
var attribute = battleInstanceRoom.getEntityAttribute<BattleInstanceSnapshotAttribute>();
|
||||
NullReferenceCheckHelper.throwIfNull(attribute, () => $"location attribute is null !!");
|
||||
|
||||
var pod_combat = attribute.m_combat_pod_mode.m_pod_combat;
|
||||
|
||||
BattlePodCombatState state = new();
|
||||
state.PodCombatGuid = pod_combat.m_anchor_guid;
|
||||
state.OwnerPodCombatStandGuid = pod_combat.m_source_storage_anchor_guid;
|
||||
state.PodCombatStateType = pod_combat.m_state;
|
||||
state.StatechangeTime = Timestamp.FromDateTime(pod_combat.m_state_change_time);
|
||||
state.CurrentPos = pod_combat.m_currenct_Pos;
|
||||
state.CurrentOwnerGuid = pod_combat.m_current_occupier_guid;
|
||||
state.CurrentTime = Timestamp.FromDateTime(DateTimeHelper.Current);
|
||||
|
||||
ntf.Message.NtfPodCombatState.PodCombatState.Add(state);
|
||||
|
||||
|
||||
return ntf;
|
||||
}
|
||||
|
||||
|
||||
public static void send_GS2C_NTF_BATTLE_INSTANCE_STATE(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, Player player)
|
||||
{
|
||||
var ntf = makeBattleInstanceStateNotify(battleInstanceRoom);
|
||||
Log.getLogger().debug($"send_GS2C_NTF_BATTLE_INSTANCE_STATE ntf battleInstanceRoom Id : {battleInstanceRoom.getRoomId()} data : {JsonConvert.SerializeObject(ntf.Message.NtfBattleInstanceState)}");
|
||||
|
||||
GameServerApp.getServerLogic().onSendPacket(player, ntf);
|
||||
}
|
||||
|
||||
public static void broadcast_GS2C_NTF_BATTLE_INSTANCE_STATE(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom)
|
||||
{
|
||||
var ntf = makeBattleInstanceStateNotify(battleInstanceRoom);
|
||||
Log.getLogger().debug($"broadcast_GS2C_NTF_BATTLE_INSTANCE_STATE ntf battleInstanceRoom Id : {battleInstanceRoom.getRoomId()} data : {JsonConvert.SerializeObject(ntf.Message.NtfBattleInstanceState)}");
|
||||
battleInstanceRoom.getInstanceRoom().Broadcast(ntf);
|
||||
}
|
||||
|
||||
private static ClientToGame makeBattleInstanceStateNotify(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfBattleInstanceState = new ClientToGameMessage.Types.GS2C_NTF_BATTLE_INSTANCE_STATE();
|
||||
ntf.Message.NtfBattleInstanceState.CreateTime = Timestamp.FromDateTime(battleInstanceRoom.m_battle_instance_event_start_time);
|
||||
|
||||
var attribute = battleInstanceRoom.getEntityAttribute<BattleInstanceSnapshotAttribute>();
|
||||
NullReferenceCheckHelper.throwIfNull(attribute, () => $"attribute is null !!!");
|
||||
|
||||
ntf.Message.NtfBattleInstanceState.CurrentRound = attribute.m_combat_pod_mode.m_current_round;
|
||||
ntf.Message.NtfBattleInstanceState.RoundStateStartTime = Timestamp.FromDateTime(attribute.m_combat_pod_mode.m_current_state_start_time);
|
||||
ntf.Message.NtfBattleInstanceState.RoundStateType = attribute.m_combat_pod_mode.m_round_state_type;
|
||||
ntf.Message.NtfBattleInstanceState.RewardedStep = attribute.m_combat_pod_mode.m_rewarded_step;
|
||||
ntf.Message.NtfBattleInstanceState.ChargedStep = attribute.m_combat_pod_mode.m_charged_step;
|
||||
|
||||
return ntf;
|
||||
}
|
||||
|
||||
public static void send_GS2C_NTF_PLAYER_DEATH(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, string killerGuid, string deadUserGuid, Player player)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfBattlePlayerDeath = new ClientToGameMessage.Types.GS2C_NTF_BATTLE_PLAYER_DEATH();
|
||||
ntf.Message.NtfBattlePlayerDeath.DeadUserGuid = deadUserGuid;
|
||||
ntf.Message.NtfBattlePlayerDeath.KillerUserGuid = killerGuid;
|
||||
|
||||
Log.getLogger().debug($"send_GS2C_NTF_PLAYER_DEATH ntf battleInstanceRoom Id : {battleInstanceRoom.getRoomId()} data : {JsonConvert.SerializeObject(ntf.Message.NtfBattlePlayerDeath)}");
|
||||
|
||||
battleInstanceRoom.getInstanceRoom().Broadcast(ntf);
|
||||
|
||||
}
|
||||
|
||||
public static void send_GS2C_NTF_PLAYER_RESPAWN(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, Pos pos, Player player)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfBattlePlayerRespawn = new ClientToGameMessage.Types.GS2C_NTF_BATTLE_PLAYER_RESPAWN();
|
||||
ntf.Message.NtfBattlePlayerRespawn.RespawnUserGuid = player.getUserGuid();
|
||||
ntf.Message.NtfBattlePlayerRespawn.Pos = pos;
|
||||
|
||||
Log.getLogger().debug($"send_GS2C_NTF_PLAYER_RESPAWN ntf battleInstanceRoom Id : {battleInstanceRoom.getInstanceRoom().getMap().m_room_id} data : {JsonConvert.SerializeObject(ntf.Message.NtfBattlePlayerRespawn)}");
|
||||
|
||||
battleInstanceRoom.getInstanceRoom().Broadcast(ntf);
|
||||
}
|
||||
|
||||
public static void broadcast_GS2C_NTF_BATTLE_OBJECT_STATE_INFO(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, BattleObjectInteractionLogicHandler handler)
|
||||
{
|
||||
BattleObjectInfo info = new();
|
||||
info.AnchorGuid = handler.m_battle_object.m_anchor_guid;
|
||||
var now = DateTimeHelper.Current;
|
||||
info.IsActive = handler.m_battle_object.m_is_active ? BoolType.True : BoolType.False;
|
||||
List<BattleObjectInfo> infos = new();
|
||||
infos.Add(info);
|
||||
|
||||
|
||||
|
||||
broadcast_GS2C_NTF_BATTLE_OBJECT_STATE_INFO(battleInstanceRoom, infos);
|
||||
}
|
||||
|
||||
public static void broadcast_GS2C_NTF_BATTLE_OBJECT_STATE_INFO(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, List<BattleObjectInfo> infos)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfBattleObjectStateInfo = new ClientToGameMessage.Types.GS2C_NTF_BATTLE_OBJECT_STATE_INFO();
|
||||
ntf.Message.NtfBattleObjectStateInfo.BattleObjectInfos.AddRange(infos);
|
||||
|
||||
Log.getLogger().debug($"broadcast_GS2C_NTF_BATTLE_OBJECT_STATE_INFO ntf battleInstanceRoom Id : {battleInstanceRoom.getRoomId()} data :{JsonConvert.SerializeObject(infos)}");
|
||||
|
||||
battleInstanceRoom.getInstanceRoom().Broadcast(ntf);
|
||||
}
|
||||
|
||||
public static void send_GS2C_NTF_BATTLE_OBJECT_STATE_INFO(List<BattleObjectInfo> infos, Player player)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfBattleObjectStateInfo = new ClientToGameMessage.Types.GS2C_NTF_BATTLE_OBJECT_STATE_INFO();
|
||||
ntf.Message.NtfBattleObjectStateInfo.BattleObjectInfos.AddRange(infos);
|
||||
|
||||
Log.getLogger().debug($"send_GS2C_NTF_BATTLE_OBJECT_STATE_INFO ntf : {JsonConvert.SerializeObject(infos)}");
|
||||
|
||||
GameServerApp.getServerLogic().onSendPacket(player, ntf);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static void broadcast_GS2C_NTF_BATTLE_OBJECT_INTERACTION(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, string userGuid, string anchorGuid)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfBattleObjectInteraction = new ClientToGameMessage.Types.GS2C_NTF_BATTLE_OBJECT_INTERACTION();
|
||||
ntf.Message.NtfBattleObjectInteraction.AnchorGuid = anchorGuid;
|
||||
ntf.Message.NtfBattleObjectInteraction.UserGuid = userGuid;
|
||||
|
||||
Log.getLogger().debug($"broadcast_GS2C_NTF_BATTLE_OBJECT_INTERACTION ntf battleInstanceRoom Id : {battleInstanceRoom.getRoomId()} data : {JsonConvert.SerializeObject(ntf.Message.NtfBattleObjectInteraction)}");
|
||||
|
||||
battleInstanceRoom.getInstanceRoom().Broadcast(ntf);
|
||||
}
|
||||
|
||||
public static void broadcast_GS2C_NTF_BATTLE_REWARD(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, string acquireUserGuid, CommonResult commonResult)
|
||||
{
|
||||
if (commonResult.EntityCommonResults.Count == 0) return;
|
||||
if (acquireUserGuid.Equals(string.Empty)) return;
|
||||
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfBattleInstanceReward = new ClientToGameMessage.Types.GS2C_NTF_BATTLE_INSTANCE_REWARD();
|
||||
ntf.Message.NtfBattleInstanceReward.AcquireRewards = commonResult;
|
||||
ntf.Message.NtfBattleInstanceReward.AcquireUserGuid = acquireUserGuid;
|
||||
|
||||
Log.getLogger().debug($"send battle reward ntf acquireUserGuid : {acquireUserGuid}, commonResult : {JsonConvert.SerializeObject(commonResult)}");
|
||||
battleInstanceRoom.getInstanceRoom().Broadcast(ntf);
|
||||
}
|
||||
|
||||
public static void send_GS2C_NTF_BATTLE_EVENT(Player player)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfBattleEvent = new ClientToGameMessage.Types.GS2C_NTF_BATTLE_EVENT();
|
||||
ntf.Message.NtfBattleEvent.BattleEvent.AddRange(BattleInstanceManager.It.getAllProtoBattleEvents());
|
||||
Log.getLogger().debug($"send battle event ntf guid : {player.getUserGuid()}, ntf : {JsonConvert.SerializeObject(ntf.Message.NtfBattleEvent)}");
|
||||
GameServerApp.getServerLogic().onSendPacket(player, ntf);
|
||||
}
|
||||
|
||||
public static void broadcast_GS2C_NTF_BATTLE_EVENT(List<BattleEventInfo> infos)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfBattleEvent = new ClientToGameMessage.Types.GS2C_NTF_BATTLE_EVENT();
|
||||
ntf.Message.NtfBattleEvent.BattleEvent.AddRange(infos);
|
||||
|
||||
foreach (var each in GameServerApp.getServerLogic().getPlayerManager().getUsers())
|
||||
{
|
||||
var player = each.Value;
|
||||
GameServerApp.getServerLogic().onSendPacket(player, ntf);
|
||||
}
|
||||
}
|
||||
|
||||
public static void broadcast_GS2C_NTF_PREPARATION_FOR_LEAVING_BATTLE_INSTANCE(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, string leavingUserGuid)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfPreparationForLeavingBattleInstance = new ClientToGameMessage.Types.GS2C_NTF_PREPARATION_FOR_LEAVING_BATTLE_INSTANCE();
|
||||
ntf.Message.NtfPreparationForLeavingBattleInstance.LeavingUserGuid = leavingUserGuid;
|
||||
|
||||
Log.getLogger().debug($"broadcast_GS2C_NTF_PREPARATION_FOR_LEAVING_BATTLE_INSTANCE ntf battleInstanceRoom Id : {battleInstanceRoom.getRoomId()} data : {JsonConvert.SerializeObject(ntf.Message.NtfPreparationForLeavingBattleInstance)}");
|
||||
|
||||
battleInstanceRoom.getInstanceRoom().Broadcast(ntf);
|
||||
}
|
||||
|
||||
public static void broadcast_GS2C_NTF_P2P_HOST_UPDATE(InstanceRoom instanceRoom, string hostUserGuid)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfP2PHostUpdate = new ClientToGameMessage.Types.GS2C_NTF_P2P_HOST_UPDATE();
|
||||
ntf.Message.NtfP2PHostUpdate.HostUserGuid = hostUserGuid;
|
||||
|
||||
Log.getLogger().debug($"broadcast_GS2C_NTF_P2P_HOST_UPDATE ntf battleInstanceRoom Id : {instanceRoom.getMap().m_room_id} data : {JsonConvert.SerializeObject(ntf.Message.NtfP2PHostUpdate)}");
|
||||
instanceRoom.Broadcast(ntf);
|
||||
}
|
||||
|
||||
public static void send_GS2C_NTF_P2P_HOST_UPDATE(Player player, string hostUserGuid)
|
||||
{
|
||||
ClientToGame ntf = new ClientToGame();
|
||||
ntf.Message = new ClientToGameMessage();
|
||||
ntf.Message.NtfP2PHostUpdate = new ClientToGameMessage.Types.GS2C_NTF_P2P_HOST_UPDATE();
|
||||
ntf.Message.NtfP2PHostUpdate.HostUserGuid = hostUserGuid;
|
||||
GameServerApp.getServerLogic().onSendPacket(player, ntf);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user