Пример #1
0
    void Start()
    {
        if (GlobalManager.screenTransition != null)
        {
            GlobalManager.screenTransition.Fade(true, 1.0f);
        }

#if UNITY_EDITOR
        if (overrideEnv)
        {
            PresentationData.in_EnvType = overrideEnvType;
        }
#endif

        LoadEnv();
        LoadLightProbes(Path.Combine("Lightmaps", EnvInfoDict[PresentationData.in_EnvType].lightProbesPath));
        crowdSim.Init();

        recordWrapper.Init();

        audioManager.Init();
        audioManager.earphonePlugged = recordWrapper.EarphonePlugged();
        if (audioManager.earphonePlugged)
        {
            audioManager.AllocateRand3dSound(SoundCollection.Ambient, audioManager.room.transform, Vector3.zero, out _ambientUnit);
            _ambientUnit.source.volume = audioManager.ambientVolume * UnityEngine.Random.Range(0.8f, 1.2f);
            _ambientUnit.source.loop   = true;
            _ambientUnit.Play();
        }

        inputManager.OnPracticeBegin += BeginPractice;
        exitNotice.SetActive(false);
    }
Пример #2
0
    public AudioUnit _internal_play(SoundCnf info, float fade_in, float fade_out)
    {
        I_PoolObjectAbility object_ability = _pool_factory.Pop();
        AudioUnit           unit           = object_ability as AudioUnit;

        if (unit != null)
        {
            _list.Add(unit);
            unit.Play(info, SoundVolume, fade_in, fade_out);
        }
        else
        {
            LogManager.Error("_internal_play Error");
        }

        return(unit);
    }
Пример #3
0
 public static void Play(string _name, bool _loop = false)
 {
     if (Instance.audioList.ContainsKey(_name))
     {
         // 存在則撥放
         Instance.audioList[_name].Play(_loop);
     }
     else
     {
         // 不存在則讀取
         AudioUnit audioUnit = null;
         LoadSound(_name, out audioUnit);
         if (audioUnit != null)
         {
             // 讀取成功則撥放
             audioUnit.Play(_loop);
         }
     }
 }
Пример #4
0
    private IEnumerator Chat_CR()
    {
        AudioUnit unit = null;

        if (AudioManager.currAudioManager.earphonePlugged)
        {
            if (AudioManager.currAudioManager.AllocateRand3dSound(SoundCollection.Whispering, transform, centerPos, out unit))
            {
                unit.source.volume = AudioManager.currAudioManager.chatVolume * Random.Range(0.8f, 1.2f);
                unit.source.pitch  = Random.Range(0.8f, 1.2f);
                unit.Play();
            }
        }
        yield return(new WaitForSeconds(CrowdSimulator.currSim.chatLength));

        if (AudioManager.currAudioManager.earphonePlugged)
        {
            unit.StopAndRecycle();
        }
        shouldChat = false;
    }
Пример #5
0
    public void PlayBgm(int id, bool is_scene = false, float fade_in = 1.5f, float fade_out = 1.5f)
    {
        if (id == -1)
        {
            return;
        }
        if (id == _prev_bgm)
        {
            return;
        }
        SoundCnf sound_cnf = _find_sound_by_id(id);

        if (sound_cnf == null)
        {
            return;
        }
        _bgm_unit.Play(sound_cnf, BgmVolume, fade_in, fade_out);
        if (is_scene)
        {
            _prev_bgm = id;
        }
    }