using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.InputSystem; public abstract class BaseInputProvider : MonoBehaviour { [Header("Cursor")] public UnityEvent OnCursorMoved; public UnityEvent OnCursorDelta; [Header("Camera")] public UnityEvent OnPanStart; public UnityEvent OnPanEnd; public UnityEvent OnRotateStart; public UnityEvent OnRotateEnd; public UnityEvent OnZoom; [Header("Actions")] public UnityEvent OnRotate; public UnityEvent OnPlace; public UnityEvent OnDraggingEnd; public UnityEvent OnSelect; public UnityEvent OnEnableMultiSelect; public UnityEvent OnDisableMultiSelect; public UnityEvent OnCancel; public UnityEvent OnDelete; public UnityEvent OnChangeAttachPoint = new UnityEvent(); public virtual void Enable() => this.enabled = true; public virtual void Disable() => this.enabled = false; }