42 lines
1.4 KiB
C#
Raw Normal View History

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
}