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-12-01 14:22:40 +08:00
|
|
|
[SerializeField] public List<GameObject> ownedCardPrefabList = new();
|
2025-11-20 14:43:50 +08:00
|
|
|
|
2025-12-01 14:22:40 +08:00
|
|
|
// ============== private =================
|
|
|
|
|
private Camera main_camera;
|
|
|
|
|
private BoxCollider2D box_collider2;
|
|
|
|
|
private readonly List<Card> owned_card_list = new();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<Card> setup_character(int id, Transform card_container, Camera camera1, bool isFriend)
|
2025-11-21 02:12:50 +08:00
|
|
|
{
|
2025-11-21 20:16:36 +08:00
|
|
|
ID = id;
|
2025-12-01 14:22:40 +08:00
|
|
|
Transform container = card_container.Find("CardContainer");
|
|
|
|
|
box_collider2 = GetComponent<BoxCollider2D>();
|
|
|
|
|
main_camera = camera1;
|
|
|
|
|
if (isFriend) setup_character_card(container);
|
|
|
|
|
if (isFriend) box_collider2.enabled = false;
|
|
|
|
|
return owned_card_list;
|
2025-11-23 02:03:31 +08:00
|
|
|
}
|
|
|
|
|
|
2025-12-01 14:22:40 +08:00
|
|
|
private void setup_character_card(Transform card_container)
|
2025-11-23 02:03:31 +08:00
|
|
|
{
|
2025-12-01 14:22:40 +08:00
|
|
|
for (int i = 0; i < ownedCardPrefabList.Count; i++)
|
2025-11-21 20:16:36 +08:00
|
|
|
{
|
2025-12-01 14:22:40 +08:00
|
|
|
GameObject _card = Instantiate<GameObject>(ownedCardPrefabList[i],
|
|
|
|
|
transform.position, Quaternion.identity, parent: card_container);
|
|
|
|
|
int cardID = ID + i + 1;
|
|
|
|
|
Card card_component = _card.GetComponent<Card>();
|
|
|
|
|
owned_card_list.Add(card_component);
|
|
|
|
|
card_component.setup_card(cardID, main_camera);
|
2025-11-21 20:16:36 +08:00
|
|
|
}
|
2025-11-21 02:12:50 +08:00
|
|
|
}
|
2025-11-20 02:23:07 +08:00
|
|
|
}
|