2025-11-28 00:48:39 +08:00

39 lines
1.3 KiB
C#

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] public List<GameObject> ownedCardPrefabList;
private readonly List<Card> ownedCardList = new();
private Transform cardDeckContainer;
private Camera mainCamera;
public List<Card> SetupCharacter(int id, Transform cardContainer, Camera camera1, bool isFriend)
{
ID = id;
cardDeckContainer = cardContainer.Find("CardContainer");
mainCamera = camera1;
if (isFriend) SetupCharacterCard();
return ownedCardList;
}
private void SetupCharacterCard()
{
foreach (GameObject cardGo in ownedCardPrefabList)
{
GameObject _card = Instantiate<GameObject>(cardGo, transform.position, Quaternion.identity, parent: cardDeckContainer);
_card.SetActive(false);
_card.transform.localPosition = Vector3.zero;
int cardID = ID + ownedCardPrefabList.IndexOf(cardGo) + 1;
_card.name = $"card_{cardID}";
Card cardComponent = _card.GetComponent<Card>();
ownedCardList.Add(cardComponent);
cardComponent.SetupCard(cardID, mainCamera);
}
}
}