Exemplo n.º 1
0
    private IEnumerator StartQuests()
    {
        foreach (GameObject questObj in mQuestToComplete)
        {
            if (questObj == null)
            {
                Debug.Log("No game object...");
                continue;
            }

            ITutorialQuest quest = questObj.GetComponent <ITutorialQuest>();
            if (quest == null)
            {
                Debug.Log("No quest script in object...");
                continue;
            }
            else
            {
                Debug.Log("Starting quest");

                //Init quest
                quest.InitQuest();

                //Title
                questTitle.enabled    = true;
                questTitle.text       = quest.GetTitle();
                questDescription.text = "";

                //Wait for quest init to complete
                while (!quest.InitComplete())
                {
                    yield return(null);
                }

                //Start title animation
                mAnimateTitle = true;

                //Print description
                StartCoroutine(PrintQuestDescription(quest));

                //Wait for quest to complete
                while (!quest.Completed())
                {
                    yield return(null);
                }

                //StopTitleAnimation
                mAnimateTitle = false;
            }
            Debug.Log("Stop quest");

            questTitle.enabled = false;
            skipText.enabled   = false;

            quest.EndQuest();

            //Wait some time between quests
            yield return(new WaitForSeconds(questInterval));
        }
        //Wait for sime time before loading menu scene
        yield return(new WaitForSeconds(exitTime));

        LoadMenuScene();

        yield return(null);
    }