示例#1
0
文件: Pig.cs 项目: mrdivdiz/bpvita
    public void SetExpression(Pig.Expressions exp)
    {
        if (this.m_currentExpression != exp)
        {
            switch (exp)
            {
            case Pig.Expressions.Normal:
                this.m_faceAnimation.Play("Normal");
                break;

            case Pig.Expressions.Laugh:
                this.m_faceAnimation.Play("Laugh");
                break;

            case Pig.Expressions.Grin:
                this.m_faceAnimation.Play("Grin");
                break;

            case Pig.Expressions.Fear:
                this.m_faceAnimation.Play("Fear_1");
                break;

            case Pig.Expressions.Fear2:
                this.m_faceAnimation.Play("Fear_2");
                break;

            case Pig.Expressions.Hit:
                this.m_faceAnimation.Play("Hit");
                break;

            case Pig.Expressions.Blink:
                this.m_faceAnimation.Play("Blink");
                break;

            case Pig.Expressions.FearfulGrin:
                this.m_faceAnimation.Play("FearfulGrin");
                break;
            }
            if (Singleton <GameManager> .Instance.IsInGame() && WPFMonoBehaviour.levelManager != null && WPFMonoBehaviour.levelManager.gameState != LevelManager.GameState.Building)
            {
                AudioSource[] sound = this.m_expressions[(int)exp].sound;
                if (sound != null && sound.Length > 0)
                {
                    for (int i = 0; i < sound.Length; i++)
                    {
                        sound[i].pitch = this.m_pitch;
                    }
                    if (this.m_currentSound)
                    {
                        this.m_currentSound.Stop();
                    }
                    this.m_currentSound = ((!this.m_isSilent) ? Singleton <AudioManager> .Instance.SpawnOneShotEffect(sound, base.transform) : null);
                    if (this.m_chorusFilter)
                    {
                        AudioChorusFilter audioChorusFilter = this.m_currentSound.gameObject.AddComponent <AudioChorusFilter>();
                        audioChorusFilter.dryMix  = this.m_chorusFilter.dryMix;
                        audioChorusFilter.wetMix1 = this.m_chorusFilter.wetMix1;
                        audioChorusFilter.wetMix2 = this.m_chorusFilter.wetMix2;
                        audioChorusFilter.wetMix3 = this.m_chorusFilter.wetMix3;
                        audioChorusFilter.delay   = this.m_chorusFilter.delay;
                        audioChorusFilter.rate    = this.m_chorusFilter.rate;
                        audioChorusFilter.depth   = this.m_chorusFilter.depth;
                    }
                    if (this.m_distortionFilter)
                    {
                        AudioDistortionFilter audioDistortionFilter = this.m_currentSound.gameObject.AddComponent <AudioDistortionFilter>();
                        audioDistortionFilter.distortionLevel = this.m_distortionFilter.distortionLevel;
                    }
                    if (this.m_echoFilter)
                    {
                        AudioEchoFilter audioEchoFilter = this.m_currentSound.gameObject.AddComponent <AudioEchoFilter>();
                        audioEchoFilter.delay      = this.m_echoFilter.delay;
                        audioEchoFilter.decayRatio = this.m_echoFilter.decayRatio;
                        audioEchoFilter.wetMix     = this.m_echoFilter.wetMix;
                        audioEchoFilter.dryMix     = this.m_echoFilter.dryMix;
                    }
                    if (this.m_hpFilter)
                    {
                        AudioHighPassFilter audioHighPassFilter = this.m_currentSound.gameObject.AddComponent <AudioHighPassFilter>();
                        audioHighPassFilter.cutoffFrequency    = this.m_hpFilter.cutoffFrequency;
                        audioHighPassFilter.highpassResonanceQ = this.m_hpFilter.highpassResonanceQ;
                    }
                    if (this.m_lpFilter)
                    {
                        AudioLowPassFilter audioLowPassFilter = this.m_currentSound.gameObject.AddComponent <AudioLowPassFilter>();
                        audioLowPassFilter.cutoffFrequency   = this.m_lpFilter.cutoffFrequency;
                        audioLowPassFilter.lowpassResonanceQ = this.m_lpFilter.lowpassResonanceQ;
                    }
                    if (this.m_reverbFilter)
                    {
                        AudioReverbFilter audioReverbFilter = this.m_currentSound.gameObject.AddComponent <AudioReverbFilter>();
                        if (this.m_reverbFilter.reverbPreset == AudioReverbPreset.User)
                        {
                            audioReverbFilter.dryLevel         = this.m_reverbFilter.dryLevel;
                            audioReverbFilter.room             = this.m_reverbFilter.room;
                            audioReverbFilter.roomHF           = this.m_reverbFilter.roomHF;
                            audioReverbFilter.roomLF           = this.m_reverbFilter.roomLF;
                            audioReverbFilter.decayTime        = this.m_reverbFilter.decayTime;
                            audioReverbFilter.decayHFRatio     = this.m_reverbFilter.decayHFRatio;
                            audioReverbFilter.reflectionsLevel = this.m_reverbFilter.reflectionsLevel;
                            audioReverbFilter.reflectionsDelay = this.m_reverbFilter.reflectionsDelay;
                            audioReverbFilter.hfReference      = this.m_reverbFilter.hfReference;
                            audioReverbFilter.lfReference      = this.m_reverbFilter.lfReference;
                            audioReverbFilter.diffusion        = this.m_reverbFilter.diffusion;
                            audioReverbFilter.density          = this.m_reverbFilter.density;
                        }
                        else
                        {
                            audioReverbFilter.reverbPreset = this.m_reverbFilter.reverbPreset;
                        }
                    }
                }
            }
            this.m_expressionSetTime = Time.time;
            this.m_currentExpression = exp;
        }
    }
