using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using UnityEngine.Events; using DG.Tweening; namespace DisComputer { /* * @func 零件动画基础类 * @author lz * @date 2020/06/01 * */ public class SpareAnimationBase : MonoBehaviour { public GameObject mainGo; public SpareType _type; [HideInInspector] /// /// 装载完成 /// public UnityEvent OnLoadFinishHandle; [HideInInspector] /// /// 拆卸完成 /// public UnityEvent OnUnLoadFinishHandle; [Header("聚焦参数设置")] [Space(30)] //主相机视距 public int cameraViewVal; //聚焦平台角度 public Vector3 showPlatformAngle; /// /// 装载展示 /// public virtual void OnLoadAct() { } /// /// 拆卸展示 /// public virtual void OnUnLoadAct() { } /// /// 设置成拆卸状态 /// public virtual void SetUnloadState() { } /// /// 设置成安装状态 /// public virtual void SetLoadState() { } float interval = 0.3f; public void CoolPointTip(string tip) { interval -= Time.deltaTime; if (interval < 0) { interval = 1.5f; MessageContainer.SendMessage(tip, this, MsgName.TipViewShowPoint); } } /// /// 是否匹对 /// /// /// public virtual bool IsCompareTag(object data) { return false; } /// /// 聚焦模式 /// /// public IEnumerator ProgressFocuse() { yield return new WaitForEndOfFrame(); MouseControl.Instance.isFocuseState = true; //关闭零件包栏 LzFramework.UI.TTUIPage.ClosePage(); //隐藏提示指引 MessageContainer.SendMessage("", this, MsgName.TipViewHideArrow); ModelControl.Instance.showPlatform.transform.DORotate(showPlatformAngle, 0.5f).SetEase(Ease.Linear); Camera.main.DOFieldOfView(cameraViewVal, 0.5f).SetEase(Ease.Linear); yield return new WaitForSeconds(0.5f); } /// /// 拆卸聚焦动作集 /// /// protected virtual IEnumerator UnloadFocuse() { yield return new WaitForEndOfFrame(); } /// /// 安装聚焦动作集 /// /// protected virtual IEnumerator LoadFocuse() { yield return new WaitForEndOfFrame(); } /// /// 还原视距 /// protected void RewindCameraView() { Camera.main.DOFieldOfView(55, 0.5f).SetEase(Ease.Linear); MouseControl.Instance.isFocuseState = false; } } [System.Serializable] public class AnimationPointConfig { public string info; public Vector3 point; } }