public ArtifactDataSO GetRandomViableArtifact() { List <ArtifactDataSO> viableArtifacts = new List <ArtifactDataSO>(); ArtifactDataSO artifactReturned = null; int randomIndex; foreach (ArtifactDataSO artifact in allArtifacts) { if (ArtifactManager.Instance.artifactsObtained.Contains(artifact) == false) { viableArtifacts.Add(artifact); } } Debug.Log("GetRandomViableArtifact() found " + viableArtifacts.Count.ToString() + " viable artifacts..."); randomIndex = Random.Range(0, viableArtifacts.Count); if (viableArtifacts.Count == 0) { artifactReturned = stinkyPooArtifact; } else { artifactReturned = viableArtifacts[randomIndex]; } return(artifactReturned); }
public void InitializeSetup() { myArtifactData = ArtifactLibrary.Instance.GetRandomViableArtifact(); artifactImage.sprite = myArtifactData.artifactSprite; artifactNameText.text = myArtifactData.artifactName; // info panel artifactDescriptionPanelText.text = myArtifactData.artifactDescription; }
public void PopulateArtifactSlots() { Debug.Log("PopulateArtifactSlots() called..."); ArtifactDataSO adOne = ArtifactLibrary.Instance.GetRandomViableArtifact(); ArtifactDataSO adTwo = ArtifactLibrary.Instance.GetRandomViableArtifact(); ArtifactDataSO adThree = ArtifactLibrary.Instance.GetRandomViableArtifact(); if (adTwo.artifactName == adOne.artifactName) { if (adTwo.artifactName == "Stinky Poo") { // do nothing } else { while (adTwo.artifactName == adOne.artifactName) { adTwo = ArtifactLibrary.Instance.GetRandomViableArtifact(); } } } if (adThree.artifactName == adOne.artifactName || adThree.artifactName == adTwo.artifactName) { if (adThree.artifactName == "Stinky Poo") { // do nothing } else { while (adThree.artifactName == adOne.artifactName || adThree.artifactName == adTwo.artifactName) { adThree = ArtifactLibrary.Instance.GetRandomViableArtifact(); } } } artifactSlotOne.InitializeSetup(adOne); artifactSlotTwo.InitializeSetup(adTwo); artifactSlotThree.InitializeSetup(adThree); }
public void InitializeSetup(ArtifactDataSO artifactData) { myArtifactData = artifactData; myArtifactImage.sprite = artifactData.artifactSprite; artifactDescriptionText.text = myArtifactData.artifactDescription; artifactNameText.text = myArtifactData.artifactName; if (myArtifactData.artifactRarity == ArtifactDataSO.Rarity.Common) { SetGoldCost(Random.Range(100, 150)); } else if (myArtifactData.artifactRarity == ArtifactDataSO.Rarity.Rare) { SetGoldCost(Random.Range(150, 200)); } else if (myArtifactData.artifactRarity == ArtifactDataSO.Rarity.Epic) { SetGoldCost(Random.Range(200, 250)); } EnableArtifactSlotView(); }
public void ObtainArtifact(ArtifactDataSO artifactObtained) { artifactsObtained.Add(artifactObtained); GameObject artifactGO = Instantiate(PrefabHolder.Instance.ArtifactGO, artifactPanelView.transform); artifactGO.GetComponent <ArtifactGO>().InitializeSetup(artifactObtained); // individual artifact 'On pickup' logic if (artifactObtained.artifactName == "Comfy Pillow") { CampSiteManager.Instance.restButtonDescriptionText.text = "All characters heal 50% HP"; } else if (artifactObtained.artifactName == "Kettle Bell") { CampSiteManager.Instance.trainButtonDescriptionText.text = "Choose a character to gain 2 levels"; } else if (artifactObtained.artifactName == "Ferryman Token") { PlayerDataManager.Instance.ModifyGold(300); } else if (artifactObtained.artifactName == "Ice Cream") { foreach (CharacterData character in CharacterRoster.Instance.allCharacterDataObjects) { character.ModifyCurrentLevel(1); character.ModifyTalentPoints(1); } } else if (artifactObtained.artifactName == "Yummy Mushroom") { foreach (CharacterData character in CharacterRoster.Instance.allCharacterDataObjects) { character.ModifyMaxHealth(15); } } }
public void InitializeSetup(ArtifactDataSO artifactData) { artifactImage.sprite = artifactData.artifactSprite; artifactDescriptionText.text = artifactData.artifactDescription; artifactNameText.text = artifactData.artifactName; }