Esempio n. 1
0
    public void SetupTrigger(InSceneCard card)
    {
        switch (trigger)
        {
        case Triggers.Opener:
        {
            Debug.Log("opener trigger created");
            TriggerAbility(card);
        } break;

        case Triggers.Fade:
        {
            Debug.Log("fade trigger created");
            GameManager.instance.onSpiritFade += TriggerAbility;
        } break;

        case Triggers.OnPersonalAttack:
        {
            Debug.Log("onattack trigger created");
            GameManager.instance.onAttack += TriggerAbility;
        } break;

        default:
        {
        } break;
        }
    }
Esempio n. 2
0
 private bool ShouldTrigger(InSceneCard card)
 {
     switch (trigger)
     {
     case Triggers.OnPersonalAttack:
     {
         if (card != parent)
         {
             return(false);
         }
     } break;
     }
     return(true);
 }
Esempio n. 3
0
    public override void OnInspectorGUI()
    {
        //DrawDefaultInspector();

        InSceneCard myTarget = (InSceneCard)target;

        EditorUtility.SetDirty(myTarget);

        myTarget.cardInfo = (CardScriptable)EditorGUILayout.ObjectField(myTarget.cardInfo, typeof(CardScriptable), false);
        if (myTarget.cardInfo == null)
        {
            return;
        }

        CardScriptable card = myTarget.cardInfo;

        EditorGUILayout.LabelField("Name:", card.name);
        EditorGUILayout.LabelField("Flavor Text:", card.flavorText);
        EditorGUILayout.LabelField("Textbox:", card.textBox);
        EditorGUILayout.LabelField("Attack:", card.attack.ToString());
        EditorGUILayout.LabelField("Countdown:", card.countdown.ToString());
        EditorGUILayout.LabelField("Cost:", card.cost.ToString());

        EditorGUILayout.LabelField("Type:", card.type.ToString());


        EditorGUILayout.LabelField("Effects");
        EditorGUI.indentLevel++;
        foreach (TriggeredAbility item in card.abilities)
        {
            EditorGUILayout.LabelField(item.ToString());
        }
        EditorGUI.indentLevel--;



        if (GUILayout.Button("Kill this card"))
        {
            Destroy(myTarget.gameObject);
        }
        if (GUILayout.Button("temp"))
        {
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }
    }
Esempio n. 4
0
    public void addCard(GameObject toAdd)
    {
        if (toAdd.GetComponent <InSceneCard>() == null || currentFilled >= maxHandSize)
        {
            return;
        }
        InSceneCard card = toAdd.GetComponent <InSceneCard>();

        cardsInHand.Add(card);

        HashSet <InSceneCard> temp = new HashSet <InSceneCard>(cardsInHand);

        cardsInHand = new List <InSceneCard>(temp);        //removing duplicates

        toAdd.transform.SetParent(this.transform);
        Vector3 currSlot = handSlots[currentFilled++].transform.position;

        toAdd.transform.position = new Vector3(currSlot.x, currSlot.y, -0.2f);
    }
Esempio n. 5
0
    public async void TriggerAbility(InSceneCard card)
    {
        if (!ShouldTrigger(card))
        {
            return;
        }
        Debug.Log("Triggering");
        InstantiateAbility();
        if (effect.requiresTarget)
        {
            target = await GameManager.instance.pickTarget(this);

            Debug.Log(target);
            ((TargetedEffect)effect).OnTrigger(card, target.GetComponent <InSceneCard>());
        }
        else
        {
            ((NonTargetedEffect)effect).OnTrigger(card);
        }
    }
Esempio n. 6
0
    public void addCard(GameObject toAdd)
    {
        if (toAdd.GetComponent <InSceneCard>() == null)
        {
            return;
        }
        InSceneCard card  = toAdd.GetComponent <InSceneCard>();
        GameObject  toUse = null;

        switch (card.cardInfo.type)
        {
        case CardType.Hit:
        {
            toUse = hitArea;
            hitCards.Add(card);
        } break;

        case CardType.Block:
        {
            toUse = blockArea;
            blockCards.Add(card);
        } break;

        case CardType.Grab:
        {
            toUse = grabArea;
            grabCards.Add(card);
        } break;
        }

        toAdd.transform.SetParent(toUse.transform);
        toAdd.transform.position = new Vector3(toUse.transform.position.x, toUse.transform.position.y, -0.2f);
//		Debug.Log("Casting " + card.name);
        GameManager.instance.onSpiritPlay(card);
        card.Cast();
    }
Esempio n. 7
0
 void Debug7(InSceneCard card)
 {
     Debug.Log("GameManger Trigger DealDamage");
 }
Esempio n. 8
0
 void Debug6(InSceneCard card)
 {
     Debug.Log("GameManger Trigger Atack");
 }
Esempio n. 9
0
 void Debug5(InSceneCard card)
 {
     Debug.Log("GameManger Trigger SpritFade");
 }
Esempio n. 10
0
 void Debug4(InSceneCard card)
 {
     Debug.Log("GameManger Trigger SpritPlay");
 }
Esempio n. 11
0
 public abstract void OnTrigger(InSceneCard attachedTo, InSceneCard target);
Esempio n. 12
0
 public abstract void OnTrigger(InSceneCard attachedTo);
Esempio n. 13
0
 void Start()
 {
     offset     = new Vector3();
     card       = GetComponent <InSceneCard>();
     collider2D = GetComponent <BoxCollider2D>();
 }
Esempio n. 14
0
 public override void OnTrigger(InSceneCard attachedTo)
 {
     Debug.Log("Trigger:Drawing");        //attachedTo.cardInfo.controllingPlayer.playerDeck.GetComponent<Deck>().drawCards(numberOfCards);
 }
Esempio n. 15
0
 public override void OnTrigger(InSceneCard attachedTo, InSceneCard target)
 {
     Debug.Log("Counting down " + target.cardInfo.name);
     target.cardInfo.countdown--;
     target.UpdateCardInfo();
 }