85 lines
2.4 KiB
C#
85 lines
2.4 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using UnityEngine.Events;
|
||
using UnityEngine.UI;
|
||
|
||
public class Card : MonoBehaviour
|
||
{
|
||
[SerializeField] private CardConfig cardConfig;
|
||
|
||
|
||
[Space(3)]
|
||
[HideInInspector] public int number;
|
||
|
||
[Header("DON'T TOUCH THIS! IT STANDART PRESET!")]
|
||
[SerializeField] private GameObject cardObject;
|
||
[SerializeField] private Image picture;
|
||
[SerializeField] private Text nameCard;
|
||
[SerializeField] private Text costTitle;
|
||
[SerializeField] private Text cost;
|
||
[SerializeField] private Text type;
|
||
[SerializeField] private Text quantity;
|
||
|
||
//этот колхоз надо переделать 100 процентов
|
||
|
||
|
||
private void Start()
|
||
{
|
||
picture.sprite = cardConfig.CardCharacteristics.picture;
|
||
var _card = cardConfig.CardCharacteristics;
|
||
picture.sprite = _card.picture;
|
||
nameCard.text = _card.cardName;
|
||
if(_card.quantityStamina > 0 || _card.quantityHealth == 0)
|
||
{
|
||
costTitle.text = "Stam";
|
||
cost.text = _card.quantityStamina.ToString();
|
||
|
||
} else
|
||
{
|
||
costTitle.text = "Heal";
|
||
cost.text = _card.quantityHealth.ToString();
|
||
}
|
||
if(_card.damage > 0)
|
||
{
|
||
type.text = "Atk";
|
||
|
||
quantity.text = _card.damage.ToString();
|
||
}
|
||
else if (_card.healing > 0)
|
||
{
|
||
type.text = "Heal";
|
||
|
||
quantity.text = _card.healing.ToString();
|
||
} else
|
||
{
|
||
type.text = "Stam";
|
||
|
||
quantity.text = _card.addStamina.ToString();
|
||
}
|
||
}
|
||
public void OnClick()
|
||
{
|
||
var _card = cardConfig.CardCharacteristics;
|
||
//ВАРНИНГ! НЕ РАБОТАЕТ С КАРТАМИ НА -ЗДОРОВЬЕ!!
|
||
int _stamina = DeckManager.main.stamina;
|
||
if (_card.addStamina > 0)
|
||
{
|
||
DeckManager.main.NewStaminaQuantity(_stamina + _card.addStamina);
|
||
DestroyObject();
|
||
return;
|
||
}
|
||
if(_stamina >= cardConfig.CardCharacteristics.quantityStamina)
|
||
{
|
||
DeckManager.main.currentCard = cardConfig;
|
||
DeckManager.main.numberCurrentCard = number;
|
||
}
|
||
}
|
||
|
||
public void DestroyObject()
|
||
{
|
||
Destroy(cardObject);
|
||
//Camera.main.GetComponent<DeckManager>().CardInTable.RemoveAt(number);
|
||
}
|
||
}
|