using UnityEngine; using UnityEngine.Events; using DG.Tweening; /// /// 限制旋转的类型枚举 /// namespace ZXK.GYJQR { public enum LockRoateType { LockX,//锁定X轴 LockY,//锁定Y轴 LockZ,//锁定Z轴 None } /// /// 路径动画管理类 /// public class PathManager : MonoBehaviour//, IModelData { public Transform _JieTouFinishTran; public UnityEvent onMouseDown;//鼠标点击事件 public AdjustAngleMenu adjustAngleMenu;//UI提示画布界面 [HideInInspector] public string modelTag;//当前物件的tag值 [HideInInspector] public ModelData modelData;//物件数据类对象 [Header("限制旋转的轴向枚举")] public LockRoateType lockRoateType;//限制旋转的轴向枚举 public float maxValue = 0.5f;//最大限制距离 public Transform limitCenterTran;//最大限制中心 public float limitYPos;//最大限制中心 private void Awake() { if (!GetComponent()) { gameObject.AddComponent(); } } private void Start() { //if (!string.IsNullOrEmpty(gameObject.tag)) //{ // modelTag = gameObject.tag; // modelData = new ModelData(gameObject, transform.rotation, transform.position, modelTag, this); // InitModelData(modelData); //} } public void OnMouseDown() { if (GetComponent() != null) { MouseEventListener mp = GetComponent(); if (mp.isAdsorbing) { return; } } onMouseDown?.Invoke(); } /// ///// 实现接口 ///// ///// //public void InitModelData(ModelData data) //{ // ModelManager.Instance.AddModelData(data); //} /// /// 执行中断Dotween插件进程的函数 /// public void OnEnd() { transform.DOKill(); } } }