summaryrefslogtreecommitdiff
path: root/GameCode/CardBar.cs
diff options
context:
space:
mode:
Diffstat (limited to 'GameCode/CardBar.cs')
-rw-r--r--GameCode/CardBar.cs95
1 files changed, 95 insertions, 0 deletions
diff --git a/GameCode/CardBar.cs b/GameCode/CardBar.cs
new file mode 100644
index 0000000..e985288
--- /dev/null
+++ b/GameCode/CardBar.cs
@@ -0,0 +1,95 @@
+using Sonigon;
+using TMPro;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class CardBar : MonoBehaviour
+{
+ [Header("Sounds")]
+ public SoundEvent soundCardPick;
+
+ [Header("Settings")]
+ public GameObject pointer;
+
+ [Header("Settings")]
+ public GameObject cardPos;
+
+ private GameObject source;
+
+ private CardInfo ci;
+
+ private GameObject currentCard;
+
+ private void Start()
+ {
+ source = base.transform.GetChild(0).gameObject;
+ }
+
+ public void ClearBar()
+ {
+ if ((bool)currentCard)
+ {
+ Object.Destroy(currentCard);
+ }
+ for (int num = base.transform.childCount - 1; num >= 0; num--)
+ {
+ if (base.transform.GetChild(num).gameObject.activeSelf)
+ {
+ Object.Destroy(base.transform.GetChild(num).gameObject);
+ }
+ }
+ }
+
+ public void AddCard(CardInfo card)
+ {
+ SoundManager.Instance.Play(soundCardPick, base.transform);
+ ci = card;
+ GameObject obj = Object.Instantiate(source, source.transform.position, source.transform.rotation, source.transform.parent);
+ obj.transform.localScale = Vector3.one;
+ string cardName = card.cardName;
+ cardName = cardName.Substring(0, 2);
+ string text = cardName[0].ToString().ToUpper();
+ if (cardName.Length > 1)
+ {
+ string text2 = cardName[1].ToString().ToLower();
+ cardName = text + text2;
+ }
+ else
+ {
+ cardName = text;
+ }
+ obj.GetComponentInChildren<TextMeshProUGUI>().text = cardName;
+ obj.GetComponent<CardBarButton>().card = card;
+ obj.gameObject.SetActive(value: true);
+ }
+
+ public void OnHover(CardInfo card, Vector3 hoverPos)
+ {
+ if ((bool)currentCard)
+ {
+ Object.Destroy(currentCard);
+ }
+ currentCard = CardChoice.instance.AddCardVisual(card, cardPos.transform.position);
+ Collider2D[] componentsInChildren = currentCard.transform.root.GetComponentsInChildren<Collider2D>();
+ for (int i = 0; i < componentsInChildren.Length; i++)
+ {
+ componentsInChildren[i].enabled = false;
+ }
+ currentCard.GetComponentInChildren<Canvas>().sortingLayerName = "MostFront";
+ currentCard.GetComponentInChildren<GraphicRaycaster>().enabled = false;
+ currentCard.GetComponentInChildren<SetScaleToZero>().enabled = false;
+ currentCard.GetComponentInChildren<SetScaleToZero>().transform.localScale = Vector3.one * 1.15f;
+ }
+
+ public void StopHover()
+ {
+ if ((bool)currentCard)
+ {
+ Object.Destroy(currentCard);
+ }
+ }
+
+ private void Update()
+ {
+ }
+}