public void HasToughness() // is runned if you have toughnees and checks if it as a toughness card to update, or if it has to make one. { bool toughnessIsInPlay = false; int toughnessPlace = 0; for (int i = 0; i < currentEquipmentArmor.Count; i++) { GameObject card = currentEquipmentArmor[i]; Sc_DefenceEquipment cardScript = card.GetComponent <Sc_DefenceEquipment>(); if (cardScript.id == -10) { toughnessIsInPlay = true; toughnessPlace = i; } } if (toughnessIsInPlay == true) { GameObject card = currentEquipmentArmor[toughnessPlace]; Sc_DefenceEquipment cardScript = card.GetComponent <Sc_DefenceEquipment>(); currentTotalDefence += currentToughness - cardScript.defence; cardScript.UpdateToughness(); } else { GameObject newEquipment = (GameObject)Instantiate(armor, transform.position, transform.rotation); Sc_DefenceEquipment CardScript = newEquipment.GetComponent <Sc_DefenceEquipment>(); CardScript.id = -10; currentTotalDefence += currentToughness; CardScript.UpdateToughness(); } defenceText.text = "" + currentTotalDefence; }
public void Defence(int id, int defence, int spiked) { currentTotalDefence += defence; GameObject newEquipment = (GameObject)Instantiate(armor, transform.position, transform.rotation); Sc_DefenceEquipment newCardScript = newEquipment.GetComponent <Sc_DefenceEquipment>(); newCardScript.id = id; defenceText.text = "" + currentTotalDefence; currentEquimentDamage.Add(defence); }
public void SaveGameData() { saveData.isNewGame = false; if (scene.name == "Battle") { saveData.currentDeckSave = battleManager.currentDeck; saveData.currentDiscardSave = battleManager.currentDiscard; saveData.currentBanishedSave = battleManager.currentBanished; saveData.currentStageSave = battleManager.currentStage; saveData.currentApUsedSave = battleManager.currentApUsed; saveData.currentUtilityAPSave = battleManager.currentUtilityAP; saveData.currentApMaxSave = battleManager.currentApMax; saveData.currentMonsterSave = battleManager.monster.monsterID; print("Monster id is " + battleManager.monster.monsterID); saveData.currentHandObjectsSave.Clear(); for (int i = 0; i < Sc_BattleManager.currentHandObjects.Count; i++) { cardInHand = Sc_BattleManager.currentHandObjects[i].GetComponent <Sc_Card>(); Debug.Log(cardInHand.cardID); saveData.currentHandObjectsSave.Add(cardInHand.cardID); } saveData.currentEquipmentArmorSave.Clear(); for (int i = 0; i < battleManager.currentEquipmentArmor.Count; i++) { armorEquipmentSave = battleManager.currentEquipmentArmor[i].GetComponent <Sc_DefenceEquipment>(); Debug.Log(armorEquipmentSave.id); saveData.currentEquipmentArmorSave.Add(armorEquipmentSave.id); } saveData.currentEquipmentMeleeSave.Clear(); for (int i = 0; i < battleManager.currentEquipmentMelee.Count; i++) { meleeEquipmentSave = battleManager.currentEquipmentMelee[i].GetComponent <Sc_MeleeEquipment>(); Debug.Log(meleeEquipmentSave.id); saveData.currentEquipmentMeleeSave.Add(meleeEquipmentSave.id); } saveData.currentEffectsSave.Clear(); for (int i = 0; i < battleManager.currentEffects.Count; i++) { effectSave = battleManager.currentEffects[i]; Debug.Log(effectSave); saveData.currentEffectsSave.Add(effectSave); } } if (scene.name == "Navigation" || scene.name == "Battle") { saveData.eventsDoneSave = gameManager.eventsDone; saveData.monsterDoneSave = gameManager.monsterDone; saveData.fullDeckSave = gameManager.fullDeck; saveData.slayCountSave = gameManager.slayCount; saveData.lostCardsSave = gameManager.lostCards; } if (scene.name == "Navigation") { saveData.firstEventSave = navManager.firstEvent; saveData.currentEventSave = gameManager.currentEvent; } SaveDataWrapper wrapper = new SaveDataWrapper(); wrapper.saveData = saveData; string contents = JsonUtility.ToJson(wrapper, true); System.IO.File.WriteAllText(path, contents); }
public void TakeDamage(int damage, int type) // type blunt = 0 normal = 1 piercing = 2 { for (int i = 0; i < damage; i++) // run though ones for every damage taken { int damageDealt = 0; if (type == 0 || type == 1) { if (currentTotalDefence > 0) { currentTotalDefence -= 1; damageDealt = 1; defenceText.text = "" + currentTotalDefence; if (currentEquipmentArmor.Count > 0) { Sc_DefenceEquipment ArmorScript = currentEquipmentArmor[0].GetComponent <Sc_DefenceEquipment>(); ArmorScript.defence -= 1; ArmorScript.UpdateText(); if (ArmorScript.defence <= 0) { // Sc_DefenceEquipment defenceScript = currentEquipmentArmor[i].GetComponent<Sc_DefenceEquipment>(); ArmorScript.moveToDiscard = true; // Destroy(currentEquipmentArmor[0]); currentEquipmentArmor.RemoveAt(0); GameObject[] _armor = GameObject.FindGameObjectsWithTag("Armor"); for (int j = 0; j < _armor.Length; j++) { Sc_DefenceEquipment otherScript = _armor[j].GetComponent <Sc_DefenceEquipment>(); otherScript.placementInEquipent -= 1; } } } } } if (type == 1 && damageDealt == 0 || type == 2) { if (currentDeck.Count > 0) // check if there are still cards in the deck { currentBanished.Add(currentDeck[0]); // if banished pile is > 0 then make banishpile visable // make discard pile sprite be last discarded card currentDeck.RemoveAt(0); } else if (currentDiscard.Count > 0) // Check if there are cards in discard pile. { PrintLog("Dicard pile is being shuffled into deck", "black"); for (int j = 0; j < currentDiscard.Count; j++) { currentDeck.Add(currentDiscard[j]); } ShuffleDeck(); currentDiscard.Clear(); currentBanished.Add(currentDeck[0]); // if banished pile is > 0 then make banishpile visable // make discard pile sprite be last discarded card currentDeck.RemoveAt(0); } else if (currentHandObjects.Count > 0) { int targetCard = Random.Range(0, currentHandObjects.Count); Destroy(currentHandObjects[targetCard]); currentHandObjects.RemoveAt(targetCard); GameObject[] _cards = GameObject.FindGameObjectsWithTag("Card"); for (int j = 0; j < _cards.Length; j++) { Sc_Card otherScript = _cards[j].GetComponent <Sc_Card>(); if (otherScript.placementInHand > targetCard + 1) { otherScript.placementInHand -= 1; } // if banished pile is > 0 then make banishpile visable // make discard pile sprite be last discarded card } } else { PrintLog("you lost", "red"); playerLost(); } } } }