コード例 #1
0
 public void PlayFx(AudioName aName)
 {
     if (isSoundOn)
     {
         sfxSource.PlayOneShot(audioDict [aName.ToString()]);
     }
 }
コード例 #2
0
    public AudioClip GetSound(AudioName _name)
    {
        switch (_name)
        {
        case (AudioName.marche):
            return(marche);

            break;

        case (AudioName.mine):
            return(mine);

            break;

        case (AudioName.meurt):
            return(meurt);

            break;

        case (AudioName.fight):
            return(combat);

            break;

        case (AudioName.plante):
            return(coupePlante);

            break;

        case (AudioName.buildingCrumble):
            return(buildingCrumble);

            break;

        case (AudioName.robotMove):
            return(robotFight);

            break;

        case (AudioName.robotFight):
            return(robotMove);

            break;

        case (AudioName.construction):
            return(construction);

        case (AudioName.wood):
            return(sawWood);

        case (AudioName.robotDeath):
            return(robotDie);

        case (AudioName.stockRessource):
            return(stash);

        default:
            return(combat);
        }
    }
コード例 #3
0
    public static AudioSource CreateNewAudioPlayer(AudioName name)
    {
        AudioSource newSource = audioSource.gameObject.AddComponent <AudioSource>();

        newSource.clip = audioClips[name];
        return(newSource);
    }
コード例 #4
0
    /// <summary>
    /// Plays the given sound
    /// Waits until the sound is done playing
    /// Stops the sound and adds it back to the resource pool
    /// If the sound is set to loop then it won't add it back to the queue
    /// until it is done looping
    /// </summary>
    /// <param name="soundName"></param>
    /// <returns></returns>
    IEnumerator PlaySoundRoutine(AudioName soundName, SoundClip clip)
    {
        AudioClipInfo info = m_aduioDictionary[soundName];

        clip.Info   = info;
        clip.Volume = m_sfxVolume;
        clip.Play();

        // Will keep checking until the sound no longer plays
        if (clip.Loops)
        {
            // Check again next frame to see if we are done
            while (clip.IsPlaying)
            {
                yield return(new WaitForEndOfFrame());
            }
        }
        else
        {
            // Wait until the sound is done playing to re-queue it
            yield return(new WaitForSeconds(clip.Length));
        }

        // For safety ensure the sound is stopped
        clip.Stop();
        clip.Info = null;

        m_soundClips.Enqueue(clip);
    }
コード例 #5
0
 public void PlayAudio(AudioName an)
 {
     if (adDic.ContainsKey(an))
     {
         adDic[an].Play();
     }
 }
コード例 #6
0
 public void UnPause(AudioName an)
 {
     if (adDic.ContainsKey(an))
     {
         adDic[an].UnPause();
     }
 }
コード例 #7
0
ファイル: GameAudioWrap.cs プロジェクト: 737871854/S6Client
    static int PlayAudio(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(GameAudio), typeof(int)))
        {
            GameAudio obj  = LuaScriptMgr.GetNetObject <GameAudio>(L, 1);
            int       arg0 = (int)LuaScriptMgr.GetNumber(L, 2);
            obj.PlayAudio(arg0);
            return(0);
        }
        else if (count == 2 && LuaScriptMgr.CheckTypes(L, 1, typeof(GameAudio), typeof(AudioName)))
        {
            GameAudio obj  = LuaScriptMgr.GetNetObject <GameAudio>(L, 1);
            AudioName arg0 = LuaScriptMgr.GetNetObject <AudioName>(L, 2);
            obj.PlayAudio(arg0);
            return(0);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: GameAudio.PlayAudio");
        }

        return(0);
    }
