优化
This commit is contained in:
parent
836d12e381
commit
92ec506123
@ -72,23 +72,17 @@ public class Card : MonoBehaviour
|
||||
|
||||
private void OnMouseUp()
|
||||
{
|
||||
if (!isCardDragAnimationPlayed)
|
||||
reset_card_status();
|
||||
else
|
||||
{
|
||||
Sequence seq = DOTween.Sequence();
|
||||
seq.Join(transform.DOMove(cardTransformFromHand.POSITION, cardAnimationDuration));
|
||||
seq.Join(transform.DOScale(cardTransformFromHand.SCALE, cardAnimationDuration));
|
||||
seq.Join(transform.DORotateQuaternion(cardTransformFromHand.ROTATION, cardAnimationDuration));
|
||||
seq.onComplete = reset_card_status;
|
||||
}
|
||||
|
||||
Sequence seq = DOTween.Sequence();
|
||||
seq.Join(transform.DOMove(cardTransformFromHand.POSITION, cardAnimationDuration));
|
||||
seq.Join(transform.DOScale(cardTransformFromHand.SCALE, cardAnimationDuration));
|
||||
seq.Join(transform.DORotateQuaternion(cardTransformFromHand.ROTATION, cardAnimationDuration));
|
||||
seq.onComplete = reset_card_status;
|
||||
return;
|
||||
|
||||
void reset_card_status()
|
||||
{
|
||||
cardState = CardHandleState.WAIT;
|
||||
isCardDragAnimationPlayed = false;
|
||||
// isCardDragAnimationPlayed = false;
|
||||
turnSingleton.SetCardManagerLockOneCardBeingUsed(false); // 解锁
|
||||
if (turnSingleton.GetNeedDebugLog()) turnSingleton.PrintMsg("Card", instanceID.ToString(), "卡牌已返回手牌");
|
||||
}
|
||||
@ -97,27 +91,19 @@ public class Card : MonoBehaviour
|
||||
private void OnMouseDrag()
|
||||
{
|
||||
if (cardState != CardHandleState.DRAG) return;
|
||||
if (!turnSingleton.CompareManagerState(TurnManager.TurnManagerStateEnum.STAY_SELF_TURN)) return;
|
||||
Vector3 mousePosition = mainCamera.ScreenToWorldPoint(Input.mousePosition);
|
||||
bool isInsideHandCardArea = areaCollider2D.OverlapPoint(mousePosition);
|
||||
if (isInsideHandCardArea)
|
||||
{
|
||||
if (!isCardDragAnimationPlayed) return;
|
||||
Sequence seq = DOTween.Sequence();
|
||||
seq.Join(transform.DOMove(cardTransformFromHand.POSITION, cardAnimationDuration));
|
||||
seq.Join(transform.DOScale(cardTransformFromHand.SCALE, cardAnimationDuration));
|
||||
seq.Join(transform.DORotateQuaternion(cardTransformFromHand.ROTATION, cardAnimationDuration));
|
||||
isCardDragAnimationPlayed = false;
|
||||
transform.localScale = cardTransformFromHand.SCALE;
|
||||
transform.rotation = cardTransformFromHand.ROTATION;
|
||||
transform.position = cardTransformFromHand.POSITION;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!isCardDragAnimationPlayed)
|
||||
{
|
||||
Sequence seq = DOTween.Sequence();
|
||||
seq.Join(transform.DOScale(cardTransformFromHand.SCALE / 3f, cardAnimationDuration));
|
||||
seq.Join(transform.DORotateQuaternion(Quaternion.identity, cardAnimationDuration));
|
||||
isCardDragAnimationPlayed = true;
|
||||
}
|
||||
|
||||
transform.localScale = cardTransformFromHand.SCALE / 3f;
|
||||
transform.rotation = Quaternion.identity;
|
||||
mousePosition.z = 0f;
|
||||
transform.position = mousePosition;
|
||||
if (turnSingleton.GetNeedDebugLog()) turnSingleton.PrintMsg("Card", instanceID.ToString(), "卡牌正在被拖拽");
|
||||
@ -148,6 +134,7 @@ public class Card : MonoBehaviour
|
||||
UnSetAreaCollider2D();
|
||||
transform.parent = dropCardChildContainer;
|
||||
transform.localPosition = Vector3.zero;
|
||||
gameObject.SetActive(false);
|
||||
});
|
||||
return seq;
|
||||
}
|
||||
|
||||
@ -100,7 +100,6 @@ public class TurnCardManager : MonoBehaviour
|
||||
Transform card = dropCardContainer.GetChild(i);
|
||||
card.SetParent(cardDeckContainer);
|
||||
card.localPosition = Vector3.zero;
|
||||
card.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ public class TurnManager : MonoBehaviour
|
||||
enemyManager = GetComponent<TurnEnemyManager>();
|
||||
TurnManagerEvent.OnTurnManagerStaySelfTurn += TurnManagerStaySelfTurn;
|
||||
TurnManagerEvent.OnTurnManagerEndSelfTurn += TurnManagerEndSelfTurn;
|
||||
TurnManagerEvent.OnTurnManagerEnterEnemyTurn += TurnManagerShuffleCard; // 弃牌以后判断是否需要洗牌再进入敌方回合
|
||||
TurnManagerEvent.OnTurnManagerEnterEnemyTurn += TurnManagerBeforeEndSelfTurn; // 弃牌以后判断是否需要洗牌再进入敌方回合
|
||||
TurnManagerEvent.OnTurnManagerExitEnemyTurn += TurnManagerEndEnemyTurn;
|
||||
SetupTurnManager();
|
||||
}
|
||||
@ -143,7 +143,7 @@ public class TurnManager : MonoBehaviour
|
||||
TurnManagerEnterSelfTurn(cardPileList.Count == 0 ? 6 : 5);
|
||||
}
|
||||
|
||||
private void TurnManagerShuffleCard()
|
||||
private void TurnManagerBeforeEndSelfTurn()
|
||||
{
|
||||
if (cardDeckList.Count != 0)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user