void loadStats() { avrage_cost = 0; avrage_spell_cost = 0; number_of_creature_card = 0; number_of_spell_cards = 0; for (int i = 0; selected_deck.deck.Length > i; i++) { ScriptableCard sc = col.id[selected_deck.deck[i]]; if (sc.isSpell == true) { number_of_spell_cards++; avrage_spell_cost += sc.manaCost; } else { number_of_creature_card++; avrage_cost += sc.manaCost; } } if (number_of_creature_card != 0) { avrage_cost = avrage_cost / number_of_creature_card; } if (number_of_spell_cards != 0) { avrage_spell_cost = avrage_spell_cost / number_of_spell_cards; } deckStats.text = "number of units: " + number_of_creature_card + "\n" + "avrage unit cost: " + avrage_cost + "\n" + "number of spell cards: " + number_of_spell_cards + "\n" + "avrage spell cost: " + avrage_cost; deleteButton.SetActive(true); }
public override void Setup(ScriptableCard data, CardLine line, Mage owner) { base.Setup(data, line, owner); targets = new List <CardController>(); foreach (var c in FindObjectsOfType <CardController>()) { if (c.owner == this.owner) { continue; } var mage = c.GetComponent <MageCardController>(); if (mage != null) { mage.owner.Silence(0.5f); } targets.Add(c); } Destroy(this.gameObject, data.lifeTime); }
public override void Setup(ScriptableCard data, CardLine line, Mage owner) { base.Setup(data, line, owner); this.damage = data.damage; StartCoroutine(DoDamage(this, data.lifeTime)); }
public override void Setup(ScriptableCard data, CardLine line, Mage owner) { base.Setup(data, line, owner); Destroy(this.gameObject, data.lifeTime); }
public override void Setup(ScriptableCard data, CardLine line, Mage owner) { base.Setup(data, line, owner); var fissures = FindObjectsOfType <Fisure.FisureController>(); foreach (var fiss in fissures) { switch (fiss.line) { case CardLine.LEFT: Instantiate(fiss, fiss.owner.centerCastSpot, false); Instantiate(fiss, fiss.owner.rightCastSpot, false); break; case CardLine.CENTER: Instantiate(fiss, fiss.owner.leftCastSpot, false); Instantiate(fiss, fiss.owner.rightCastSpot, false); break; case CardLine.RIGHT: Instantiate(fiss, fiss.owner.leftCastSpot, false); Instantiate(fiss, fiss.owner.centerCastSpot, false); break; } } if (fissures != null && fissures.Length > 0) { this.damage += 10; } Destroy(this.gameObject, 1.0f); }
public GameObject create_card(string unit) { GameObject card = Instantiate(Unit_card_temp); for (int i = 0; id.Length > i; i++) { if (id[i].name == unit) { card.transform.localScale = new Vector3(1, 1, 1); ScriptableCard sc = new ScriptableCard { artwork = id[i].artwork, name = id[i].name, health = id[i].health, attack = id[i].attack, manaCost = id[i].manaCost, description = id[i].description, monsterSickness = true, Tags = id[i].Tags, Robert_loop_effect = id[i] }; card.GetComponent <CardDisplay>().card = sc; card.GetComponent <CardDisplay>().active = true; card.transform.parent = cardfeild.transform; card.GetComponent <RectTransform>().localScale = new Vector2(0.6f, 0.6f); card.GetComponent <card_functions>().isInHand = false; return(card); } } return(card); }
public void RemoteCardPlayed(string cardName, int sibIndex) { ScriptableCard card = Resources.Load <ScriptableCard>("CardScripts/" + cardName); Debug.Log("Enemy played " + cardName); GameHandler.Instance.EnemyCardPlayed(card, sibIndex); }
public ScriptableCard Draw() { ScriptableCard temp = instance[0]; instance.RemoveAt(0); return(temp); }
public void SetCardScript(ScriptableCard script) { if (script != null) { cardScript = script; } Awake(); }
public OCard CreateCard(ScriptableCard nextCard, CardLine line, Mage owner) { OCard card = Instantiate(nextCard.logic).Setup(nextCard, line, owner); //engine.Execute(nextCard.logic.ToString(), card.script); return(card); }
public virtual OCard Setup(ScriptableCard staticData, CardLine line, Mage owner) { this.data = staticData; IsCastCompleted = false; this.ChoosedLine = line; this.Owner = owner; this.Title = staticData.title; return(this); }
public int GetIndex(ScriptableCard card) { for (int i = 0; i < cards.Length; i++) { if (cards[i] == card) { return(i); } } return(-1); }
public override void Setup(ScriptableCard data, CardLine line, Mage owner) { base.Setup(data, line, owner); this.speed = data.speed; if (line == CardLine.CENTER) { this.damage = data.damage; } else { this.damage = data.lateralDamage; } }
public override void Setup(ScriptableCard data, CardLine line, Mage owner) { base.Setup(data, line, owner); this.speed = data.speed; if (line == CardLine.CENTER) { this.damage = data.damage; } else { this.damage = data.lateralDamage; } StartCoroutine(DoDamage(this, data.lifeTime)); }
public Card(ScriptableCard cardData) { CardData = cardData; if (cardData == null) { return; } effectDuration = cardData.effectDuration; EffectTag = cardData.EffectTag; EffectName = cardData.EffectName; modifier = cardData.modifier; effectOnPlayer = cardData.effectOnPlayer; }
public void Cast(ScriptableCard nextCard, CardLine line, Mage owner, Action <OCard> OnCastEnd) { var card = CreateCard(nextCard, line, owner); //var card = new Card(nextCard,line); card.SetCastCallBack(OnCastEnd); inCast.Add(card); if (owner.tag.Equals("Player")) { Array.ForEach(castTimerGroup, (c) => c.blocksRaycasts = true); Array.ForEach(castTimerImage, (c) => c.fillAmount = 1); } }
/** * Shuffles instance of this deck */ public void Shuffle() { System.Random rand = new System.Random(); int n = instance.Count; while (n > 1) { n--; int k = rand.Next(n + 1); ScriptableCard value = instance[k]; instance[k] = instance[n]; instance[n] = value; } }
public override void Setup(ScriptableCard data, CardLine line, Mage owner) { base.Setup(data, line, owner); var mages = FindObjectsOfType <Mage>(); if (mages[0] == this.owner) { enemy = mages[1]; } else { enemy = mages[0]; } this.speed = data.speed; }
public void OnBookSelected() { if (dbHelper.Key <= 0) { key.text = noKeyText; return; } openMessage.SetActive(false); menu.SetActive(false); dbHelper.Key--; dbHelper.Chest--; lastCard = null; var list = new List <ScriptableCard>(dbHelper.cardList.cards); var playerCards = dbHelper.GetPlayerCards(); list.RemoveAll(c => playerCards.Contains(c)); if (list.Count <= 0) { dbHelper.Gold += 300; currency?.FireEvent(null); } else { var rnd = Random.Range(0, list.Count); var card = list[rnd]; dbHelper.AddCard(card.UUID, card.title); cardImage.sprite = card.art; lastCard = card; } bookSlot.SetActive(false); animator.SetBool("closed", false); if (openBookAudio != null) { audioSource.PlayOneShot(openBookAudio); } Rearm(); }
public virtual void Setup(ScriptableCard data, CardLine line, Mage owner) { this.data = data; this.owner = owner; this.line = line; this.damage = data.damage; Transform lineTransform; switch (line) { case CardLine.LEFT: lineTransform = owner.leftCastSpot; break; case CardLine.CENTER: lineTransform = owner.centerCastSpot; break; case CardLine.RIGHT: lineTransform = owner.rightCastSpot; break; case CardLine.MAGE: lineTransform = owner.mage; break; case CardLine.ENEMY: lineTransform = owner.enemy; break; default: lineTransform = owner.centerCastSpot; break; } this.transform.position = lineTransform.position; this.transform.rotation = lineTransform.rotation; var rb = this.gameObject.AddComponent <Rigidbody>(); rb.useGravity = false; rb.isKinematic = false; var source = this.gameObject.AddComponent <AudioSource>(); AudioManager.PlayFromSourceInLocation(data.castClip, source, transform); }
public void ShowFor(CardLine acceptableLines, ScriptableCard card) { this.acceptableLines = acceptableLines; this.gameObject.SetActive(true); animator.SetFloat("left", acceptableLines.HasFlag(CardLine.LEFT) ? 0 : 0); animator.SetFloat("center", acceptableLines.HasFlag(CardLine.CENTER) ? 0 : 0); animator.SetFloat("right", acceptableLines.HasFlag(CardLine.RIGHT) ? 0 : 0); animator.SetFloat("mage", acceptableLines.HasFlag(CardLine.MAGE) ? 0 : 0); animator.SetFloat("enemy", acceptableLines.HasFlag(CardLine.ENEMY) ? 0 : 0); line = 0; dragable.gameObject.SetActive(true); dragable.sprite = card.icon; cardMana = card.mana; }
public void EnemyCardPlayed(ScriptableCard cardScript, int sibIndex) { //create the played card Card card = Instantiate(cardPrefab, new Vector2(0, 0), Quaternion.identity).GetComponent <Card>(); card.SetCardScript(cardScript); card.isPlayed = true; card.transform.Find("Card Front/Cost Group").gameObject.SetActive(false); //remove a placeholder card from enemys hand Destroy(player2Hand.GetComponentInChildren <Card>().gameObject); //place the card on the enemys dropzone card.transform.SetParent(player2DropZone.transform, false); player2DropZone.GetComponent <DropZoneSpacing>().CheckSpacing(); card.transform.SetSiblingIndex(sibIndex); card.GetComponent <DragBehaviour>().enabled = false; }
public override void Setup(ScriptableCard data, CardLine line, Mage owner) { base.Setup(data, line, owner); Destroy(this.gameObject, data.lifeTime); var cards = FindObjectsOfType <CardController>(); foreach (var c in cards) { if (c.owner == this.owner) { continue; } c.TakeDamage(data.damage, data.element, DamageType.Direct, this); } }
public void LoadCreatureCard(ScriptableCard cc) { if (cc == null) { return; } creatureCard = cc; cardID.text = cc.ID.ToString(); cardName.text = cc.name; cardDescriptions.text = cc.description; cardArt.sprite = cc.artwork; cost.text = cc.manaCost.ToString(); attack.text = cc.attack.ToString(); health.text = cc.health.ToString(); }
public override void Setup(ScriptableCard data, CardLine line, Mage owner) { base.Setup(data, line, owner); this.damage = data.damage; //Debug.LogWarning("FindObjectsOfType in setup is a bad idea!!!"); var cards = FindObjectsOfType <CardController>(); this.damage -= 5 * cards.Length - 1; foreach (var c in cards) { c.TakeDamage(damage, data.element, DamageType.Direct, this); } }
public void SetCard(ScriptableCard card) { var panel = Helper.FindComponentInChildrenWithName <Component>(this.gameObject, "*Card"); var art = Helper.FindComponentInChildrenWithName <Image>(panel.gameObject, "*Art"); art.sprite = card.art; cardButton.onClick.RemoveAllListeners(); cardButton.onClick.AddListener(delegate() { cardFullViewScript.SetCard(card); this.IsShowing = false; }); this.IsShowing = true; activeDeckView.IsShowing = true; this.card = card; }
public void AddCardInSlot(string uuid, int slot) { var deck = GetActiveDeck().ID; var card = GetCardIDFromUUID(uuid); var oldSlot = GetCardSlotFromID(deck, card); ScriptableCard oldCard = null; try { oldCard = GetCardFromSlot(slot); } catch (Exception e) { } AddCardInSlot(deck, card, slot); if (oldCard != null && oldSlot >= 0) { AddCardInSlot(deck, GetCardIDFromUUID(oldCard.UUID), oldSlot); } }
void ConfigureSlots() { var count = gridOfCurretDeck.transform.childCount; for (int i = 0; i < count; i++) { ShowCardInSlot(i); var slot = i; gridOfCurretDeck.transform.GetChild(i).GetComponent <Button>().onClick.AddListener(delegate() { if (IsShowing) { ScriptableCard c = deckEditView.GetCard(); if (c.element == dbHelper.GetActiveMage().element || c.rank < 3) { dbHelper.AddCardInSlot(c.UUID, slot); IsShowing = false; deckEditView.IsShowing = false; playerCardPanel.Populate(); } else { audioSource.PlayOneShot(lowLevelAudio); } ShowCardsForAllSlots(null); } else { deckEditView.gameObject.SetActive(true); deckEditView.SetCard(dbHelper.GetCardFromSlot(slot) as ScriptableCard); deckEditView.IsShowing = true; } }); } manaText.text = string.Format("Custo arcano médio: {0:0.0}", dbHelper.GetActiveDeck().CalculateMana(dbHelper)); }
public void OnCardsUpdate(ScriptableCard[] cards) { Debug.LogWarning("OnCardsUpdate"); foreach (Transform child in grid.transform) { GameObject.Destroy(child.gameObject); } var i = 0; foreach (var card in cards) { var view = Instantiate(cardPrefab); var art = Helper.FindComponentInChildrenWithName <Image>(view, "*Art"); art.sprite = card.art; view.GetComponent <Button>().onClick.AddListener(delegate() { if (IsShowing) { ScriptableCard c = deckEditView.GetCard(); Debug.LogWarning("SetCardToCurrentDeckInPosition not implemented"); //Server.SetCardToCurrentDeckInPosition(this, c, i, Player.Instance.ReloadDecks); } else { deckEditView.gameObject.SetActive(true); deckEditView.SetCard(card); deckEditView.IsShowing = true; } }); view.transform.SetParent(grid.transform, false); i++; } }
public void CastCard(int nextCard, CardLine nextLine) { if (this.mana < handCards[nextCard].mana) { if (lowManaAudio != null) { audioSource.PlayOneShot(lowManaAudio); } return; } ; if (this.silence > 0) { return; } //CheckSide(nextLine); lineSelectionEvent?.FireEvent(nextLine); manager.Cast(handCards[nextCard], nextLine, this, OnCastEnd); animator.SetBool("isCasting", true); animator.SetFloat("Blend", (int)handCards[nextCard].animation); canCast = false; this.mana -= handCards[nextCard].mana; lastCard = handCards[nextCard]; handCards[nextCard] = null; cardChoosed = false; this.nextCard = nextCard; castStartEvent?.FireEvent(lastCard.cast); DrawCard(); }