// // 第二步的销毁 // private void DoDestoriedForSecondStep() { _cardStatus = CardStatusEnum.DESTORYINGSECOND; _protectAgent.SetDisabled(); GetComponent <CircleCollider2D>().radius = 0; if (_originAgent == null) { Close(); } else if (_originAgent.isStarEffect) { Close(); } else { // 如果场景没有变,则回到原位置 if ((_sceneIndex == _manager.SceneIndex) && (_originAgent != null)) { //恢复并归位 // 缩到很小很小 RectTransform cardRect = GetComponent <RectTransform>(); // 移到后方、缩小、透明 Tweener t = cardRect.DOScale(0.1f, 1f); // 获取位置 Vector3 to = new Vector3(_originAgent.OriVector2.x - _manager.PanelOffsetX , _originAgent.OriVector2.y - _manager.PanelOffsetY, 200); cardRect.DOAnchorPos3D(to, 1f) .OnComplete(() => { if ((_sceneIndex == _manager.SceneIndex) && (_originAgent != null)) { // 恢复 _originAgent.DoRecoverAfterChoose(cardRect.position); } _cardStatus = CardStatusEnum.OBSOLETE; }); } // 直接消失 else { Close(); } } }