using System; using LE_LevelEditor.Core; using UnityEngine; namespace LE_LevelEditor.Events { public class LE_ObjectDragEvent : EventArgs { private readonly LE_Object m_objectPrefab; private readonly LE_Object m_objectPreview; private bool m_isObjectPlaceable; private string m_message; private readonly RaycastHit m_cursorHitInfo; public LE_Object ObjectPrefab { get { return m_objectPrefab; } } public LE_Object ObjectPreview { get { return m_objectPreview; } } public bool IsObjectPlaceable { get { return m_isObjectPlaceable; } set { if (!m_isObjectPlaceable && value) { Debug.LogError("LE_ObjectDragEvent: IsObjectPlaceable was 'false' you have tried to set it 'true'!"); } else { m_isObjectPlaceable = value; } } } public string Message { get { return m_message; } set { m_message = value; } } public RaycastHit CursorHitInfo { get { return m_cursorHitInfo; } } public LE_ObjectDragEvent(LE_Object p_objectPrefab, LE_Object p_objectPreview, bool p_isObjectPlaceable, string p_message, RaycastHit p_cursorHitInfo) { m_objectPrefab = p_objectPrefab; m_objectPreview = p_objectPreview; m_isObjectPlaceable = p_isObjectPlaceable; m_message = p_message; m_cursorHitInfo = p_cursorHitInfo; } } }