67 lines
2.9 KiB
C#
67 lines
2.9 KiB
C#
using GameServer.Contents.GameMode.Mode_Battle.Manage;
|
|
using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCommon.BusinessLogDomain;
|
|
using ServerCore;
|
|
|
|
namespace GameServer.Contents.Battle.Log;
|
|
|
|
public class BattleSnapShotBusinessLog : ILogInvokerEx
|
|
{
|
|
private BattleSnapshotLogInfo m_info;
|
|
|
|
public BattleSnapShotBusinessLog(GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, string loadType): base(LogDomainType.BattleSnapshot)
|
|
{
|
|
//kihoon todo : GameModeTPSFreeForAll<GameModeTPSFreeForAllData> 이걸로 받을지 아니면 고칠지 고민 필요
|
|
m_info = createBattleSnapshotLogInfo(this, battleInstanceRoom, loadType);
|
|
}
|
|
|
|
public override bool hasLog()
|
|
{
|
|
return true;
|
|
}
|
|
protected override void fillup(ref BusinessLog.LogBody body)
|
|
{
|
|
body.append(m_info);
|
|
}
|
|
|
|
|
|
|
|
public BattleSnapshotLogInfo createBattleSnapshotLogInfo(ILogInvoker parent, GameModeTPSFreeForAll<GameModeTPSFreeForAllData> battleInstanceRoom, string loadType)
|
|
{
|
|
var room_id = battleInstanceRoom.getRoomId();
|
|
BattleSnapshotLogInfo info = new(parent, room_id, loadType);
|
|
|
|
var attribute = battleInstanceRoom.getEntityAttribute<BattleInstanceSnapshotAttribute>();
|
|
if (attribute is null)
|
|
{
|
|
ServerCore.Log.getLogger().warn($"attribute is null so return empty battleInstanceRoom.roomId() : {room_id}");
|
|
return info;
|
|
}
|
|
|
|
//info.m_play_mode = battleInstanceRoom.m_play_mode;
|
|
info.m_battle_instance_event_start_time = battleInstanceRoom.m_battle_instance_event_start_time;
|
|
info.m_pod_combat_reward_group_id = battleInstanceRoom.m_pod_combat_reward_group_id;
|
|
info.m_pod_combat_ffa_id = battleInstanceRoom.m_pod_combat_ffa_id;
|
|
info.m_hot_time_reward = battleInstanceRoom.m_hot_time_reward;
|
|
info.m_round_count = battleInstanceRoom.m_round_count;
|
|
|
|
|
|
info.m_respawns = attribute.m_combat_pod_mode.m_respawns;
|
|
info.m_pod_storages = attribute.m_combat_pod_mode.m_pod_storages;
|
|
info.m_pod_combat = attribute.m_combat_pod_mode.m_pod_combat;
|
|
info.m_pickup_pods = attribute.m_combat_pod_mode.m_pickup_pods;
|
|
info.m_pickup_pod_generated_info.AddRange(attribute.m_combat_pod_mode.m_pickup_pod_generated_info.Values);
|
|
info.m_weapons = attribute.m_combat_pod_mode.m_weapons;
|
|
info.m_buffs = attribute.m_combat_pod_mode.m_buffs;
|
|
info.m_round_state_type = attribute.m_combat_pod_mode.m_round_state_type;
|
|
info.m_current_round = attribute.m_combat_pod_mode.m_current_round;
|
|
info.m_current_state_start_time = attribute.m_combat_pod_mode.m_current_state_start_time;
|
|
info.m_charged_step = attribute.m_combat_pod_mode.m_charged_step;
|
|
info.m_rewarded_step = attribute.m_combat_pod_mode.m_rewarded_step;
|
|
info.m_tactical_board = attribute.m_combat_pod_mode.m_tactical_board;
|
|
|
|
return info;
|
|
}
|
|
|
|
} |