Ejemplo n.º 1
0
    public void PerformTutorialSeries(int inputLevelId, TutorialEvent.TutorialInitializeTriggers inputInitPhase = TutorialEvent.TutorialInitializeTriggers.beforePlay)
    {
        Debug.Log("perform tutorial series");
        List <TutorialEvent> returnEvents = RetrieveTutorialEvents(inputLevelId, inputInitPhase);

        currentTutorialEventQueue = returnEvents.ToArray();
        tutorialEventIndex        = 0;
        if (currentTutorialEventQueue.Length > 0)
        {
            InitializeCurrentTutorialEvent();
        }

        /*
         * List<TutorialScreen> returnDisplays = RetrieveTutorialDisplays( inputLevelId );
         *      //tutorialIndex = 0;
         *      if(returnDisplays.Count >= 0)
         *      {
         *              tutorialDisplays = returnDisplays.ToArray();
         *              InitializeTutorial();
         *      }
         *      else
         *      {
         *              tutorialImageTriggerObject.gameObject.SetActive(false);
         *              tutorialMovieTriggerObject.gameObject.SetActive(false);
         *      }
         */
    }
Ejemplo n.º 2
0
    List <TutorialEvent> RetrieveTutorialEvents(int inputLevelId, TutorialEvent.TutorialInitializeTriggers inputInitPhase)
    {
        Debug.Log("Retrieving Tutorial Events... Level " + inputLevelId + " Phase " + inputInitPhase.ToString());
        List <TutorialEvent> returnEvents     = new List <TutorialEvent>();
        PlayerInteraction_GamePhaseBehavior p = (PlayerInteraction_GamePhaseBehavior)GameManager.Instance.playerInteractionBehavior;

        foreach (TutorialEvent t in tutorialEvents)
        {
            if (t.init_trigger == inputInitPhase)
            {
                if (t.levelNumber == inputLevelId && !t.hasCompleted)
                {
                    returnEvents.Add(t);
                }
            }
            else if (t.init_trigger != inputInitPhase && returnEvents.Count > 0)
            {
                break;
            }
        }
        foreach (TutorialEvent t in returnEvents)
        {
            Debug.Log("TUTORIAL QUEUED: " + t.popupDescription + "\n");
        }
        return(returnEvents);
    }
Ejemplo n.º 3
0
    List <TutorialEvent> RetrieveTutorialEvents(int inputLevelId, TutorialEvent.TutorialInitializeTriggers inputInitPhase)
    {
        //Debug.Log("Retrieving Tutorial Events... Level " + inputLevelId + " Phase " + inputInitPhase.ToString());
        List <TutorialEvent> returnEvents     = new List <TutorialEvent>();
        PlayerInteraction_GamePhaseBehavior p = (PlayerInteraction_GamePhaseBehavior)GameManager.Instance.playerInteractionBehavior;

        bool foundSimEvents = false; //triggered once events made to play during the simulation are found, prevents queuing of beforePlay events that follow it

        int currentSequence = -1;

        foreach (TutorialEvent t in tutorialEvents)
        {
            if (t.levelNumber == inputLevelId && !t.hasCompleted)
            {
                if (t.init_trigger == TutorialEvent.TutorialInitializeTriggers.duringSimulation)
                {
                    foundSimEvents = true;
                }
                else if (t.init_trigger == TutorialEvent.TutorialInitializeTriggers.beforePlay && foundSimEvents == true)
                {
                    break;
                }
                if (currentSequence == -1)
                {
                    currentSequence = t.sequenceId;
                }
                if (currentSequence == t.sequenceId)
                {
                    returnEvents.Add(t);
                }
            }
            else if (t.levelNumber > inputLevelId)
            {
                break;
            }

            /*if (t.init_trigger == inputInitPhase)
             * {
             *  if (t.levelNumber == inputLevelId && !t.hasCompleted) returnEvents.Add(t);
             * }*/
            //else if (t.init_trigger != inputInitPhase && returnEvents.Count > 0) break;
        }
        foreach (TutorialEvent t in returnEvents)
        {
        }                                             //Debug.Log("TUTORIAL QUEUED: " + t.popupDescription + "\n");
        return(returnEvents);
    }
Ejemplo n.º 4
0
 public void TriggerLevelTutorial(int inputLevelId, TutorialEvent.TutorialInitializeTriggers inputPlayPhase = TutorialEvent.TutorialInitializeTriggers.beforePlay)
 {
     tutorialManager.PerformTutorialSeries(inputLevelId, inputPlayPhase);
 }