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