コード例 #8
0
    /// <summary>
    /// 吸生
    /// </summary>
    /// <returns></returns>
    private IEnumerator PierceAndHeakCoroutine()
    {
        state = PlayerState.Pierce;
        var audioNames = new AudioName[] { AudioName.kaede_hun_kyusei_10, AudioName.kaede_kurae_kyusei_11 };

        AudioManager.Instance.PlayPlayerSE(audioNames[Random.Range(0, audioNames.Length)].String());
        EnemyAI nearEnemy = MostNearEnemy();
        var     isBoss    = nearEnemy.GetComponent <BossMarker>() != null;

        playerAnimation.StopWalkAnimation();
        //敵のほうを向くまで待機
        yield return(StartCoroutine(RotateToTarget(nearEnemy.waistPosition, 5.0f)));

        status.Heal(pierceHealHP);
        //吸生終了まで待機
        playerAnimation.StartKyuuseiAnimation();
        yield return(new WaitForSeconds(2.0f));

        playerAnimation.StopKyuuseiAnimation();
        FarEnemy(nearEnemy);
        nearEnemy.UsedHeal();
        state = PlayerState.Idle;

        if (isBoss)
        {
            SceneChanger.Instance().Change(nextSceneName, new FadeData(1, 1, Color.black));
        }
    }
コード例 #9
0
 public void PlayFx(AudioName aName, float delay)
 {
     if (isSoundOn)
     {
         sfxSource.clip = audioDict [aName.ToString()];
         sfxSource.PlayDelayed(delay);
     }
 }
コード例 #10
0
 public Sound(AudioName name, AudioClip clip, AudioSource source, float volume = 1.0f, float pitch = 1.0f)
 {
     this.name   = name;
     this.clip   = clip;
     this.source = source;
     this.volume = volume;
     this.pitch  = pitch;
 }
コード例 #11
0
    [Range(0.1f, 3.0f)] public float pitch;  // the pitch and speed of the audio clip

    public Sound()
    {
        name   = AudioName.NULL;
        clip   = null;
        volume = 1.0f;
        pitch  = 1.0f;
        source = null;
    }
コード例 #12
0
 private void AudioName_Enter(object sender, EventArgs e)
 {
     if (AudioName.ForeColor == Color.FromArgb(192, 192, 255))
     {
         AudioName.ForeColor = SystemColors.ControlText;
         AudioName.Font      = new System.Drawing.Font("Arial", 8.25f, System.Drawing.FontStyle.Regular);
         AudioName.Clear();
         AudioName.Select();
     }
 }
コード例 #13
0
        //////////////////////
        // Public Interface //
        //////////////////////
        // Plays an AudioClip, should only be used for global (non-3D) sounds
        public void Play(AudioName audioType, string uniqueIdentifier, bool shouldForcePlay = false, Action <AudioJob> settingsOverride = null)
        {
            AudioJob audioJob = GetOrCreateJob(audioType, uniqueIdentifier, settingsOverride);

            if (!audioJob.audio.isPlaying || shouldForcePlay)
            {
                settingsOverride?.Invoke(audioJob);
                Play(audioJob);
            }
        }
コード例 #14
0
        // Plays an AudioClip at the given position
        public void PlayAtLocation(AudioName audioType, string uniqueIdentifier, Vector3 location, bool shouldForcePlay = false, Action <AudioJob> settingsOverride = null)
        {
            AudioJob audioJob = GetOrCreateJob(audioType, uniqueIdentifier, settingsOverride);

            if (!audioJob.audio.isPlaying || shouldForcePlay)
            {
                audioJob.audio.transform.position = location;
                settingsOverride?.Invoke(audioJob);
                Play(audioJob);
            }
        }
コード例 #15
0
    // Plays an audio clip with the given parameters
    public void PlayAudioParameter(AudioName audioName)
    {
        AudioParameter audio = AudioDictionary[audioName];

        PlayAudio(audio.audioClip
                  , audio.volume
                  , audio.priority
                  , _audioSourceLayer
                  , audio.pitchLow
                  , audio.pitchHigh);
    }
コード例 #16
0
    public static void Play(AudioName audio)
    {
        int index = (int)audio;

        if (!s_Instance.audioSource.isPlaying)
        {
            s_Instance.audioSource.PlayOneShot(s_Instance.audioClipList[index]);
        }
        else
        {
            s_Instance.pendingList.Add(s_Instance.audioClipList[index]);
        }
    }
