using System; using System.Collections; using System.Collections.Generic; using System.Linq; using DG.Tweening; using UnityEngine; public class Character : MonoBehaviour { [SerializeField] private int ID; [SerializeField] private List ownedCardPrefabList; private readonly List ownedCardList = new(); private Vector3 cardDeckWorldPosition; public (List, List) SetupCharacter(int id, Vector3 deckPosition, Quaternion doRotation, Vector3 doScale, float animationDuration) { ID = id; cardDeckWorldPosition = deckPosition; List ownedCardTweenList = new List(); foreach (GameObject cardGo in ownedCardPrefabList) { GameObject _card = Instantiate(cardGo, transform.position, Quaternion.identity, parent: transform); _card.SetActive(false); int cardID = ID + ownedCardPrefabList.IndexOf(cardGo) + 1; _card.name = $"card_{cardID}"; Card cardComponent = _card.GetComponent(); ownedCardList.Add(cardComponent); cardComponent.SetupCard(cardID); ownedCardTweenList.Add(cardComponent.GetTweenMoveCardGoDeck(doGoPosition: cardDeckWorldPosition, doGoRotation: doRotation, doGoScale: doScale, doGoDuration: animationDuration)); } return (ownedCardTweenList, ownedCardList); } }