private static void Select(CardEventTrigger Trigger) { if (Trigger != null) { //UnHighlight(Trigger); Trigger.border.color = SelectedColour; } Manager.manager.UnHighlightZones(); selectedCard = Trigger; }
private void HighlightCardsInZone(Zone z) { foreach (CardGO go in z.Cards) { if (go.Card.Ability != Card.Abilities.Decoy) { CardEventTrigger.SpecialHighlight(go.GetComponent <CardEventTrigger>()); } //print(go.GetComponent<CardEventTrigger>().Highlighted + ", " + go.GetComponent<CardEventTrigger>().SpecialHighlighted); } }
public override void OnInspectorGUI() { //base.OnInspectorGUI(); CardEventTrigger.DefaultColour = EditorGUILayout.ColorField("Default Colour", CardEventTrigger.DefaultColour); CardEventTrigger.HighlightColour = EditorGUILayout.ColorField("Highlight Colour", CardEventTrigger.HighlightColour); CardEventTrigger.SelectedColour = EditorGUILayout.ColorField("Selected Colour", CardEventTrigger.SelectedColour); CardEventTrigger trigger = (CardEventTrigger)target; //SerializedProperty strengthSprites = serializedObject.FindProperty("StrengthImages"); //EditorGUILayout.PropertyField(strengthSprites); EditorGUILayout.Toggle("Highlighted", trigger.Highlighted); EditorGUILayout.Toggle("Special Highlighted", trigger.SpecialHighlighted); SerializedProperty cardGO = serializedObject.FindProperty("cardGO"); EditorGUILayout.PropertyField(cardGO); }
public void OnPointerClick(PointerEventData eventData) { if (Highlighted) { print("CLICK: " + gameObject + " CARD: " + CardEventTrigger.SelectedCard); //play selected card CardGO cardGO = CardEventTrigger.SelectedCard.GetComponent <CardGO>(); if (cardGO.Card.Ability == Card.Abilities.Scorch) { if (cardGO.Card.Special) { //scorch highest str card(s) Zone[] zones = new Zone[] { Manager.manager.GetZone(Zone.Types.Melee), Manager.manager.GetZone(Zone.Types.Ranged), Manager.manager.GetZone(Zone.Types.Siege), Manager.manager.GetZone(Zone.Types.Melee, false), Manager.manager.GetZone(Zone.Types.Ranged, false), Manager.manager.GetZone(Zone.Types.Siege, false) }; /* * List<CardGO> strongest = new List<CardGO>(); * foreach (Zone zone in zones) * { * foreach (CardGO c in zone.Cards) * { * if (!c.Card.Special && !((UnitCard)c.Card).Hero) * { * if (strongest.Count == 0) * strongest.Add(c); * else if (((UnitCard)c.Card).Strength > ((UnitCard)strongest[0].Card).Strength) * { * strongest.Clear(); * strongest.Add(c); * } * else if (((UnitCard)c.Card).Strength == ((UnitCard)strongest[0].Card).Strength) * strongest.Add(c); * } * } * } * //move strongest to discard * foreach (CardGO go in strongest) * { * go.Discard(); * print(go.name); * } */ ScorchZone(zones); } else { //scorch highest str card(s) in opponents zone } } //else if (cardGO.Card.Ability == Card.Abilities.Bond) CardEventTrigger.UnHighlight(CardEventTrigger.SelectedCard.GetComponent <CardEventTrigger>()); Zone z = GetComponent <Zone>(); if (cardGO.Card.Ability == Card.Abilities.Bond && z.Cards.Count > 0) { for (int i = 0; i < z.Cards.Count; i++) { if (z.Cards[i].Card.Name == cardGO.Card.Name) { cardGO.MoveTo(z, z.Cards.IndexOf(z.Cards[i])); break; } else if (i == z.Cards.Count - 1) { cardGO.MoveTo(z); } } } else { cardGO.MoveTo(z); } Manager.manager.UnHighlightZones(); if (z.Type == Zone.Types.Melee || z.Type == Zone.Types.Ranged || z.Type == Zone.Types.Siege) { ((Battlefield)z).RecalcStatsAtEndOfFrame(); } else if (z.Type == Zone.Types.Horn) { ((HornZone)z).SpecialHorn = cardGO; //recalc stats for associated battlefield StartCoroutine(((HornZone)z).Battlefield.RecalcStatsAtEndOfFrame()); } //if Cards.count > MAX_CARDS_WITHOUT_OVERLAP //change layout group spacing by -10 * (Cards.Count - MAX_CARDS_WITHOUT_OVERLAP) //GetComponent<HorizontalLayoutGroup>().spacing = z.RecalcSpacing(); CardEventTrigger.Deselect(CardEventTrigger.SelectedCard); } }
public static void Deselect(CardEventTrigger Trigger) { Trigger.border.color = DefaultColour; Select(null); }
public static void UnHighlight(CardEventTrigger Trigger) { Trigger.Border.color = DefaultColour; Trigger.Highlighted = false; }
public static void SpecialHighlight(CardEventTrigger Trigger) { Trigger.Border.color = HighlightColour; Trigger.SpecialHighlighted = true; specialHighlight.Add(Trigger); }
private static void Highlight(CardEventTrigger Trigger) { Trigger.Border.color = HighlightColour; Trigger.Highlighted = true; }