Пример #1
0
    void Awake()
    {
        if (instance != null && instance != this)
        {
            Globals.soundManager = instance;
            instance.PlayMusic(SceneManager.GetActiveScene().name);
            instance.FindCamera();
            Destroy(this.gameObject);
            return;
        }
        else
        {
            instance             = this;
            audioSource          = GetComponent <AudioSource>();
            Globals.soundManager = instance;
            instance.PlayMusic(SceneManager.GetActiveScene().name);
            instance.FindCamera();
        }
        DontDestroyOnLoad(this.gameObject);
        instance.library = SoundLibrary.GetLibrary();
        // get all SFX by filename
//		DirectoryInfo dir = new DirectoryInfo("Assets/Resources/sfx/");
//		DirectoryInfo[] dinfo = dir.GetDirectories();
//		foreach (DirectoryInfo d in dinfo) {
//			FileInfo[] finfo = d.GetFiles ("*.wav");
//			string directoryName = d.Name;
//			foreach (var f in finfo) {
//				if (!Regex.IsMatch(f.Name, @"\.meta")) {
//					// if ends in 1 then create new dictionary entry
//					string soundName = Regex.Replace(f.Name, @"\d\.wav", "");
//					string resourceName = Regex.Replace(f.Name, @"\.wav", "");
//					AudioClip clip = (AudioClip)Resources.Load("sfx/"+directoryName+"/"+resourceName, typeof(AudioClip));
//					if (library.ContainsKey(directoryName+"/"+soundName))
//						library[directoryName+"/"+soundName].Add(clip);
//					else
//						library.Add(directoryName+"/"+soundName, new List<AudioClip>{clip});
//				}
//			}
//		}
    }