コード例 #17
0
        // AUDIO::PLAY_SOUND_FRONTEND(-1, "RANK_UP", "HUD_AWARDS", 1); // 任务完成
        // API.PlaySoundFrontend(-1, "Mission_Pass_Notify", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS", true);

        public static int Play(AudioName audioName)
        {
            switch (audioName)
            {
            case AudioName.Beep:
                return(PlayBeep());

            case AudioName.MissionComplete:
                return(PlayMissionComplete());

            case AudioName.Wasted:
                return(PlayWasted());
            }
            return(0);
        }
コード例 #18
0
ファイル: AudioManager.cs プロジェクト: hsinpa/TeamBallDroper
        public void PlaySound(AudioName name, float volume)
        {
            if (audioClips[(int)name])
            {
                AudioSource source = GetSoucre();

                source.pitch  = 1.0f;
                source.volume = volume;
                source.PlayOneShot(audioClips[(int)name]);
            }
            else
            {
                print("AudioManager : AudioClip[" + name.ToString() + "] is not setted");
            }
        }
コード例 #19
0
    private void AddToDicAudio(AudioName audioName, string fileName)
    {
        AudioClip ac = (AudioClip)Resources.Load(fileName);

        if (ac != null)
        {
            int i = SoundManager.PlaySound(ac);
            dic_audioID.Add(audioName, i);
            SoundManager.GetAudio(dic_audioID[audioName]).Stop();
        }
        else
        {
            Debug.LogError("Missing Audio " + fileName);
        }
    }
コード例 #20
0
    /// <summary>
    /// Triggers the routine to play the given sound
    /// </summary>
    /// <param name="soundName"></param>
    public void PlaySound(AudioName soundName)
    {
        // Can't play what we don't know about
        if (!m_aduioDictionary.ContainsKey(soundName))
        {
            Debug.LogWarningFormat("Unknown Sound Effect {0}", soundName);
            return;
        }

        // Make sure we have enough resources to play this sound
        if (m_soundClips.Count < 1)
        {
            Debug.LogFormat("Not enough resources to play {0}", soundName);
            return;
        }

        StartCoroutine(PlaySoundRoutine(soundName));
    }
コード例 #21
0
        private static async Task Play(AudioName audioName, double?headsetGain, double?speakerGain, bool wait)
        {
            var speakerOnOff = GetSpeakerOnOff(audioName);

            if (headsetGain == null)
            {
                headsetGain = 0.3;
            }

            if (speakerGain == null)
            {
                speakerGain = 0.6;
            }

            if (speakerOnOff.CarSpeakerOn &&
                speakerOnOff.HeadsetSpeakerOn)
            {
                var headsetSpeaker = _headsetSpeaker.Play(EnumHelper.GetName(audioName), headsetGain.Value);
                var carSpeaker     = _carSpeaker.Play(EnumHelper.GetName(audioName), speakerGain.Value);

                if (wait)
                {
                    await Task.WhenAll(new Task[] { headsetSpeaker, carSpeaker });
                }
            }
            else if (speakerOnOff.CarSpeakerOn)
            {
                var carSpeaker = _carSpeaker.Play(EnumHelper.GetName(audioName), speakerGain.Value);

                if (wait)
                {
                    await carSpeaker;
                }
            }
            else if (speakerOnOff.HeadsetSpeakerOn)
            {
                var headesetSpeaker = _headsetSpeaker.Play(EnumHelper.GetName(audioName), headsetGain.Value);

                if (wait)
                {
                    await headesetSpeaker;
                }
            }
        }
