public void makeEquipment(cardData cData, EquipData eData) { eData.attack = cData.attack; eData.armor = cData.health; if (!cData.silence) { TextAsset path = Resources.Load("xml/equipData", typeof(TextAsset)) as TextAsset; //Debug.Log (path); //Debug.Log ("not null"); XElement root = XElement.Parse(path.text); IEnumerable <XElement> cd = from el in root.Elements("equipments").Elements("equip") where el.Attribute("id").Value == cData.id select el; if (cd.FirstOrDefault() != null) { XElement equipData = cd.First(); if (equipData.Element("active").Value != "") { string actString = equipData.Element("active").Value; List <string> actives = actString.Split(' ').ToList <string> (); foreach (var act in actives) { eData.aaList.Add(new ActiveFactory().GetActiveAbility(act)); } } string abi = equipData.Element("skills").Value; List <string> skills = abi.Split(' ').ToList <string> (); foreach (var skill in skills) { if (skill == "taunt") { eData.taunt = true; } if (skill == "charge") { eData.charge = true; } if (skill == "lifeSteal") { eData.lifeSteal = true; } if (skill == "twinStrike") { eData.twinStrike = true; } } } } }
public override void playTrigger(cardData cData) { if (postion == "deck") { if (this.cData.owner == cData.owner) { if (cData.race.Contains("human")) { Champion ownerChamp = GameObject.FindGameObjectWithTag(this.cData.owner).GetComponent <Champion> (); ownerChamp.summonMinion(new Serializer().SerializeToString(this.cData), -1); int pos = 0; for (int i = 0; i < ownerChamp.deck.Count; i++) { if (ownerChamp.deck [i] == this.cData) { pos = i; break; } } ownerChamp.deck.RemoveAt(pos); } } } }
public void makeSpellCard(cardData cData, Card card) { card.spell = new SpellFactory().getSpell(cData.id); card.cData = cData; card.cData.cp.postion = "hand"; }
public cardData loadManaCardData(string id) { cardData cData = new cardData(); TextAsset path = Resources.Load("xml/CardDataBase", typeof(TextAsset)) as TextAsset; // Debug.Log (path); //Debug.Log ("not null"); XElement root = XElement.Parse(path.text); IEnumerable <XElement> cd = from el in root.Elements("cards").Elements("card") where el.Attribute("id").Value == id select el; XElement cardData = cd.First(); cData.id = cardData.Attribute("id").Value; string colours = cardData.Element("colour").Value; List <string> colourList = colours.Split(' ').ToList <string> (); cData.colour = colourList; cData.name = cardData.Element("name").Value; cData.image = cardData.Element("image").Value; cData.text = cardData.Element("text").Value; //cData.race = cardData.Element ("race").Value; cData.rarity = cardData.Element("rarity").Value; cData.type = cardData.Element("type").Value; return(cData); }
public void makeMinionCard(cardData cData, Card card) { //card.powerCost card.cData = cData; card.cData.cp.postion = "hand"; }
public void getAbiIndex(int i) { num = i; cardIndex.Clear(); page = 0; TextAsset path = Resources.Load("xml/AbilityData", typeof(TextAsset)) as TextAsset; XElement root = XElement.Parse(path.text); IEnumerable <XElement> cd = from el in root.Elements("abilites").Elements("ability") orderby el.Element("req").Value ascending, el.Element("name").Value ascending select el; //cd.OrderBy() foreach (var el in cd) { //Debug.Log (el.Value); //deck.Add(el.Value); //Debug.Log (el.Attribute ("type").Value); cardData c = new cardData(); //Debug.Log (int.Parse(el.Value)); string id = el.Attribute("id").Value; c = new LoadData().loadAbiCardData(id); cardIndex.Add(c); } }
// Use this for initialization public override void discardTrigger(cardData cData) { Champion ownerChamp = GameObject.FindGameObjectWithTag(owner).GetComponent <Champion> (); ownerChamp.draw(); //ownerChamp.gManager.minions[minionIndex].BuffMinion (1, 0,false); //this.minion.ownerChamp.draw (); }
public override void playTrigger(cardData cData, string ownerTag) { //if (ownerTag == minion.owner && cData.type=="spell") { // minion.BuffMinion (1, 1,true); //} }
public void Scry(bool top) { if (top == false) { cardData c = deck [0]; deck.RemoveAt(0); deck.Add(c); } }
// Update is called once per frame void Update() { cData = guiData.cData; originalData = guiData.originalData; if (cData != null) { switch (cData.type) { case "minion": cardColour(); renderMinion(); break; case "spell": cardColour(); renderSpell(); break; case "equip": cardColour(); renderEquip(); break; case "ability": renderAbility(); break; } Sprite spArt = new Sprite(); if (cData.image != "") { if (cData.type == "ability") { spArt = Resources.Load("Sprites/Abilities/" + cData.image, typeof(Sprite)) as Sprite; } else { spArt = Resources.Load("Sprites/Art/" + cData.image, typeof(Sprite)) as Sprite; } Art.GetComponent <Image> ().sprite = spArt; } else { spArt = Resources.Load("Sprites/Art/null", typeof(Sprite)) as Sprite; Art.GetComponent <Image> ().sprite = spArt; } cardText.fontSize = cData.fontSize * 10; //cardText.e } }
public override void cardPick(cardData cData, minionData mData) { Debug.Log(mData.ownerChamp.tag); string data = new Serializer().SerializeToString(cData); mData.ownerChamp.photonView.RPC("AddCardToGrave", PhotonTargets.MasterClient, data); mData.ownerChamp.opponent.photonView.RPC("RemoveCardFromGrave", PhotonTargets.MasterClient, data); mData.ownerChamp.photonView.RPC("setBusy", PhotonTargets.MasterClient, false); }
public void cardPick(cardData cData) { if (type == "active") { actAbility.cardPick(cData, mData); } if (type == "awaken") { awaken.cardPick(cData, mData); } }
public void addCard(cardData cData) { //,UnityEngine.Events.UnityAction call cards.Add(cData); GameObject cg = Instantiate(guiCard); cg.transform.SetParent(content); // if (call != null) { // cg.transform.Find ("Button").gameObject.GetComponent<Button> ().onClick.AddListener (call); // } }
public void makeEquip(cardData data) { cData = data; new LoadData().makeEquipment(cData, this); attack = cData.attack; armor = cData.health; if (!cData.silence) { } }
public override void cardPick(cardData cData) { cData.attack += 1; cData.health += 1; string data = new Serializer().SerializeToString(cData); //ownerChamp.drawCardtoHand Champion ownerChamp = GameObject.FindGameObjectWithTag(champTag).GetComponent <Champion>(); ownerChamp.photonView.RPC("drawCardtoHand", PhotonTargets.MasterClient, data); ownerChamp.photonView.RPC("RemoveCardFromGrave", PhotonTargets.MasterClient, data); ownerChamp.photonView.RPC("setBusy", PhotonTargets.MasterClient, false); //ownerChamp.photonView.RPC ("AddCardToGrave", PhotonTargets.MasterClient, new Serializer ().SerializeToString (cData)); }
void loadDeck() { nameDeckText.text = Path.GetFileNameWithoutExtension(Application.persistentDataPath + "/Decks/" + gameStat.currentDeck); var path = File.ReadAllText(Application.persistentDataPath + "/Decks/" + gameStat.currentDeck, Encoding.UTF8); XElement root = XElement.Parse(path); //champId=root.Attribute ("champion").Value; Abilites[0] = new LoadData().loadAbiCardData(root.Attribute("abi1").Value); Abilites[1] = new LoadData().loadAbiCardData(root.Attribute("abi2").Value); IEnumerable <XElement> cd = from el in root.Elements("cards").Elements("card") // where (int)el.Attribute("id")== id select el; foreach (var el in cd) { //Debug.Log (el.Value); //deck.Add(el.Value); //Debug.Log (el.Attribute ("type").Value); cardData c = new cardData(); //Debug.Log (int.Parse(el.Value)); string id = el.Value; string type = el.Attribute("type").Value; switch (type) { case "minion": c = new LoadData().loadMinionCardData(id); break; case "spell": c = new LoadData().loadSpellCardData(id); break; case "equip": c = new LoadData().loadEquipCardData(id); break; } addCard(c); } }
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (stream.isWriting) { //stream.SendNext (owner); stream.SendNext(id); stream.SendNext(owner); stream.SendNext(name); stream.SendNext(type); stream.SendNext(text); stream.SendNext(image); stream.SendNext(cost); stream.SendNext(finalCost); stream.SendNext(attack); stream.SendNext(health); stream.SendNext(new Serializer().SerializeToString(cData)); //stream.SendNext (new Serializer().SerializeToString(originalData)); stream.SendNext(new Serializer().SerializeToString(spell)); //stream.SendNext (new Serializer().SerializeToString(cp)); } else { id = (string)stream.ReceiveNext(); owner = (string)stream.ReceiveNext(); name = (string)stream.ReceiveNext(); type = (string)stream.ReceiveNext(); text = (string)stream.ReceiveNext(); image = (string)stream.ReceiveNext(); cost = (int)stream.ReceiveNext(); finalCost = (int)stream.ReceiveNext(); attack = (int)stream.ReceiveNext(); health = (int)stream.ReceiveNext(); cData = new Serializer().DeserializeFromString <cardData> ((string)stream.ReceiveNext()); //originalData=new Serializer().DeserializeFromString<cardData> ((string)stream.ReceiveNext ()); spell = new Serializer().DeserializeFromString <SpellData> ((string)stream.ReceiveNext()); //cp=new Serializer().DeserializeFromString<CardPassive> ((string)stream.ReceiveNext ()); } }
void getIndex() { TextAsset path = Resources.Load("xml/CardDataBase", typeof(TextAsset)) as TextAsset; XElement root = XElement.Parse(path.text); IEnumerable <XElement> cd = from el in root.Elements("cards").Elements("card") where el.Element("colour").Value.Contains(currentColour) && el.Element("deckListed").Value == "true" orderby el.Element("cost").Value ascending, el.Element("name").Value ascending select el; //cd.OrderBy() foreach (var el in cd) { //Debug.Log (el.Value); //deck.Add(el.Value); //Debug.Log (el.Attribute ("type").Value); cardData c = new cardData(); //Debug.Log (int.Parse(el.Value)); string id = el.Attribute("id").Value; string type = el.Element("type").Value; switch (type) { case "minion": c = new LoadData().loadMinionCardData(id); //Debug.Log ("minion"); break; case "spell": c = new LoadData().loadSpellCardData(id); break; case "equip": c = new LoadData().loadEquipCardData(id); break; case "Champion": //c = loader.loadChampData (id); break; } cardIndex.Add(c); } }
public void addAbi(cardData abi) { if (num == 0) { if (abi.id != Abilites [1].id) { Abilites [num] = abi; } } if (num == 1) { if (abi.id != Abilites [0].id) { Abilites [num] = abi; } } }
public override void cardPick(cardData cData) { Champion ownerChamp = GameObject.FindGameObjectWithTag(champTag).GetComponent <Champion>(); //Debug.Log (cData.name); minionData targetMinion = GameObject.Find("SpellManager").GetComponent <SpellManager> ().targetMinion; int i = -1; foreach (var equip in targetMinion.equipment) { i += 1; if (equip.cData == cData) { break; } } targetMinion.photonView.RPC("DestroyEquip", PhotonTargets.MasterClient, i); ownerChamp.photonView.RPC("setBusy", PhotonTargets.MasterClient, false); }
public void addCard(cardData cData) { int i = 0; foreach (var card in deck) { if (card.id == cData.id) { i += 1; } } Debug.Log(i); if (i < cardLimit) { if (i > 0) { deck.Add(cData); GameObject[] c = GameObject.FindGameObjectsWithTag("DESlot"); foreach (var card in c) { if (card.GetComponent <DESlot> ().cData.id == cData.id) { card.GetComponent <DESlot> ().sum += 1; } } } else { deck.Add(cData); deSlot.GetComponent <DESlot> ().cData = cData; GameObject c = Instantiate(deSlot); c.transform.parent = content; c.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f); } } }
public cardData loadAbiCardData(string id) { cardData cData = new cardData(); TextAsset path = Resources.Load("xml/AbilityData", typeof(TextAsset)) as TextAsset; // Debug.Log (path); //Debug.Log ("not null"); XElement root = XElement.Parse(path.text); IEnumerable <XElement> cd = from el in root.Elements("abilites").Elements("ability") where el.Attribute("id").Value == id select el; XElement cardData = cd.First(); cData.id = cardData.Attribute("id").Value; cData.cost = int.Parse(cardData.Element("cost").Value); //cData.oCost = int.Parse (cardData.Element ("cost").Value); string costPool = cardData.Element("req").Value; if (cardData.Element("req").Value != "") { List <string> costPoolList = costPool.Split(' ').ToList <string> (); cData.pool = costPoolList; } cData.name = cardData.Element("name").Value; cData.image = cardData.Element("image").Value; cData.text = cardData.Element("text").Value; //cData.race = cardData.Element ("race").Value; //cData.rarity=cardData.Element ("rarity").Value; cData.type = "ability"; return(cData); }
public cardData cardToCardData(minionData mData) { cardData cData = new cardData(); cData.type = "minion"; cData.id = mData.id; cData.pool = mData.pool; cData.cost = mData.cost; cData.colour = mData.colour; cData.name = mData.name; cData.image = mData.image; cData.text = mData.text; cData.rarity = mData.rarity; cData.fontSize = mData.fontSize; cData.attack = mData.currentAtk; cData.health = mData.maxHealth; cData.race = mData.race; cData.silence = mData.silence; cData.taunt = mData.taunt; cData.charge = mData.charge; cData.lifeSteal = mData.lifeSteal; if (mData.awaken.type != "") { cData.awaken = true; } cData.release = mData.release; return(cData); }
// Update is called once per frame void Update() { if (ownerChamp != null) { if (ownerChamp.grave.Count > 0) { cData = ownerChamp.grave [ownerChamp.grave.Count - 1]; //this.gameObject.SetActive (true); this.transform.GetChild(0).gameObject.SetActive(true); } else { //this.gameObject.SetActive (false); this.transform.GetChild(0).gameObject.SetActive(false); } } switch (cData.type) { case "minion": originalData = new LoadData().loadMinionCardData(cData.id); break; case "spell": originalData = new LoadData().loadSpellCardData(cData.id); break; case "equip": originalData = new LoadData().loadEquipCardData(cData.id); break; case "ability": //originalData = new LoadData ().loadManaCardData (cData.id); break; } }
// Update is called once per frame void Update() { if (owner != "") { this.tag = owner + "Minion"; ownerChamp = GameObject.Find(owner).GetComponent <Champion> (); if (PhotonNetwork.isMasterClient) { if (hasCharge()) { summonSick = false; } posIndex = this.transform.GetSiblingIndex(); minionIndex = GetMinionIndex(); foreach (var equip in equipment) { equip.minionIndex = GetMinionIndex(); } mPass.Update(owner, GetMinionIndex()); } else { if (id != "") { originalData = new LoadData().loadMinionCardData(id); } this.gameObject.transform.parent = GameObject.Find(owner + "Minions").transform; this.transform.SetSiblingIndex(posIndex); } } }
private void Update() { if (countingValue <= 0) // count done { if (maxCount < 300) { maxCount += 2; if (maxCount == 140) // final reveal { foreach (cardData cd in cardDatas) { cd.reveal = true; } canExit = true; } } if (maxCount <= 30) // still under final maxCount { countingValue = maxCount; if (PlayerPrefs.GetString("sound").Equals("on")) { clicking.Play(); } // play sound for (int i = 0; i < 3; i++) { cardData cd = cardDatas[i]; cd.scale = 3; SpriteRenderer sr = cardObjects[i].GetComponent <SpriteRenderer>(); int randomInt = Random.Range(0, 6); int fakeIndex = 0; if (randomInt < 3) { fakeIndex = 0; } else if (randomInt < 5) { fakeIndex = 1; } else { fakeIndex = 2; } sr.sprite = cardSkins[fakeIndex]; } if (maxCount >= 30) // set real colors { for (int i = 0; i < 3; i++) { cardData cd = cardDatas[i]; cd.scale = 3; SpriteRenderer sr = cardObjects[i].GetComponent <SpriteRenderer>(); sr.sprite = cardSkins[cd.colorIndex]; } } } } else { countingValue--; } }
public virtual void cardPick(cardData cData, minionData mData) { }
public void cardPick(cardData cData) { awaken.cardPick(cData); }
public virtual void cardPick(cardData cData) { }
// return color, arrow or currency TO SET ACTIVE, sets img and text on its own private void openOneCard(int cardIndex) { int colorIndex = 0; bool isArrow = false; // arrows int pickedArrowIndex = 1; bool isNew = true; // not new int actualRefundValue = 1; // currency bool isBonus = false; // not bonus bool isStar = false; int actualCurrencyValue = 1; if (Random.Range(0, 2) == 0) // arrow { isArrow = true; int randomInt = Random.Range(0, 101); // 0 - 100 int common = 60; int rare = common + 35; // 95 // epic 5 if (randomInt <= common) // common arrow { colorIndex = 0; pickedArrowIndex = Random.Range(1, 24); actualRefundValue = 50; } else if (randomInt <= rare) // rare arrow { colorIndex = 1; pickedArrowIndex = Random.Range(24, 40); actualRefundValue = 200; } else // epic arrow { colorIndex = 2; pickedArrowIndex = Random.Range(40, 48); actualRefundValue = 1000; } // apply bonus actualRefundValue = (int)(actualRefundValue * (1f + PlayerPrefs.GetInt("bonus") / 20f)); // set isNew and save unlock or refund char[] owned = PlayerPrefs.GetString("owned").ToCharArray(); // loads owned if (owned[pickedArrowIndex].Equals('0')) { isNew = true; owned[pickedArrowIndex] = '1'; PlayerPrefs.SetString("owned", new string(owned)); } else { isNew = false; PlayerPrefs.SetInt("stars", PlayerPrefs.GetInt("stars") + actualRefundValue); } } else // currency { isArrow = false; int randomInt = Random.Range(0, 101); // 0 - 100 int stars = 32; int hints = stars + 65; // 97 // +5% bonus 3 if (randomInt <= stars) // stars { isStar = true; randomInt = Random.Range(0, 101); int commonAmount = 70; int rareAmount = commonAmount + 25; // 95 // epicAmount 5 if (randomInt <= commonAmount) { colorIndex = 0; actualCurrencyValue = Random.Range(20, 50); } else if (randomInt <= rareAmount) { colorIndex = 1; actualCurrencyValue = Random.Range(200, 500); } else { colorIndex = 2; actualCurrencyValue = Random.Range(1500, 2500); } // apply bonus actualCurrencyValue = (int)(actualCurrencyValue * (1f + PlayerPrefs.GetInt("bonus") / 20f)); PlayerPrefs.SetInt("stars", PlayerPrefs.GetInt("stars") + actualCurrencyValue); } else if (randomInt <= hints) // hints { isStar = false; randomInt = Random.Range(0, 101); int commonAmount = 60; int rareAmount = commonAmount + 35; // 95 // epicAmount 5 if (randomInt <= commonAmount) { colorIndex = 0; actualCurrencyValue = Random.Range(1, 4); } else if (randomInt <= rareAmount) { colorIndex = 1; actualCurrencyValue = Random.Range(10, 16); } else { colorIndex = 2; actualCurrencyValue = 30; } // apply bonus actualCurrencyValue = (int)(actualCurrencyValue * (1f + PlayerPrefs.GetInt("bonus") / 15f)); PlayerPrefs.SetInt("hints", PlayerPrefs.GetInt("hints") + actualCurrencyValue); } else // bonus 5% { colorIndex = 2; isBonus = true; // false by default PlayerPrefs.SetInt("bonus", PlayerPrefs.GetInt("bonus") + 1); } } // now pass the data onto that card cardData cd = cardDatas[cardIndex]; cd.arrowSkins = cs.arrowImage; // pass customizeStorage.arrowImages cd.arrowColors = cs.arrowColors; cd.colorIndex = colorIndex; cd.isArrow = isArrow; // arrows cd.pickedArrowIndex = pickedArrowIndex; cd.isNew = isNew; // not new cd.actualRefundValue = actualRefundValue; // currency cd.isBonus = isBonus; // not bonus cd.isStar = isStar; cd.actualCurrencyValue = actualCurrencyValue; cardObjects[cardIndex].SetActive(true); /* * Debug.Log("colorIndex: " + colorIndex + "\nisArrow: " + isArrow + "\npickedArrowIndex: " + pickedArrowIndex + "\nisNew: " + isNew + "\nactualRefundValue: " + actualRefundValue + "\nisBonus: " + isBonus + "\nisStar: " + isStar + + "\nactualCurrencyValue: " + actualCurrencyValue); */ }