示例#1
0
    public void PlaySound(string n)
    {
        AudioClip clip = soundDatas.FirstOrDefault(xs => xs.name == n);

        if (clip == null)
        {
            return;
        }

        GameObject prefab = new GameObject();

        prefab.name = "Sound-" + n;
        AudioSource ass = prefab.AddComponent <AudioSource>();

        ass.loop   = false;
        ass.volume = soundVolume;
        ass.clip   = clip;
        ass.mute   = MuteAllSound;
        prefab.transform.SetParent(this.transform);
        SoundStopper ss = prefab.AddComponent <SoundStopper>();
    }
示例#2
0
    public int PlaySound(SoundTypes st, Vector2?pos = null, bool muteMusic = false, float playDelay = -1f, float endDelay = -1f)
    {
        AudioClip clip = GetQuickSound(st);

        if (clip == null)
        {
            return(-1);
        }

        GameObject prefab = new GameObject();

        prefab.name = "Sound-" + st;
        AudioSource ass = prefab.AddComponent <AudioSource>();

        ass.loop   = false;
        ass.volume = soundVolume;
        ass.clip   = clip;
        ass.mute   = MuteAllSound;
        prefab.transform.SetParent(soundContainer);
        if (pos.HasValue)
        {
            prefab.transform.position = pos.Value;
        }
        else
        {
            prefab.transform.position = Vector2.zero;
        }

        SoundStopper ss = prefab.AddComponent <SoundStopper>();

        ss.MuteMusic        = muteMusic;
        ss.SoundEndDuration = endDelay;
        ss.SoundStartDelay  = playDelay;
        Sounds.Add(ass.GetInstanceID(), ass);
        return(ass.GetInstanceID());
    }