示例#2
0
        public void ApplyEffects()
        {
            if (audioFile.chorusFilter.enabled)
            {
                if (!chorusFilter)
                {
                    chorusFilter = gameObject.AddComponent <AudioChorusFilter>();
                }
                chorusFilter.enabled = true;
                chorusFilter.dryMix  = audioFile.chorusFilter.dryMix;
                chorusFilter.wetMix1 = audioFile.chorusFilter.wetMix1;
                chorusFilter.wetMix2 = audioFile.chorusFilter.wetMix2;
                chorusFilter.wetMix3 = audioFile.chorusFilter.wetMix3;
                chorusFilter.delay   = audioFile.chorusFilter.delay;
                chorusFilter.rate    = audioFile.chorusFilter.rate;
                chorusFilter.depth   = audioFile.chorusFilter.depth;
            }
            else if (!audioFile.chorusFilter.enabled && chorusFilter)
            {
                chorusFilter.enabled = false;
            }

            if (audioFile.distortionFilter.enabled)
            {
                if (!distortionFilter)
                {
                    distortionFilter = gameObject.AddComponent <AudioDistortionFilter>();
                }
                distortionFilter.enabled         = true;
                distortionFilter.distortionLevel = audioFile.distortionFilter.distortionLevel;
            }
            else if (!audioFile.distortionFilter.enabled && distortionFilter)
            {
                distortionFilter.enabled = false;
            }

            if (audioFile.echoFilter.enabled)
            {
                if (!echoFilter)
                {
                    echoFilter = gameObject.AddComponent <AudioEchoFilter>();
                }
                echoFilter.enabled    = true;
                echoFilter.delay      = audioFile.echoFilter.delay;
                echoFilter.decayRatio = audioFile.echoFilter.decayRatio;
                echoFilter.wetMix     = audioFile.echoFilter.wetMix;
                echoFilter.dryMix     = audioFile.echoFilter.dryMix;
            }
            else if (!audioFile.echoFilter.enabled && echoFilter)
            {
                echoFilter.enabled = false;
            }

            if (audioFile.highPassFilter.enabled)
            {
                if (!highPassFilter)
                {
                    highPassFilter = gameObject.AddComponent <AudioHighPassFilter>();
                }
                highPassFilter.enabled            = true;
                highPassFilter.cutoffFrequency    = audioFile.highPassFilter.cutoffFrequency;
                highPassFilter.highpassResonanceQ = audioFile.highPassFilter.highpassResonanceQ;
            }
            else if (!audioFile.highPassFilter.enabled && highPassFilter)
            {
                highPassFilter.enabled = false;
            }

            if (audioFile.lowPassFilter.enabled)
            {
                if (!lowPassFilter)
                {
                    lowPassFilter = gameObject.AddComponent <AudioLowPassFilter>();
                }
                lowPassFilter.enabled           = true;
                lowPassFilter.cutoffFrequency   = audioFile.lowPassFilter.cutoffFrequency;
                lowPassFilter.lowpassResonanceQ = audioFile.lowPassFilter.lowpassResonanceQ;
            }
            else if (!audioFile.lowPassFilter.enabled && lowPassFilter)
            {
                lowPassFilter.enabled = false;
            }

            if (audioFile.reverbFilter.enabled)
            {
                if (!reverbFilter)
                {
                    reverbFilter = gameObject.AddComponent <AudioReverbFilter>();
                }
                reverbFilter.enabled          = true;
                reverbFilter.reverbPreset     = audioFile.reverbFilter.reverbPreset;
                reverbFilter.dryLevel         = audioFile.reverbFilter.dryLevel;
                reverbFilter.room             = audioFile.reverbFilter.room;
                reverbFilter.roomHF           = audioFile.reverbFilter.roomHF;
                reverbFilter.roomLF           = audioFile.reverbFilter.roomLF;
                reverbFilter.decayTime        = audioFile.reverbFilter.decayTime;
                reverbFilter.decayHFRatio     = audioFile.reverbFilter.decayHFRatio;
                reverbFilter.reflectionsLevel = audioFile.reverbFilter.reflectionsLevel;
                reverbFilter.reflectionsDelay = audioFile.reverbFilter.reflectionsDelay;
                reverbFilter.reverbLevel      = audioFile.reverbFilter.reverbLevel;
                reverbFilter.reverbDelay      = audioFile.reverbFilter.reverbDelay;
                reverbFilter.hfReference      = audioFile.reverbFilter.hFReference;
                reverbFilter.lfReference      = audioFile.reverbFilter.lFReference;
                reverbFilter.diffusion        = audioFile.reverbFilter.diffusion;
                reverbFilter.density          = audioFile.reverbFilter.density;
            }
            else if (!audioFile.reverbFilter.enabled && reverbFilter)
            {
                reverbFilter.enabled = false;
            }
        }
 public override void OnEnable() => Component = gameObject.GetComponent <AudioEchoFilter>();