コード例 #22
0
                public AudioJobSave(AudioJob audioJob)
                {
                    this.id              = audioJob.id;
                    this.audioType       = audioJob.audioType;
                    this.timeRunning     = audioJob.timeRunning;
                    this.basePitch       = audioJob.basePitch;
                    this.pitchRandomness = audioJob.pitchRandomness;
                    this.randomizedPitch = audioJob.randomizedPitch;
                    this.stopSound       = audioJob.stopSound;

                    this.pitch                    = audioJob.audio.pitch;
                    this.volume                   = audioJob.audio.volume;
                    this.timeSamples              = audioJob.audio.timeSamples;
                    this.loop                     = audioJob.audio.loop;
                    this.ignoreListenerVolume     = audioJob.audio.ignoreListenerVolume;
                    this.playOnAwake              = audioJob.audio.playOnAwake;
                    this.ignoreListenerPause      = audioJob.audio.ignoreListenerPause;
                    this.velocityUpdateMode       = audioJob.audio.velocityUpdateMode;
                    this.panStereo                = audioJob.audio.panStereo;
                    this.spatialBlend             = audioJob.audio.spatialBlend;
                    this.spatialize               = audioJob.audio.spatialize;
                    this.spatializePostEffects    = audioJob.audio.spatializePostEffects;
                    this.customCurveCustomRolloff = audioJob.audio.GetCustomCurve(AudioSourceCurveType.CustomRolloff);
                    this.customCurveSpatialBlend  = audioJob.audio.GetCustomCurve(AudioSourceCurveType.SpatialBlend);
                    this.customCurveReverbZoneMix = audioJob.audio.GetCustomCurve(AudioSourceCurveType.ReverbZoneMix);
                    this.customCurveSpread        = audioJob.audio.GetCustomCurve(AudioSourceCurveType.Spread);
                    this.reverbZoneMix            = audioJob.audio.reverbZoneMix;
                    this.bypassEffects            = audioJob.audio.bypassEffects;
                    this.bypassListenerEffects    = audioJob.audio.bypassListenerEffects;
                    this.bypassReverbZones        = audioJob.audio.bypassReverbZones;
                    this.dopplerLevel             = audioJob.audio.dopplerLevel;
                    this.spread                   = audioJob.audio.spread;
                    this.priority                 = audioJob.audio.priority;
                    this.mute                     = audioJob.audio.mute;
                    this.minDistance              = audioJob.audio.minDistance;
                    this.maxDistance              = audioJob.audio.maxDistance;
                    this.rolloffMode              = audioJob.audio.rolloffMode;

                    this.isPlaying = audioJob.audio.isPlaying;
                }
コード例 #23
0
        // Plays an AudioClip as a child of the given GameObject
        public void PlayOnGameObject <T>(
            AudioName audioType,
            string uniqueIdentifier,
            T audioJobOnGameObject,
            bool shouldForcePlay = false,
            Action <AudioJob> settingsOverride = null
            ) where T : SaveableObject, AudioJobOnGameObject
        {
            AudioJob audioJob = GetOrCreateJob(audioType, uniqueIdentifier, settingsOverride);

            if (!audioJob.audio.isPlaying || shouldForcePlay)
            {
                audioJob.audio.transform.position = audioJobOnGameObject.transform.position;

                Action <AudioJob> update = audioJobOnGameObject.UpdateAudio;
                serializableUpdateAudioOnGameObject[audioJob.id] = audioJobOnGameObject;
                updateAudioJobs[audioJob.id] = update;

                settingsOverride?.Invoke(audioJob);
                Play(audioJob);
            }
        }
コード例 #24
0
        // Play an AudioClip with an arbitrary function modifying the source
        public void PlayWithUpdate <T>(
            AudioName audioType,
            string uniqueIdentifier,
            T customUpdate,
            bool shouldForcePlay = false,
            Action <AudioJob> settingsOverride = null
            ) where T : SaveableObject, CustomAudioJob
        {
            AudioJob audioJob = GetOrCreateJob(audioType, uniqueIdentifier, settingsOverride);

            if (!audioJob.audio.isPlaying || shouldForcePlay)
            {
                if (shouldForcePlay || !serializableCustomUpdateAudioJobs.ContainsKey(audioJob.id))
                {
                    serializableCustomUpdateAudioJobs[audioJob.id] = customUpdate;
                    updateAudioJobs[audioJob.id] = customUpdate.UpdateAudio;
                }

                settingsOverride?.Invoke(audioJob);
                Play(audioJob);
            }
        }
