Пример #1
0
    IEnumerator CreateStateWithFade(SocialnessSubTask _subTask, Level _level, int _state)
    {
        visualM.FadeOut();
        for (; ;)
        {
            if (visualM.faded)
            {
                break;
            }
            yield return(null);
        }

        CreateState(_subTask, _level, _state);
        visualM.FadeIn();
    }
Пример #2
0
    void CreateState(SocialnessSubTask _subTask, Level _level, int _state)
    {
        generalManagerS.ActiveSubTask = (int)_subTask;
        generalManagerS.ActiveLevel   = _level;
        state = _state;

        GameObject tempObj = null;

        timerS.setStateStartTime();

        Debug.Log(_subTask + ", " + _level + ", " + _state);

        questionState = true;

        switch (_subTask)
        {
            #region CREATE_Basic_Personal
        case SocialnessSubTask.Basic_Personal:
            switch (_level)
            {
            case Level.Tutorial:
                switch (_state)
                {
                case 0:
                    //timing set
                    timerS.initializeTimes(0.0f, 240.0f, 600.0f);

                    //tutorial
                    CleanObjects();
                    visualM.tutorialSetNo = 0;
                    visualM.ActivateTutorial(true);
                    visualM.ActivatePictographs(false);
                    visualM.ActivateVisuals(false);
                    visualM.ActivateInfo(false);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //background
                    background.material.mainTexture = backgroundsSubtask0[Random.Range(0, backgroundsSubtask0.Length)];

                    //other characters
                    charactersM.CreateCharacters(0);

                    //background sound
                    bgAudioM.PlayAudio(0);

                    //start save session
                    saverS.StartSaveSession();
                    timerS.setLevelStartTime();
                    break;

                case 1:
                    //START GAME
                    GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 0, true);
                    break;

                case 100:                                               //WIN
                    //forman voice and visual
                    visualM.ActivatePictographs(false);
                    visualM.PlayVoice(3);
                    visualM.visualNo = 0;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 1;
                    saverS.SaveDataBase();
                    break;

                case 200:                                               //FAIL
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 1;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 2;
                    saverS.SaveDataBase();
                    break;
                }
                break;

            case Level.Train_without_Distracters:
                switch (_state)
                {
                case 0:
                    //timing set
                    timerS.initializeTimes(0.0f, 240.0f, 600.0f);

                    //visuals
                    visualM.ActivateTutorial(false);
                    visualM.ActivatePictographs(false);
                    visualM.ActivateVisuals(false);
                    visualM.ActivateInfo(false);
                    visualM.PlayVoice(6);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //background
                    background.material.mainTexture = backgroundsSubtask0[Random.Range(0, backgroundsSubtask0.Length)];

                    //other characters
                    charactersM.CreateCharacters(0);

                    //create character
                    CleanObjects();
                    tempObj = Instantiate(trainingCharacters[0]) as GameObject;
                    tempObj.transform.parent = creations;
                    characterAnimation       = tempObj.GetComponentInChildren <socialCharacterAnimatorS>();

                    //START GAME
                    GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 0, false);

                    //background sound
                    bgAudioM.PlayAudio(0);

                    //start save session
                    saverS.StartSaveSession();
                    timerS.setLevelStartTime();
                    break;

                case 100:                                               //WIN
                    //forman voice and visual
                    visualM.ActivatePictographs(false);
                    visualM.PlayVoice(8);
                    visualM.visualNo = 0;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 1;
                    saverS.SaveDataBase();
                    break;

                case 200:                                               //FAIL
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 1;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 2;
                    saverS.SaveDataBase();
                    break;
                }
                break;

            case Level.Train_with_Distracters:
                switch (_state)
                {
                case 0:
                    //timing set
                    timerS.initializeTimes(0.0f, 240.0f, 600.0f);

                    //visuals
                    visualM.ActivateTutorial(false);
                    visualM.ActivatePictographs(false);
                    visualM.ActivateVisuals(false);
                    visualM.ActivateInfo(false);
                    visualM.PlayVoice(6);

                    //distracters on
                    generalManagerS.DistracterM.SetDistracterTiming(30.0f, 5.0f);
                    generalManagerS.DistracterM.ActiveteDistracters(true);

                    //background
                    background.material.mainTexture = backgroundsSubtask0[Random.Range(0, backgroundsSubtask0.Length)];

                    //other characters
                    charactersM.CreateCharacters(0);

                    //create character
                    CleanObjects();
                    tempObj = Instantiate(trainingCharacters[1]) as GameObject;
                    tempObj.transform.parent = creations;
                    characterAnimation       = tempObj.GetComponentInChildren <socialCharacterAnimatorS>();

                    //START GAME
                    GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 0, false);

                    //background sound
                    bgAudioM.PlayAudio(0);

                    //start save session
                    saverS.StartSaveSession();
                    timerS.setLevelStartTime();
                    break;

                case 100:                                               //WIN
                    //forman voice and visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 0;
                    visualM.ActivateVisuals(true);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //save session
                    saverS.result = 1;
                    saverS.SaveDataBase();
                    break;

                case 200:                                               //FAIL
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 1;
                    visualM.ActivateVisuals(true);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //save session
                    saverS.result = 2;
                    saverS.SaveDataBase();
                    break;
                }
                break;
            }
            break;

            #endregion
            #region CREATE_Longer_Vocational
        case SocialnessSubTask.Longer_Vocational:
            switch (_level)
            {
            case Level.Tutorial:
                switch (_state)
                {
                case 0:
                    //timing set
                    timerS.initializeTimes(0.0f, 240.0f, 600.0f);

                    //tutorial
                    CleanObjects();
                    visualM.tutorialSetNo = 1;
                    visualM.ActivateTutorial(true);
                    visualM.ActivatePictographs(false);
                    visualM.ActivateVisuals(false);
                    visualM.ActivateInfo(false);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //background
                    background.material.mainTexture = backgroundsSubtask1[Random.Range(0, backgroundsSubtask1.Length)];

                    //other characters
                    charactersM.CreateCharacters(1);

                    //background sound
                    bgAudioM.PlayAudio(1);

                    //start save session
                    saverS.StartSaveSession();
                    timerS.setLevelStartTime();
                    break;

                case 1:
                    //START GAME
                    GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 1, true);
                    break;

                case 100:                                               //WIN
                    //forman voice and visual
                    visualM.ActivatePictographs(false);
                    visualM.PlayVoice(4);
                    visualM.visualNo = 0;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 1;
                    saverS.SaveDataBase();
                    break;

                case 200:                                               //FAIL
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 1;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 2;
                    saverS.SaveDataBase();
                    break;
                }
                break;

            case Level.Train_without_Distracters:
                switch (_state)
                {
                case 0:
                    //timing set
                    timerS.initializeTimes(0.0f, 240.0f, 600.0f);

                    //visuals
                    visualM.ActivateTutorial(false);
                    visualM.ActivatePictographs(false);
                    visualM.ActivateVisuals(false);
                    visualM.ActivateInfo(false);
                    visualM.PlayVoice(9);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //background
                    background.material.mainTexture = backgroundsSubtask1[Random.Range(0, backgroundsSubtask1.Length)];

                    //other characters
                    charactersM.CreateCharacters(1);

                    //create character
                    CleanObjects();
                    tempObj = Instantiate(trainingCharacters[2]) as GameObject;
                    tempObj.transform.parent = creations;
                    characterAnimation       = tempObj.GetComponentInChildren <socialCharacterAnimatorS>();

                    //START GAME
                    GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 1, false);

                    //background sound
                    bgAudioM.PlayAudio(1);

                    //start save session
                    saverS.StartSaveSession();
                    timerS.setLevelStartTime();
                    break;

                case 100:                                               //WIN
                    //forman voice and visual
                    visualM.ActivatePictographs(false);
                    visualM.PlayVoice(11);
                    visualM.visualNo = 0;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 1;
                    saverS.SaveDataBase();
                    break;

                case 200:                                               //FAIL
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 1;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 2;
                    saverS.SaveDataBase();
                    break;
                }
                break;

            case Level.Train_with_Distracters:
                switch (_state)
                {
                case 0:
                    //timing set
                    timerS.initializeTimes(0.0f, 240.0f, 600.0f);

                    //visuals
                    visualM.ActivateTutorial(false);
                    visualM.ActivatePictographs(false);
                    visualM.ActivateVisuals(false);
                    visualM.ActivateInfo(false);
                    visualM.PlayVoice(9);

                    //distracters on
                    generalManagerS.DistracterM.SetDistracterTiming(30.0f, 5.0f);
                    generalManagerS.DistracterM.ActiveteDistracters(true);

                    //background
                    background.material.mainTexture = backgroundsSubtask1[Random.Range(0, backgroundsSubtask1.Length)];

                    //other characters
                    charactersM.CreateCharacters(1);

                    //create character
                    CleanObjects();
                    tempObj = Instantiate(trainingCharacters[3]) as GameObject;
                    tempObj.transform.parent = creations;
                    characterAnimation       = tempObj.GetComponentInChildren <socialCharacterAnimatorS>();

                    //START GAME
                    GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 1, false);

                    //background sound
                    bgAudioM.PlayAudio(1);

                    //start save session
                    saverS.StartSaveSession();
                    timerS.setLevelStartTime();
                    break;

                case 100:                                               //WIN
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 0;
                    visualM.ActivateVisuals(true);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //save session
                    saverS.result = 1;
                    saverS.SaveDataBase();
                    break;

                case 200:                                               //FAIL
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 1;
                    visualM.ActivateVisuals(true);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //save session
                    saverS.result = 2;
                    saverS.SaveDataBase();
                    break;
                }
                break;
            }
            break;

            #endregion
            #region CREATE_Moody_Hard
        case SocialnessSubTask.Moody_Hard:
            switch (_level)
            {
            case Level.Tutorial:
                switch (_state)
                {
                case 0:
                    //timing set
                    timerS.initializeTimes(0.0f, 240.0f, 600.0f);

                    //tutorial
                    CleanObjects();
                    visualM.tutorialSetNo = 2;
                    visualM.ActivateTutorial(true);
                    visualM.ActivatePictographs(false);
                    visualM.ActivateVisuals(false);
                    visualM.ActivateInfo(false);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //background
                    background.material.mainTexture = backgroundsSubtask2[Random.Range(0, backgroundsSubtask2.Length)];

                    //other characters
                    charactersM.CreateCharacters(2);

                    //background sound
                    bgAudioM.PlayAudio(2);

                    //start save session
                    saverS.StartSaveSession();
                    timerS.setLevelStartTime();
                    break;

                case 1:
                    //START GAME
                    GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 2, true);
                    break;

                case 100:                                               //WIN
                    //forman voice and visual
                    visualM.ActivatePictographs(false);
                    visualM.PlayVoice(5);
                    visualM.visualNo = 0;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 1;
                    saverS.SaveDataBase();
                    break;

                case 200:                                               //FAIL
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 1;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 2;
                    saverS.SaveDataBase();
                    break;
                }
                break;

            case Level.Train_without_Distracters:
                switch (_state)
                {
                case 0:
                    //timing set
                    timerS.initializeTimes(0.0f, 240.0f, 600.0f);

                    //visuals
                    visualM.ActivateTutorial(false);
                    visualM.ActivatePictographs(false);
                    visualM.ActivateVisuals(false);
                    visualM.ActivateInfo(false);
                    visualM.PlayVoice(12);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //background
                    background.material.mainTexture = backgroundsSubtask2[Random.Range(0, backgroundsSubtask2.Length)];

                    //other characters
                    charactersM.CreateCharacters(2);

                    //create character
                    CleanObjects();
                    tempObj = Instantiate(trainingCharacters[4]) as GameObject;
                    tempObj.transform.parent = creations;
                    characterAnimation       = tempObj.GetComponentInChildren <socialCharacterAnimatorS>();

                    //START GAME
                    GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 2, false);

                    //background sound
                    bgAudioM.PlayAudio(2);

                    //start save session
                    saverS.StartSaveSession();
                    timerS.setLevelStartTime();
                    break;

                case 100:                                               //WIN
                    //forman voice and visual
                    visualM.ActivatePictographs(false);
                    visualM.PlayVoice(14);
                    visualM.visualNo = 0;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 1;
                    saverS.SaveDataBase();
                    break;

                case 200:                                               //FAIL
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 1;
                    visualM.ActivateVisuals(true);

                    //save session
                    saverS.result = 2;
                    saverS.SaveDataBase();
                    break;
                }
                break;

            case Level.Train_with_Distracters:
                switch (_state)
                {
                case 0:
                    //timing set
                    timerS.initializeTimes(0.0f, 240.0f, 600.0f);

                    //visuals
                    visualM.ActivateTutorial(false);
                    visualM.ActivatePictographs(false);
                    visualM.ActivateVisuals(false);
                    visualM.ActivateInfo(false);
                    visualM.PlayVoice(12);

                    //distracters on
                    generalManagerS.DistracterM.SetDistracterTiming(30.0f, 5.0f);
                    generalManagerS.DistracterM.ActiveteDistracters(true);

                    //background
                    background.material.mainTexture = backgroundsSubtask2[Random.Range(0, backgroundsSubtask2.Length)];

                    //other characters
                    charactersM.CreateCharacters(2);

                    //create character
                    CleanObjects();
                    tempObj = Instantiate(trainingCharacters[5]) as GameObject;
                    tempObj.transform.parent = creations;
                    characterAnimation       = tempObj.GetComponentInChildren <socialCharacterAnimatorS>();

                    //START GAME
                    GetComponent <NetworkView>().RPC("StartSubTask", RPCMode.OthersBuffered, 2, false);

                    //background sound
                    bgAudioM.PlayAudio(2);

                    //start save session
                    saverS.StartSaveSession();
                    timerS.setLevelStartTime();
                    break;

                case 100:                                               //WIN
                    //forman voice and visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 0;
                    visualM.ActivateVisuals(true);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //save session
                    saverS.result = 1;
                    saverS.SaveDataBase();
                    break;

                case 200:                                               //FAIL
                    //visual
                    visualM.ActivatePictographs(false);
                    visualM.visualNo = 1;
                    visualM.ActivateVisuals(true);

                    //distracters off
                    generalManagerS.DistracterM.ActiveteDistracters(false);

                    //save session
                    saverS.result = 2;
                    saverS.SaveDataBase();
                    break;
                }
                break;
            }
            break;
            #endregion
        }

        //PHOTON CODE
        generalManagerS.PhotonUpdate();
        //PHOTON CODE
    }