public void MouseOverTarget(Targetable target, CardType targetableBy, bool isOver, bool toTrash = false) { if (!CanSummon) { return; } TrashCard = toTrash; LastTarget = target; if (targetableBy.HasFlag(SummoningCardType)) { overValidTarget = isOver; good.SetActive(isOver); bad.SetActive(!isOver); return; } else if (SummoningCardType != CardType.Undefined) { overValidTarget = false; good.SetActive(false); bad.SetActive(true); } overValidTarget = false; good.SetActive(false); bad.SetActive(false); }
virtual public void SetActiveState(CardType incomingType) { // True if this entity is marked to respond to the incoming (being played) type of card active = targetableBy.HasFlag(incomingType); col2D.enabled = active; if (targeted && !active) { targeted.enabled = false; } indicator.SetActive(active); }
public static List <Color> GetColorsForType(CardType type) { List <Color> colors = new List <Color>(); CardType typeToCheck = (CardType)(1); while (Enum.IsDefined(typeof(CardType), typeToCheck)) { switch (typeToCheck) { case CardType.Treasure: case CardType.Victory: case CardType.Curse: case CardType.Action: case CardType.Reaction: case CardType.Attack: case CardType.Duration: case CardType.Prize: case CardType.Ruins: case CardType.Shelter: case CardType.Looter: case CardType.Knight: case CardType.Reserve: case CardType.Traveller: case CardType.Event: case CardType.Landmark: case CardType.Castle: case CardType.Gathering: if (type.HasFlag(typeToCheck)) { colors.Add(GetColorForType(typeToCheck)); } break; default: throw new ArgumentOutOfRangeException("type", $"Unsupported Card Type {type}"); } typeToCheck = (CardType)((int)typeToCheck << 1); } return(colors); }
public static string TypeToString(this CardType coreType) { List <string> types = new List <string>(); if (coreType.HasFlag(CardType.Tribal)) { types.Add("Tribal"); } if (coreType.HasFlag(CardType.Land)) { types.Add("Land"); } if (coreType.HasFlag(CardType.Creature)) { types.Add("Creature"); } if (coreType.HasFlag(CardType.Artifact)) { types.Add("Artifact"); } if (coreType.HasFlag(CardType.Enchantment)) { types.Add("Enchantment"); } if (coreType.HasFlag(CardType.Planeswalker)) { types.Add("Planeswalker"); } if (coreType.HasFlag(CardType.Instant)) { types.Add("Instant"); } if (coreType.HasFlag(CardType.Sorcery)) { types.Add("Sorcery"); } return(string.Join(" ", types)); }
public string GetMonsterStatString() { string ToReturn = ""; if (!Type.HasFlag(CardType.MONSTER)) { return(""); } if (MonsterCardType.HasFlag(MonsterCardType.XYZ)) { ToReturn = "Rank "; } else if (MonsterCardType.HasFlag(MonsterCardType.LINK)) { ToReturn = "Rating "; } else { ToReturn = "Level "; } ToReturn += Level.ToString(); ToReturn += " - ATK/" + Atk.ToString(); if (!MonsterCardType.HasFlag(MonsterCardType.LINK)) { ToReturn += " DEF/" + Def.ToString(); } if (Monster2ndType.HasFlag(Monster2ndType.PENDULUM)) { ToReturn += " (Scale : " + PendulumScale.ToString() + ')'; } return(ToReturn); }