using System; using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; public class Card : MonoBehaviour { // ========= serializeField ======== [SerializeField] private int ID; [SerializeField] private int instanceID; // ========= private ========= private Collider2D areaCollider2D; private TurnManagerSingleton turnSingleton; private SpriteRenderer spriteRender; private Canvas canvas; private SpriteRenderer cardBackgroundUI; public void SetAreaCollider2D(Collider2D collider2) => areaCollider2D = collider2; public void UnSetAreaCollider2D() => areaCollider2D = null; public void SetupCard(int id) { if (!turnSingleton) turnSingleton = TurnManagerSingleton.Instance; if (!turnSingleton.CompareManagerState(TurnManager.TurnManagerStateEnum.SETUP_STATE)) return; if (!spriteRender) spriteRender = GetComponent(); if (!cardBackgroundUI) cardBackgroundUI = transform.GetChild(0).GetComponent(); if (!canvas) canvas = transform.GetChild(1).GetComponent(); instanceID = id; } public Sequence GetTweenMoveCardGoDeck(Vector3 doGoPosition, Quaternion doGoRotation, Vector3 doGoScale, float doGoDuration) { transform.localScale = Vector3.zero; gameObject.SetActive(true); Sequence seq = DOTween.Sequence(); seq.Pause(); seq.Join(transform.DOMove(doGoPosition, doGoDuration)); seq.Join(transform.DOScale(doGoScale, doGoDuration)); seq.Join(transform.DORotateQuaternion(doGoRotation, doGoDuration)); return seq; } // public void MoveCard(MoveMessage moveMessage) // { // if (!turnSingleton.CompareManagerState(TurnManager.TurnManagerStateEnum.SELF_STATE_START)) return; // Vector3 movePosition = moveMessage.GO_POSITION; // Quaternion doRotation = moveMessage.GO_ROTATION; // Vector3 doScale = moveMessage.GO_SCALE; // float duration = moveMessage.DURATION; // int layerSortOrder = moveMessage.GO_LAYER_SORT_ORDER; // movePosition.z = -layerSortOrder * 0.5f; // spriteRender.sortingOrder = layerSortOrder * 3; // cardBackgroundUI.sortingOrder = layerSortOrder * 3 - 1; // canvas.sortingOrder = layerSortOrder * 3 + 1; // Sequence seq = DOTween.Sequence(); // seq.Join(transform.DOMove(movePosition, duration)); // seq.Join(transform.DOScale(doScale, duration)); // seq.Join(transform.DORotateQuaternion(doRotation, duration)); // seq.OnComplete(() => // 记录默认数值 // { // cardTransform.POSITION = movePosition; // cardTransform.ROTATION = doRotation; // cardTransform.SCALE = transform.localScale; // cardTransform.LAYER_SORT_ORDER = layerSortOrder; // }); // } }