コード例 #25
0
    // Plays any audio file based on AudioName
    public void Play(AudioName name)
    {
        Sound s = sounds[name];

        if (s == null)
        {
            Debug.LogError("Time: " + Time.time + "Error! No audio found for AudioName: " + name);
            return;
        }

        // If AudioName is a Background Music, then stop other background musics, and play this one
        if ((int)name <= 5 && (int)name >= 1)
        {
            instance.backgroundMusic.Stop();
            instance.backgroundMusic = s.source;
            instance.backgroundMusic.Play();
        }
        else
        {
            s.source.Play();
        }
    }
コード例 #26
0
    /// <summary>
    /// Stops the current music from playing (if any)
    /// and play the given music
    /// </summary>
    /// <param name="musicName"></param>
    public void PlayMusic(AudioName musicName)
    {
        // Don't know it
        if (!m_aduioDictionary.ContainsKey(musicName))
        {
            Debug.LogWarningFormat("Unknown Music {0}", musicName);
            return;
        }

        // Already playing no need to trigger it
        if (m_musicClip.Info != null && m_musicClip.ClipName == musicName && m_musicClip.IsPlaying)
        {
            return;
        }

        m_musicClip.Stop();

        // Update the music and play it
        m_musicClip.Info   = m_aduioDictionary[musicName];
        m_musicClip.Volume = m_musicVolume;
        m_musicClip.Play();
    }
コード例 #27
0
        private static async Task AddAudioFile(AudioName audioName, string text)
        {
            IStorageFile storageFile = null;
            var          soundFile   = await ApplicationData.Current.LocalFolder.TryGetItemAsync(EnumHelper.GetName(audioName));

            if (soundFile == null)
            {
                var headsetStream = await SpeechSynthesis.SpeakAsStream(text);

                var localFolder = ApplicationData.Current.LocalFolder;
                storageFile = await localFolder.CreateFileAsync(EnumHelper.GetName(audioName), CreationCollisionOption.FailIfExists);

                using (var outputStream = await storageFile.OpenStreamForWriteAsync())
                {
                    await headsetStream.AsStream().CopyToAsync(outputStream);
                }
            }

            storageFile = await ApplicationData.Current.LocalFolder.GetFileAsync(EnumHelper.GetName(audioName));

            await _headsetSpeaker.AddFileAsync(storageFile);

            await _carSpeaker.AddFileAsync(storageFile);
        }
コード例 #28
0
        public AudioJob GetOrCreateJob(AudioName audioType, string uniqueIdentifier, Action <AudioJob> settingsOverride = null)
        {
            string id = Id(audioType, uniqueIdentifier);

            AudioJob audioJob;

            if (audioJobs.ContainsKey(id))
            {
                audioJob = audioJobs[id];
            }
            else
            {
                Log(id, $"Creating new audio job: {id}");
                GameObject newAudioGO = new GameObject(id);
                newAudioGO.transform.SetParent(soundsRoot);
                newAudioGO.transform.position = Vector3.zero;

                AudioSettings settings = defaultSettings[audioType];

                AudioSource newAudioSource = newAudioGO.PasteComponent(settings.audioSource);

                newAudioGO.name = id;
                audioJob        = new AudioJob {
                    id              = id,
                    audioType       = audioType,
                    audio           = newAudioSource,
                    basePitch       = newAudioSource.pitch,
                    pitchRandomness = UnityEngine.Random.Range(-settings.randomizePitch, settings.randomizePitch)
                };
                settingsOverride?.Invoke(audioJob);

                audioJobs.Add(audioJob.id, audioJob);
            }

            return(audioJob);
        }
コード例 #29
0
 public void PlayFx(AudioName aName, float delay)
 {
     if (isSoundOn) {
         sfxSource.clip = audioDict [aName.ToString ()];
         sfxSource.PlayDelayed (delay);
     }
 }
コード例 #30
0
 public void PlayFx(AudioName aName)
 {
     if (isSoundOn) {
         sfxSource.PlayOneShot (audioDict [aName.ToString ()]);
     }
 }
コード例 #31
0
    public void PlayAudio(int id)
    {
        AudioName an = (AudioName)id;

        PlayAudio(an);
    }
コード例 #32
0
    public void UnPause(int id)
    {
        AudioName an = (AudioName)id;

        UnPause(an);
    }