public void CheckQuestItem(GameObject questItem) { QuestItemBaseClass thisQuestBaseScript = questItem.GetComponent <QuestItemBaseClass>(); if (questItem == questItemsActivePool[currentQuestItem]) { thisQuestBaseScript.isActivatedQuestItem = true; thisQuestBaseScript.ActivateParticles(true, questItem.transform); currentQuestItem += 1; if (currentQuestItem == questItemsActivePool.Count) { StartCoroutine(QuestFinished()); } } else { if (!thisQuestBaseScript.isActivatedQuestItem) { for (int i = 0; i < questItemsActivePool.Count; i++) { QuestItemBaseClass questBaseScript = questItemsActivePool[i].GetComponent <QuestItemBaseClass>(); questBaseScript.StopAllParticles(); questBaseScript.DeactivateQuestItem(); } thisQuestBaseScript.ActivateParticles(false, questItem.transform); currentQuestItem = 0; } } }
void UnloadScene() { UIManager.Instance.ResetUI(); currentQuestItem = 0; randomPointsList.Clear(); for (int i = 0; i <= questItemsActivePool.Count + 1; i++) { GameObject GO = questItemsActivePool[0]; QuestItemBaseClass questItemBaseScript = GO.GetComponent <QuestItemBaseClass>(); questItemBaseScript.StopAllParticles(); questItemBaseScript.DeactivateQuestItem(); questItemsPassivePool.Add(GO); questItemsActivePool.Remove(GO); } }