72 lines
1.4 KiB
C#
72 lines
1.4 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
public enum CardSuit
|
|
{
|
|
Fire = 0,
|
|
Earth = 1,
|
|
Air = 2,
|
|
Water = 3
|
|
}
|
|
|
|
public enum CardRank
|
|
{
|
|
Servant = 1,
|
|
Knight = 2,
|
|
Lord = 3
|
|
}
|
|
|
|
public enum ContainerType
|
|
{
|
|
Deck,
|
|
Hand,
|
|
Board,
|
|
Discard
|
|
}
|
|
|
|
[Serializable]
|
|
public struct CardModel
|
|
{
|
|
public CardSuit suit;
|
|
public CardRank rank;
|
|
|
|
public CardModel(CardSuit suit, CardRank rank)
|
|
{
|
|
this.suit = suit;
|
|
this.rank = rank;
|
|
}
|
|
|
|
public string GetTitle()
|
|
{
|
|
var rankName = rank switch
|
|
{
|
|
CardRank.Servant => "Слуга",
|
|
CardRank.Knight => "Рыцарь",
|
|
CardRank.Lord => "Владыка",
|
|
_ => ""
|
|
};
|
|
|
|
var suitName = suit switch
|
|
{
|
|
CardSuit.Fire => "Огня",
|
|
CardSuit.Earth => "Земли",
|
|
CardSuit.Air => "Воздуха",
|
|
CardSuit.Water => "Воды",
|
|
_ => ""
|
|
};
|
|
|
|
return $"{rankName}\n{suitName}\n({(int)rank})";
|
|
}
|
|
|
|
public Color GetSuitColor()
|
|
{
|
|
return suit switch
|
|
{
|
|
CardSuit.Fire => new Color(0.9f, 0.3f, 0.2f),
|
|
CardSuit.Earth => new Color(0.4f, 0.7f, 0.3f),
|
|
CardSuit.Air => new Color(0.8f, 0.9f, 0.95f),
|
|
CardSuit.Water => new Color(0.2f, 0.5f, 0.9f),
|
|
_ => Color.white
|
|
};
|
|
}
|
|
} |