using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using DG.Tweening; /// /// 工具材料基类 /// public class Tool_Base : PermanentTriggerBase { /// /// 工具类型 /// public ToolType toolType; /// /// trigger触发事件 /// public Func triggerAction; private Vector3 head_LocalPos; private Vector3 head_LocalEulerAnglesl; protected override void OnAwake() { if (GameManager.RunModelMgr.SceneType == E_SceneType.Site) { base.OnAwake(); } } protected override void OnStart() { if (GameManager.RunModelMgr.SceneType == E_SceneType.Site) { base.OnStart(); AddTriggerAction(GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID); } } protected override void OnMEnter() { if (GameManager.RunModelMgr.SceneType == E_SceneType.Site && GameManager.RunModelMgr.ModeType != E_ModeType.Study) { base.OnMEnter(); _highlight.SetHighlighted(true); } } protected override void OnMExit() { if (GameManager.RunModelMgr.SceneType == E_SceneType.Site && GameManager.RunModelMgr.ModeType != E_ModeType.Study) { base.OnMExit(); _highlight.SetHighlighted(false); } } public void AddTriggerAction(Func action) { this.triggerAction = action; } /// /// 设置工具回到手中的位置 /// /// /// public void SetHeadPosAndEulerang(Vector3 head_LocalPos, Vector3 head_LocalEulerAnglesl) { this.head_LocalPos = head_LocalPos; this.head_LocalEulerAnglesl = head_LocalEulerAnglesl; } /// /// 工具回到手中 /// public void ReBackHead() { transform.parent = Camera.main.transform; transform.DOLocalRotate(head_LocalEulerAnglesl, 0.5f); transform.DOLocalMove(head_LocalPos, 1).OnComplete(() => { transform.localPosition = head_LocalPos; transform.localEulerAngles = head_LocalEulerAnglesl; }); } }