Files
caliverse_server/GameServer/Contents/GameMode/Mode-Battle/ModeFreeForAll/Helper/BattleObjectInteractionLogicHandler.cs
2025-05-01 07:23:28 +09:00

38 lines
1.7 KiB
C#

using MetaAssets;
using ServerCommon;
using ServerCommon.BusinessLogDomain;
using ServerCore;
namespace GameServer;
//인터렉션 로직에 대한 정보를 저장후 처리
public class BattleObjectInteractionLogicHandler
{
public BattleObjectInteractionLogicHandler(string userGuid, string userNickname, string interactionAnchorGuid, string roomId)
{
m_user_guid = userGuid;
m_interaction_anchor_guid = interactionAnchorGuid;
m_interaction_log_info.m_interaction_anchor_guid = interactionAnchorGuid;
m_interaction_log_info.m_interaction_user_guid = userGuid;
m_interaction_log_info.m_interaction_user_nickname = userNickname;
m_interaction_log_info.m_room_id = roomId;
}
public string m_user_guid { get; } = string.Empty;
public string m_interaction_anchor_guid { get; } = string.Empty;
public BattleObjectMetaData m_battle_object_meta { get; set; } = new(new BattleObjectMetaDataMutable());
public BattleInstancesObject m_battle_object { get; set; } = new BattleObjectEmpty();
public bool m_is_combat_pod { get; set; } = false; //true : 전달 받은 anchor_guid 가 combat pod을 의미한다.
public BattleObjectPodCombat? m_pod_combat { get; set; } = null;
public bool m_is_need_combat_pod_noti { get; set; } = false;
public List<BattleInstancesObject> m_need_noti_objects { get; set; } = new(); //인터렉션시 종속적으로상태가 같이 바뀌는 object들은 여기에 넣어서 나중에 noti 보낼때 사용
public DateTime m_object_active_time { get; set; } = DateTimeHelper.Current;
public BattleObjectInteractionLogInfo m_interaction_log_info { get; set; } = new();
}