示例#4
0
 public WXAudioEchoFilter(AudioEchoFilter audioEchoFilter, GameObject gameObject)
 {
     this.gameObject      = gameObject;
     this.audioEchoFilter = audioEchoFilter;
 }
示例#5
0
 void Awake()
 {
     _echo = GetComponent <AudioEchoFilter> ();
     _rev  = GetComponent <AudioReverbFilter> ();
 }
 void Start()
 {
     audioData  = GetComponent <AudioSource>();
     echofilter = GetComponent <AudioEchoFilter>();
 }
 public static Tween TweenDelay(this AudioEchoFilter filter, float to, float duration) =>
 Tweening.To(getter: () => filter.delay,
             setter: delay => filter.delay = delay,
             to, duration).SetTarget(filter);
 /// <summary>
 /// On init we initialize our values
 /// </summary>
 protected override void Initialization()
 {
     base.Initialization();
     _targetAudioEchoFilter = this.gameObject.GetComponent <AudioEchoFilter>();
 }
 public static Tween TweenWetMix(this AudioEchoFilter filter, float to, float duration) =>
 Tweening.To(getter: () => filter.wetMix,
             setter: wetMix => filter.wetMix = wetMix,
             to, duration).SetTarget(filter);
 public static Tween TweenDecayRatio(this AudioEchoFilter filter, float to, float duration) =>
 Tweening.To(getter: () => filter.decayRatio,
             setter: decayRatio => filter.decayRatio = decayRatio,
             to, duration).SetTarget(filter);
示例#11
0
 void Start()
 {
     temporalContainer = GameObject.Find("TemporalLobe").GetComponent <WorkerContainer>();
     distortFilter     = gameObject.GetComponent <AudioDistortionFilter>();
     echoFilter        = gameObject.GetComponent <AudioEchoFilter>();
 }
