void Start() { displayItem = GetComponent <DisplayItem>(); artifacts = GameObject.Find("PlayerShip").GetComponent <Artifacts>(); playerScript = GameObject.Find("PlayerShip").GetComponent <PlayerScript>(); artifactBonus = GetComponent <ArtifactBonus>(); }
public void OnPointerEnter(PointerEventData eventData) { if (displayInfo != null) { if (!displayInfo.isArtifact) { PlayerProperties.toolTip.SetTextAndPosition(displayInfo.GetComponent <Text>().text, transform.position); } else { ArtifactBonus artifactBonus = displayInfo.GetComponent <ArtifactBonus>(); PlayerProperties.artifactToolTip.SetTextAndPosition( artifactBonus.artifactName, artifactBonus.descriptionText.text, artifactBonus.effectText == null ? "" : artifactBonus.effectText.text, artifactBonus.attackBonus, artifactBonus.speedBonus, artifactBonus.healthBonus, artifactBonus.defenseBonus, artifactBonus.periodicHealing, displayInfo.hasActive, displayInfo.soulBound, artifactBonus.killRequirement, artifactBonus.whatRarity, transform.position); } } }
void Start() { displayItem = GetComponent <DisplayItem>(); artifacts = GameObject.Find("PlayerShip").GetComponent <Artifacts>(); playerScript = GameObject.Find("PlayerShip").GetComponent <PlayerScript>(); artifactBonus = GetComponent <ArtifactBonus>(); oniAuraInstant = Instantiate(oniAura, playerScript.transform.position, Quaternion.identity); oniAura.GetComponent <FollowObject>().objectToFollow = playerScript.gameObject; oniAuraInstant.SetActive(false); }
public void Initialize(GameObject artifact, ArticraftingConfirmationModal modal, ArticraftingCraftingMenu menu) { targetArtifact = artifact; artifactBonus = artifact.GetComponent <ArtifactBonus>(); artifactText = artifact.GetComponent <Text>(); artifactDisplayItem = artifact.GetComponent <DisplayItem>(); tileImage.sprite = artifactDisplayItem.displayIcon; tileImage.preserveAspect = true; toolTip = PlayerProperties.playerInventory.toolTip; confirmModal = modal; UpdatePrice(); this.craftingMenu = menu; }
public void DisenchantArtifact() { if (targetDisplayItem != null) { disenchantAudio.Play(); StartCoroutine(playFigureAnimation()); ArtifactBonus artifactBonus = targetDisplayItem.GetComponent <ArtifactBonus>(); int price = determinePrice(artifactBonus.whatRarity, artifactBonus.whatDungeonArtifact); PlayerUpgrades.numberArtifragments += price; Destroy(targetDisplayItem); targetDisplayItem = null; UpdateUI(); StartCoroutine(textClimb(price)); SaveSystem.SaveGame(); } }
void spawnSellingItems() { foreach (GameObject item in sellingItemsList) { GameObject newItem = Instantiate(item); newItem.transform.parent = GameObject.Find("PresentItems").transform; sellingItems.Add(newItem); if (priceMultiplier == 0) { sellingItemsPrices.Add(newItem.GetComponent <ConsumableBonus>().priceBase + Random.Range(0, 3) * 50); } else { ArtifactBonus artifactBonus = newItem.GetComponent <ArtifactBonus>(); sellingItemsPrices.Add(priceMultiplier * Random.Range(3, 9) + artifactBonus.whatRarity * 800 + (artifactBonus.whatDungeonArtifact - 1) * 800); } } }
void UpdateUI() { artifragmentsText.text = PlayerUpgrades.numberArtifragments.ToString(); if (targetDisplayItem == null) { artifactIcon.enabled = false; fragmentsReceivedText.color = new Color(0, 1, 0.9717827f, 0); fragmentsTextActive = false; } else { artifactIcon.enabled = true; artifactIcon.sprite = targetDisplayItem.displayIcon; ArtifactBonus artifactBonus = targetDisplayItem.GetComponent <ArtifactBonus>(); fragmentsReceivedText.text = determinePrice(artifactBonus.whatRarity, artifactBonus.whatDungeonArtifact).ToString() + " Fragments"; fragmentsTextActive = true; fragmentsReceivedText.color = variedColor; } }
public void enterToolTip() { if (displayInfo != null) { if (displayInfo.isArtifact) { ArtifactBonus artifactBonus = displayInfo.GetComponent <ArtifactBonus>(); PlayerProperties.artifactToolTip.SetTextAndPosition( artifactBonus.artifactName, artifactBonus.descriptionText.text, artifactBonus.effectText == null ? "" : artifactBonus.effectText.text, artifactBonus.attackBonus, artifactBonus.speedBonus, artifactBonus.healthBonus, artifactBonus.defenseBonus, artifactBonus.periodicHealing, displayInfo.hasActive, displayInfo.soulBound, artifactBonus.killRequirement, artifactBonus.whatRarity, transform.position); } else if (displayInfo.isConsumable) { ConsumableBonus consumableBonus = displayInfo.GetComponent <ConsumableBonus>(); PlayerProperties.consumableToolTip.SetTextAndPosition( consumableBonus.consumableName, consumableBonus.loreText.text, consumableBonus.effectText == null ? "" : consumableBonus.effectText.text, consumableBonus.attackBonus, consumableBonus.speedBonus, consumableBonus.defenseBonus, consumableBonus.restoredHealth, consumableBonus.duration, transform.position); } else { PlayerProperties.toolTip.SetTextAndPosition(displayInfo.GetComponent <Text>().text, transform.position); } } }
public void UpdateStats() { float speedBonus = 0; float defenseBonus = 0; int attackBonus = 0; int healthBonus = 0; int periodicHealing = 0; int bonusArtifactChance = 0; int bonusGold = 0; for (int i = 0; i < activeArtifacts.Count; i++) { ArtifactBonus artifactBonus = activeArtifacts[i].GetComponent <ArtifactBonus>(); speedBonus += artifactBonus.speedBonus; defenseBonus += artifactBonus.defenseBonus; attackBonus += artifactBonus.attackBonus; healthBonus += artifactBonus.healthBonus; periodicHealing += artifactBonus.periodicHealing; bonusArtifactChance += artifactBonus.artifactChanceBonus; bonusGold += bonusArtifactChance += artifactBonus.goldBonus; } PlayerScript playerScript = PlayerProperties.playerScript; playerScript.healthBonus = healthBonus; playerScript.defenseBonus = defenseBonus; playerScript.attackBonus = attackBonus; playerScript.speedBonus = speedBonus; playerScript.periodicHealing = periodicHealing; Chest.bonusArtifactChance = bonusArtifactChance; Chest.bonusGold = bonusGold; foreach (GameObject artifact in activeArtifacts) { artifact.GetComponent <ArtifactEffect>()?.updatedArtifactStats(); } playerScript.CheckAndUpdateHealth(); }
public void UpdateUI() { PlayerItems.inventoryItemsIDs.Clear(); PlayerItems.totalGoldAmount = tallyGold(); int totalGoldAmount = PlayerItems.totalGoldAmount; List <GameObject> itemsToRemove = new List <GameObject>(); foreach (GameObject item in itemList) { DisplayItem itemDisplay = item.GetComponent <DisplayItem>(); if (itemDisplay.goldValue > 0) { if (totalGoldAmount > 0) { if (totalGoldAmount > 1000) { totalGoldAmount -= 1000; itemDisplay.goldValue = 1000; } else { itemDisplay.goldValue = totalGoldAmount; totalGoldAmount = 0; } } else { itemsToRemove.Add(item); } } if (itemDisplay.isArtifact) { ArtifactBonus artifactBonus = item.GetComponent <ArtifactBonus>(); if (!PlayerItems.pastArtifacts.ContainsKey(artifactBonus.whatDungeonArtifact)) { PlayerItems.pastArtifacts.Add(artifactBonus.whatDungeonArtifact, new List <string>()); } if (!PlayerItems.pastArtifacts[artifactBonus.whatDungeonArtifact].Contains(item.name.Replace("(Clone)", "").Trim())) { PlayerItems.pastArtifacts[artifactBonus.whatDungeonArtifact].Add(item.name.Replace("(Clone)", "").Trim()); } } } foreach (GameObject item in itemsToRemove) { itemList.Remove(item); Destroy(item); } if (itemList.Count > 0) { for (int i = 0; i < inventorySize; i++) { if (i < itemList.Count) { inventorySlots[i].addSlot(itemList[i].GetComponent <DisplayItem>()); PlayerItems.inventoryItemsIDs.Add(itemList[i].name); } else { inventorySlots[i].deleteSlot(); } inventorySlots[i].unlockSlot(); } for (int i = inventorySize; i < 25; i++) { inventorySlots[i].deleteSlot(); inventorySlots[i].lockSlot(); } } else { for (int i = 0; i < inventorySize; i++) { inventorySlots[i].deleteSlot(); // error handling inventorySlots[i].unlockSlot(); } for (int i = inventorySize; i < 25; i++) { inventorySlots[i].lockSlot(); } } foreach (ArtifactSlot slot in FindObjectOfType <Artifacts>().artifactSlots) { if (slot.displayInfo != null && slot.displayInfo.GetComponent <ArtifactEffect>()) { slot.displayInfo.GetComponent <ArtifactEffect>().updatedInventory(); } } SaveSystem.SaveGame(); }