예제 #1
0
 public void PlayAudioClip(ClipName clipName)
 {
     if (clipName == ClipName.ClickStart)
     {
         this._audioSource.clip = this.ClickStartClip;
     }
     else if (clipName == ClipName.ClickBtn)
     {
         this._audioSource.clip = this.ClickBtnClip;
     }
     else if (clipName == ClipName.Achievement)
     {
         this._audioSource.clip = this.AchievementClip;
     }
     else if (clipName == ClipName.GetItem)
     {
         this._audioSource.clip = this.GetItemClip;
     }
     else if (clipName == ClipName.Lose)
     {
         this._audioSource.clip = this.LoseClip;
     }
     else if (clipName == ClipName.Win)
     {
         this._audioSource.clip = this.WinClip;
     }
     this._audioSource.Play();
 }
예제 #2
0
    /// <summary>
    ///  通过名称获取音频资源
    /// </summary>
    public AudioClip GetAudioClipByName(ClipName name)
    {
        AudioClip res = null;

        audioDic.TryGetValue(name.ToString(), out res);
        return(res);
    }
예제 #3
0
    public AudioClip GetAudioClipByName(ClipName name)
    {
        AudioClip au = null;

        audioClipsDic.TryGetValue(name.ToString(), out au);
        return(au);
    }
 private AudioClip GetClip(ClipName clipInt)
 {
     switch( clipInt )
     {
     case ClipName.WATER_DROP1:
         return waterDropSound1;
     case ClipName.WATER_DROP2:
     default:
         return waterDropSound1;
     }
 }
예제 #5
0
    public AudioSource AddAudioSourceComponent(GameObject go, ClipName clipName, bool playOnAwake = true, bool loop = true)
    {
        AudioSource tempAudioSource = go.AddComponent <AudioSource>();

        tempAudioSource.clip = GetAudioClipByName(clipName);
        if (playOnAwake)
        {
            tempAudioSource.Play();
        }
        tempAudioSource.loop = loop;
        return(tempAudioSource);
    }
예제 #6
0
    /// <summary>
    ///  给某一个物体添加组件并进行操作
    /// </summary>
    public AudioSource AddAudioClipComponentToGameObject(GameObject obj, ClipName name,
                                                         bool isLoop = true, bool playOnAwake = true)
    {
        AudioSource audioSource = obj.AddComponent <AudioSource>();

        audioSource.clip = GetAudioClipByName(name);

        audioSource.loop = isLoop;
        if (playOnAwake)
        {
            audioSource.playOnAwake = playOnAwake;
            audioSource.Play();
        }
        return(audioSource);
    }
예제 #7
0
        public AudioClip(string Path)
        {
            AudioClipID = AudioCollection.AudioLibrary.Count;
            int LastBackslash = Path.LastIndexOf(@"\") + 1;

            ClipName = Path.Substring(LastBackslash, Path.Length - LastBackslash - 4); // (LastBackslash + 7, Path.Length - LastBackslash - 4) maybe???
            FilePath = Path;
            if (ClipName.Length > 7 && CheckIfRRGGBB(ClipName) == true)
            {
                BgColour = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#" + ClipName.Substring(0, 6)));
                ClipName = ClipName.Substring(7, ClipName.Length - 7);
            }
            else
            {
                BgColour = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#d9d9d9"));
            }
        }
예제 #8
0
    public void GenerateAudio(ClipName type, Vector3 location, float strength)
    {
        bool isLaser   = type == ClipName.Laser;
        bool isMissile = type == ClipName.Missile;

        if (isLaser && laserAudioDelay < 0.1f)
        {
            return;
        }
        if (isMissile && missileAudioDelay < 0.1f)
        {
            return;
        }

        if (isLaser)
        {
            laserAudioDelay = 0;
        }
        else if (isMissile)
        {
            missileAudioDelay = 0;
        }

        AudioSource audio;
        AudioClip   clip = clips[(int)type];

        if (sources.Count > 0)
        {
            audio = sources[0];
        }
        else
        {
            audio = Instantiate(sourcePrefab);
        }
        RemoveFromList(audio, clip.length);
        audio.gameObject.SetActive(true);
        audio.transform.position = location;
        audio.PlayOneShot(clip, strength);
    }
예제 #9
0
    public void Play(ClipName p_name, Action p_completeCallBack = null)
    {
        switch (p_name)
        {
        case ClipName.Stand:
        case ClipName.Run:
        {
            if (!CurrentAnimation.IsPlaying(p_name.ToString()))
            {
                CurrentAnimation.Play(p_name.ToString(), PlayMode.StopAll);
            }
            break;
        }

        case ClipName.Attack:
        {
            CurrentAnimation.Play(p_name.ToString(), PlayMode.StopAll);
            if (p_completeCallBack != null)
            {
                StartCoroutine(AnimCompleteCallBack(CurrentAnimation.GetClip(p_name.ToString()).length,
                                                    p_completeCallBack));
            }
            CurrentAnimation.PlayQueued(ClipName.Stand.ToString(), QueueMode.CompleteOthers, PlayMode.StopAll);
            break;
        }

        case ClipName.Die:
        {
            CurrentAnimation.Play(p_name.ToString(), PlayMode.StopAll);
            if (p_completeCallBack != null)
            {
                StartCoroutine(AnimCompleteCallBack(CurrentAnimation.GetClip(p_name.ToString()).length,
                                                    p_completeCallBack));
            }
            break;
        }
        }
    }
예제 #10
0
 public static void Play(ClipName clipName)
 {
     instance.audioSource.PlayOneShot(instance.clips[(int)clipName]);
 }
 public void PlayClipFromList(ClipName clipInt)
 {
     AudioClip clip = GetClip( clipInt );
     audio.PlayOneShot(clip);
 }
예제 #12
0
    /// <summary>
    ///  通过名称和位置在指定位置播放音频资源
    /// </summary>
    public void PlayAudioClipByName(ClipName name, Vector3 pos)
    {
        AudioClip res = GetAudioClipByName(name);

        AudioSource.PlayClipAtPoint(res, pos);
    }
예제 #13
0
 public void PlayAudioByName(ClipName clipName, Vector3 position)
 {
     AudioSource.PlayClipAtPoint(GetAudioClipByName(clipName), position);
 }
예제 #14
0
    public void GenerateAudioWithDelay(ClipName type, Vector3 position, float strength, float delayTime)
    {
        AudioClip clip = clips[(int)type];

        GenerateAudioWithDelay(clip, position, strength, delayTime);
    }
예제 #15
0
    public void GenerateAudio(ClipName type, Vector3 location, float strength)
    {
        AudioClip clip = clips[(int)type];

        GenerateAudio(clip, location, strength);
    }