2025-11-20 02:23:07 +08:00
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
2025-11-21 20:16:36 +08:00
|
|
|
using System.Linq;
|
|
|
|
|
using DG.Tweening;
|
2025-11-20 02:23:07 +08:00
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
public class Character : MonoBehaviour
|
|
|
|
|
{
|
2025-11-20 14:43:50 +08:00
|
|
|
[SerializeField] private int ID;
|
2025-11-27 14:50:16 +08:00
|
|
|
[SerializeField] public List<GameObject> ownedCardPrefabList;
|
2025-11-21 20:16:36 +08:00
|
|
|
private readonly List<Card> ownedCardList = new();
|
2025-11-22 23:24:51 +08:00
|
|
|
private Transform cardDeckContainer;
|
2025-11-23 02:03:31 +08:00
|
|
|
private Camera mainCamera;
|
2025-11-20 14:43:50 +08:00
|
|
|
|
2025-11-28 00:48:39 +08:00
|
|
|
public List<Card> SetupCharacter(int id, Transform cardContainer, Camera camera1, bool isFriend)
|
2025-11-21 02:12:50 +08:00
|
|
|
{
|
2025-11-21 20:16:36 +08:00
|
|
|
ID = id;
|
2025-11-27 00:48:12 +08:00
|
|
|
cardDeckContainer = cardContainer.Find("CardContainer");
|
2025-11-23 02:03:31 +08:00
|
|
|
mainCamera = camera1;
|
2025-11-28 00:48:39 +08:00
|
|
|
if (isFriend) SetupCharacterCard();
|
2025-11-23 02:03:31 +08:00
|
|
|
return ownedCardList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SetupCharacterCard()
|
|
|
|
|
{
|
2025-11-21 20:16:36 +08:00
|
|
|
foreach (GameObject cardGo in ownedCardPrefabList)
|
|
|
|
|
{
|
2025-11-22 23:24:51 +08:00
|
|
|
GameObject _card = Instantiate<GameObject>(cardGo, transform.position, Quaternion.identity, parent: cardDeckContainer);
|
2025-11-21 20:16:36 +08:00
|
|
|
_card.SetActive(false);
|
2025-11-24 00:06:41 +08:00
|
|
|
_card.transform.localPosition = Vector3.zero;
|
2025-11-21 20:16:36 +08:00
|
|
|
int cardID = ID + ownedCardPrefabList.IndexOf(cardGo) + 1;
|
|
|
|
|
_card.name = $"card_{cardID}";
|
|
|
|
|
Card cardComponent = _card.GetComponent<Card>();
|
|
|
|
|
ownedCardList.Add(cardComponent);
|
2025-11-23 02:03:31 +08:00
|
|
|
cardComponent.SetupCard(cardID, mainCamera);
|
2025-11-21 20:16:36 +08:00
|
|
|
}
|
2025-11-21 02:12:50 +08:00
|
|
|
}
|
2025-11-20 02:23:07 +08:00
|
|
|
}
|