Beispiel #1
0
    private IEnumerator SolasMeetsMotherEnumerator()
    {
        GameObject.FindWithTag("Scene_Manager").GetComponent <ProgressManager>().TempleCompleted(4);

        gOs[0].GetComponent <NavMeshAgent>().SetDestination(gOs[1].transform.position);
        gOs[0].GetComponent <NavMeshAgent>().isStopped = false;
        gOs[0].transform.GetChild(0).GetComponent <Animator>().SetBool("Run", true);
        while (Vector2.Distance(new Vector2(gOs[0].transform.position.x, gOs[0].transform.position.z),
                                new Vector2(gOs[1].transform.position.x, gOs[1].transform.position.z)) > gOs[0].GetComponent <NavMeshAgent>().stoppingDistance * 1.2f)
        {
            overrideTimer += Time.deltaTime;
            if (overrideTimer >= 4.0f)
            {
                gOs[0].transform.position = new Vector3(gOs[1].transform.position.x, gOs[0].transform.position.y, gOs[1].transform.position.z);
                break;
            }
            yield return(null);
        }
        overrideTimer = 0;
        gOs[0].transform.GetChild(0).GetComponent <Animator>().SetBool("Run", false);
        yield return(new WaitForSeconds(1.2f));

        gOs[0].GetComponent <NavMeshAgent>().speed = 1.0f;
        gOs[0].GetComponent <NavMeshAgent>().SetDestination(gOs[2].transform.position);
        gOs[0].transform.GetChild(0).GetComponent <Animator>().SetBool("Walk", true);
        while (Vector2.Distance(new Vector2(gOs[0].transform.position.x, gOs[0].transform.position.z),
                                new Vector2(gOs[2].transform.position.x, gOs[2].transform.position.z)) > gOs[0].GetComponent <NavMeshAgent>().stoppingDistance * 1.2f)
        {
            overrideTimer += Time.deltaTime;
            if (overrideTimer >= 4.0f)
            {
                gOs[0].transform.position = new Vector3(gOs[2].transform.position.x, gOs[0].transform.position.y, gOs[2].transform.position.z);
                break;
            }
            yield return(null);
        }
        gOs[0].transform.GetChild(0).GetComponent <Animator>().SetBool("Walk", false);
        Audio_Manager_Singleton ams = FindObjectOfType <Audio_Manager_Singleton>();

        StartCoroutine(ams.ChangeMusicTrack(ams.musicTracks[5], ams.transform.GetChild(1).GetComponent <AudioSource>().volume));
        yield return(new WaitForSeconds(1.2f));

        gOs[3].GetComponent <Animator>().enabled = true;
    }
Beispiel #2
0
    void Awake()
    {
        if (GameObject.FindWithTag("Player") != null)
        {
            playerCameraScript = GameObject.FindWithTag("Player").transform.parent.GetChild(1).GetComponent <CameraFollowOrbit>();
        }
        sceneManagement = GameObject.FindWithTag("Scene_Manager").GetComponent <Scene_Management_Singleton>();
        cameraAnim      = GameObject.FindWithTag("MainCamera").GetComponent <Animator>();
        audioManager    = GameObject.Find("Audio Manager").GetComponent <Audio_Manager_Singleton>();
        progMan         = GameObject.FindWithTag("Scene_Manager").GetComponent <ProgressManager>();

        audioManager.SetAudioVolume(windAudioVolume, Audio_Manager_Singleton.AudioSourceType.wind);
        audioManager.SetSpatialBlend(windSpatial3D);


        if (progMan.deactivateTemple)
        {
            DeactivatePlayer();
            StartCoroutine(PlayTempleDeactivation());
        }
        else if (progMan.activateStandingStone)
        {
            DeactivatePlayer();
        }
        else if (musicTrack >= 0 && audioManager.musicAudioSource.clip != audioManager.musicTracks[musicTrack])
        {
            if (progMan.noOfTemplesCompleted < 5)
            {
                StartCoroutine(audioManager.ChangeMusicTrack(audioManager.musicTracks[musicTrack], musicAudioVolume));
            }
        }
        else
        {
            audioManager.SetAudioVolume(musicAudioVolume, Audio_Manager_Singleton.AudioSourceType.music);
        }

        //Deactivating Temple beams
        if (templeArea == "Hub")
        {
            if (progMan.templesCompleted[0] && !progMan.deactivateTemple)
            {
                templeBeam.SetActive(false);
            }
        }
        if (templeArea == "Trap")
        {
            if (progMan.templesCompleted[1] && !progMan.deactivateTemple)
            {
                templeBeam.SetActive(false);
            }
        }
        if (templeArea == "Mountain")
        {
            if (progMan.templesCompleted[2] && !progMan.deactivateTemple)
            {
                templeBeam.SetActive(false);
            }
        }
        if (templeArea == "Ice")
        {
            if (progMan.templesCompleted[3] && !progMan.deactivateTemple)
            {
                templeBeam.SetActive(false);
            }
        }
    }
Beispiel #3
0
 void Start()
 {
     audioMan = GameObject.Find("Audio Manager").GetComponent <Audio_Manager_Singleton>();
     fade     = FindObjectOfType <Fade_To_Black>();
     progMan  = GameObject.FindWithTag("Scene_Manager").GetComponent <ProgressManager>();
 }