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