using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public abstract class ModuleViewInput : MonoBehaviour {
/// 主键输入模块类型
public abstract event Action OnInputType;
/// 必须要初始化
protected abstract void Awake();
/// 核心模块
protected virtual ModuleCore ModuleCore => ModuleCore.I;
public abstract void SetPrimaryKeyInput(T inputUnit) where T : ModuleViewInputUnit;
/// 按下鼠标左键
public abstract void DownLeftMouse(DataMouseInput data);
/// 拖拽鼠标左键
public abstract void DragLeftMouse(DataMouseInput data);
/// 移动鼠标左键
public abstract void MoveLeftMouse(DataMouseInput data);
/// 释放鼠标左键
public abstract void ReleaseLeftMouse(DataMouseInput data);
/// 按下鼠标右键
public abstract void DownRightMouse(DataMouseInput data);
/// 拖拽鼠标右键
public abstract void DragRightMouse(DataMouseInput data);
/// 移动鼠标右键
public abstract void MoveRightMouse(DataMouseInput data);
/// 释放鼠标右键
public abstract void ReleaseRightMouse(DataMouseInput data);
/// 按下鼠标中键
public abstract void DownMiddleMouse(DataMouseInput data);
/// 拖拽鼠标中键
public abstract void DragMiddleMouse(DataMouseInput data);
/// 移动鼠标中键
public abstract void MoveMiddleMouse(DataMouseInput data);
/// 释放鼠标中键
public abstract void ReleaseMiddleMouse(DataMouseInput data);
/// 鼠标滚轮
public abstract void ScrollWheel(DataMouseInput data);
}