Ejemplo n.º 1
0
 private static void Select(CardEventTrigger Trigger)
 {
     if (Trigger != null)
     {
         //UnHighlight(Trigger);
         Trigger.border.color = SelectedColour;
     }
     Manager.manager.UnHighlightZones();
     selectedCard = Trigger;
 }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
    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);
        }
    }
Ejemplo n.º 5
0
 public static void Deselect(CardEventTrigger Trigger)
 {
     Trigger.border.color = DefaultColour;
     Select(null);
 }
Ejemplo n.º 6
0
 public static void UnHighlight(CardEventTrigger Trigger)
 {
     Trigger.Border.color = DefaultColour;
     Trigger.Highlighted  = false;
 }
Ejemplo n.º 7
0
 public static void SpecialHighlight(CardEventTrigger Trigger)
 {
     Trigger.Border.color       = HighlightColour;
     Trigger.SpecialHighlighted = true;
     specialHighlight.Add(Trigger);
 }
Ejemplo n.º 8
0
 private static void Highlight(CardEventTrigger Trigger)
 {
     Trigger.Border.color = HighlightColour;
     Trigger.Highlighted  = true;
 }