示例#12
0
        /// <summary>
        /// Coroutine to load instruments.
        /// </summary>
        IEnumerator LoadInstruments()
        {
            List <string> loadMessages = new List <string>()
            {
                "Renting instruments...",
                "Grabbing instruments...",
                "Unpacking instruments..."
            };

            // Update loading message
            LoadingScreen.Instance.SetLoadingMessage(loadMessages.Random());

            // Mark start time
            float startTime = Time.realtimeSinceStartup;
            int   numLoaded = 0;

            // Init audio source dict
            _instrumentAudioSources = new Dictionary <Instrument, AudioSource>();

            // Foreach instrument
            for (int i = 0; i < Instrument.AllInstruments.Count; i++)
            {
                // Load instrument data
                Instrument.AllInstruments[i].Load();

                // Create instrument AudioSource GameObject
                GameObject  obj    = new GameObject(Instrument.AllInstruments[i].Name);
                AudioSource source = obj.AddComponent <AudioSource>();

                // Group instrument under MusicManager
                obj.transform.parent = transform.parent;

                // Connect AudioSource to mixer
                source.outputAudioMixerGroup = _mixer.FindMatchingGroups(obj.name)[0];

                // Connect instrument to AudioSource
                _instrumentAudioSources.Add(Instrument.AllInstruments[i], source);

                // Add distortion filter
                AudioDistortionFilter distortion = obj.AddComponent <AudioDistortionFilter>();
                distortion.enabled = false;

                // Add tremolo filter
                AudioTremoloFilter tremolo = obj.AddComponent <AudioTremoloFilter>();
                tremolo.enabled = false;

                // Add chorus filter
                AudioChorusFilter chorus = obj.AddComponent <AudioChorusFilter>();
                chorus.enabled = false;

                // Add flanger filter
                AudioFlangerFilter flanger = obj.AddComponent <AudioFlangerFilter>();
                flanger.enabled = false;

                // Add echo filter
                AudioEchoFilter echo = obj.AddComponent <AudioEchoFilter>();
                echo.enabled = false;

                // Add reverb filter based on MusicManager's reverb filter
                AudioReverbFilter reverb       = obj.AddComponent <AudioReverbFilter>();
                AudioReverbFilter masterReverb = GetComponent <AudioReverbFilter>();
                reverb.dryLevel         = masterReverb.dryLevel;
                reverb.room             = masterReverb.room;
                reverb.roomHF           = masterReverb.roomHF;
                reverb.roomLF           = masterReverb.roomLF;
                reverb.decayTime        = masterReverb.decayTime;
                reverb.decayHFRatio     = masterReverb.decayHFRatio;
                reverb.reflectionsLevel = masterReverb.reflectionsLevel;
                reverb.reflectionsDelay = masterReverb.reflectionsDelay;
                reverb.reverbLevel      = masterReverb.reverbLevel;
                reverb.hfReference      = masterReverb.hfReference;
                reverb.lfReference      = masterReverb.lfReference;
                reverb.diffusion        = masterReverb.diffusion;
                reverb.density          = masterReverb.density;
                reverb.enabled          = false;

                numLoaded++;

                // If over time
                if (Time.realtimeSinceStartup - startTime > GameManager.LoadingTargetDeltaTime)
                {
                    yield return(null);

                    startTime = Time.realtimeSinceStartup;
                    GameManager.Instance.ReportLoaded(numLoaded);
                    numLoaded = 0;
                }
            }

            // When done, start building scales
            if (_instrumentAudioSources.Count == Instrument.AllInstruments.Count)
            {
                KeyManager.Instance.DoBuildScales();
            }
            yield return(null);
        }
    void OnTriggerEnter(Collider collider)
    {
        Debug.Log("trigger enter");
        AudioSource source = collider.gameObject.GetComponent <AudioSource>();

        if (source)
        {
            if (fx.Contains("distortion"))
            {
                //Apply Filter
                AudioDistortionFilter f = collider.gameObject.GetComponent <AudioDistortionFilter> ();
                if (f == null)
                {
                    f = collider.gameObject.AddComponent <AudioDistortionFilter> ();
                }
                f.enabled         = true;
                f.distortionLevel = 0.8f;
                filters.Add(f);
            }
            if (fx.Contains("echo"))
            {
                //Apply Filter
                AudioEchoFilter f = collider.gameObject.GetComponent <AudioEchoFilter> ();
                if (f == null)
                {
                    f = collider.gameObject.AddComponent <AudioEchoFilter> ();
                }
                f.enabled    = true;
                f.delay      = 100f;
                f.decayRatio = 0.9f;
                filters.Add(f);
            }
            if (fx.Contains("chorus"))
            {
                //Apply Filter
                AudioChorusFilter f = collider.gameObject.GetComponent <AudioChorusFilter> ();
                if (f == null)
                {
                    f = collider.gameObject.AddComponent <AudioChorusFilter> ();
                }

                //f.depth = 0.99f;
                f.enabled = true;
                filters.Add(f);
            }
            if (fx.Contains("highpass"))
            {
                //Apply Filter
                AudioHighPassFilter f = collider.gameObject.GetComponent <AudioHighPassFilter> ();
                if (f == null)
                {
                    f = collider.gameObject.AddComponent <AudioHighPassFilter> ();
                }

                f.enabled = true;
                filters.Add(f);
            }

            if (fx.Contains("lowpass"))
            {
                //Apply Filter
                AudioLowPassFilter f = collider.gameObject.GetComponent <AudioLowPassFilter> ();
                if (f == null)
                {
                    f = collider.gameObject.AddComponent <AudioLowPassFilter> ();
                }
                f.lowpassResonanceQ = 2;
                f.cutoffFrequency   = 1000;
                f.enabled           = true;
                filters.Add(f);
            }
        }
    }