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; } }
private bool ShouldTrigger(InSceneCard card) { switch (trigger) { case Triggers.OnPersonalAttack: { if (card != parent) { return(false); } } break; } return(true); }
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(); } }
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); }
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); } }
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(); }
void Debug7(InSceneCard card) { Debug.Log("GameManger Trigger DealDamage"); }
void Debug6(InSceneCard card) { Debug.Log("GameManger Trigger Atack"); }
void Debug5(InSceneCard card) { Debug.Log("GameManger Trigger SpritFade"); }
void Debug4(InSceneCard card) { Debug.Log("GameManger Trigger SpritPlay"); }
public abstract void OnTrigger(InSceneCard attachedTo, InSceneCard target);
public abstract void OnTrigger(InSceneCard attachedTo);
void Start() { offset = new Vector3(); card = GetComponent <InSceneCard>(); collider2D = GetComponent <BoxCollider2D>(); }
public override void OnTrigger(InSceneCard attachedTo) { Debug.Log("Trigger:Drawing"); //attachedTo.cardInfo.controllingPlayer.playerDeck.GetComponent<Deck>().drawCards(numberOfCards); }
public override void OnTrigger(InSceneCard attachedTo, InSceneCard target) { Debug.Log("Counting down " + target.cardInfo.name); target.cardInfo.countdown--; target.UpdateCardInfo(); }