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