using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; namespace DisComputer { /* * @func 电源动画 * */ public class DianYuanAnimation : SpareAnimationBase { [Header("展示位置")] public Vector3 showPos; [Header("初始位置")] public Vector3 initPos; public GameObject dianYuanGo; // Start is called before the first frame update void Start() { } public override void SetLoadState() { dianYuanGo.transform.localPosition = initPos; dianYuanGo.SetActive(true); } public override void SetUnloadState() { dianYuanGo.transform.localPosition = showPos; dianYuanGo.SetActive(false); } public override bool IsCompareTag(object data) { if (GameConfig.state == GameState.Unload) { ToolType toolType = ToolType.Hand; ToolItem item = (ToolItem)data; if (item.toolType == toolType) { return true; } CoolPointTip("请使用合适的工具"); return false; } else { Grid grid = (Grid)data; if (grid.type == _type) { return true; } CoolPointTip("请选择正确的零件"); return false; } } public override void OnLoadAct() { base.OnLoadAct(); dianYuanGo.SetActive(true); dianYuanGo.transform.DOLocalMove(initPos, 0.5f).SetEase(Ease.Linear).OnComplete(() => { OnLoadFinishHandle?.Invoke(); }); } public override void OnUnLoadAct() { base.OnUnLoadAct(); StartCoroutine(Focuse()); } IEnumerator Focuse() { yield return StartCoroutine(ProgressFocuse()); dianYuanGo.transform.DOLocalMove(showPos, 0.5f).SetEase(Ease.Linear).OnComplete(() => { CommonTool.WaitTimeAfterDo(this, .35f, () => { OnUnLoadFinishHandle?.Invoke(); dianYuanGo.SetActive(false); RewindCameraView(); }); }); } } }