コード例 #1
0
    public static AudioSource Deserialize(this SAudioSource _audioSource, ref GameObject _gameObject)
    {
        if (_audioSource.ExistsOnObject == false)
        {
            return(null);
        }

        AudioSource returnVal = _gameObject.GetComponent <AudioSource>();

        returnVal.enabled = _audioSource.Enabled;

        //returnVal.outputAudioMixerGroup = _audioSource.outputAudioMixerGroup;
        //returnVal.clip = _audioSource.audioClip;
        returnVal.playOnAwake           = _audioSource.playOnAwake;
        returnVal.volume                = _audioSource.volume;
        returnVal.pitch                 = _audioSource.pitch;
        returnVal.loop                  = _audioSource.loop;
        returnVal.mute                  = _audioSource.mute;
        returnVal.spatialize            = _audioSource.spatialize;
        returnVal.spatializePostEffects = _audioSource.spatializePostEffect;
        returnVal.priority              = _audioSource.priority;
        returnVal.dopplerLevel          = _audioSource.dopplerLevel;
        returnVal.minDistance           = _audioSource.minDistance;
        returnVal.maxDistance           = _audioSource.maxDistance;
        returnVal.panStereo             = _audioSource.pan2D;
        returnVal.rolloffMode           = _audioSource.rolloffMode;
        returnVal.bypassEffects         = _audioSource.bypassEffects;
        returnVal.bypassListenerEffects = _audioSource.bypassListenerEffects;
        returnVal.bypassReverbZones     = _audioSource.bypassReverbZones;
        returnVal.SetCustomCurve(AudioSourceCurveType.CustomRolloff, _audioSource.rolloffCustomCurve.Deserialize());
        returnVal.SetCustomCurve(AudioSourceCurveType.SpatialBlend, _audioSource.panLevelCustomCurve.Deserialize());
        returnVal.SetCustomCurve(AudioSourceCurveType.Spread, _audioSource.spreadCustomCurve.Deserialize());
        returnVal.SetCustomCurve(AudioSourceCurveType.ReverbZoneMix, _audioSource.reverbZoneMixCustomCurve.Deserialize());
        return(returnVal);
    }
コード例 #2
0
    public static SAudioSource Serialize(this AudioSource _audioSource)
    {
        SAudioSource returnVal = new SAudioSource
        {
            ExistsOnObject = (_audioSource == null) ? false : true,
            Enabled        = _audioSource.enabled,

            //outputAudioMixerGroup = _audioSource.outputAudioMixerGroup,
            //audioClip = _audioSource.clip,
            playOnAwake              = _audioSource.playOnAwake,
            volume                   = _audioSource.volume,
            pitch                    = _audioSource.pitch,
            loop                     = _audioSource.loop,
            mute                     = _audioSource.mute,
            spatialize               = _audioSource.spatialize,
            spatializePostEffect     = _audioSource.spatializePostEffects,
            priority                 = _audioSource.priority,
            dopplerLevel             = _audioSource.dopplerLevel,
            minDistance              = _audioSource.minDistance,
            maxDistance              = _audioSource.maxDistance,
            pan2D                    = _audioSource.panStereo,
            rolloffMode              = _audioSource.rolloffMode,
            bypassEffects            = _audioSource.bypassEffects,
            bypassListenerEffects    = _audioSource.bypassListenerEffects,
            bypassReverbZones        = _audioSource.bypassReverbZones,
            rolloffCustomCurve       = _audioSource.GetCustomCurve(AudioSourceCurveType.CustomRolloff).Serialize(),
            panLevelCustomCurve      = _audioSource.GetCustomCurve(AudioSourceCurveType.SpatialBlend).Serialize(),
            spreadCustomCurve        = _audioSource.GetCustomCurve(AudioSourceCurveType.Spread).Serialize(),
            reverbZoneMixCustomCurve = _audioSource.GetCustomCurve(AudioSourceCurveType.ReverbZoneMix).Serialize()
        };

        return(returnVal);
    }