diff options
| author | Andrew Lee <alee14498@gmail.com> | 2019-08-24 15:24:57 -0400 |
|---|---|---|
| committer | Andrew Lee <alee14498@gmail.com> | 2019-08-24 15:24:57 -0400 |
| commit | 85553832ead1a96f88726cd2b35cb6ff1d8b8cc8 (patch) | |
| tree | 7a2615034462d4296ed09d24038bb4c68107979d /Assets/Packages/Lean/Localization/Scripts/Behaviours/LeanLocalizedAudioSource.cs | |
| parent | e06acf066171670248b0b644c0eb8f6d895e051e (diff) | |
| download | Unicity-85553832ead1a96f88726cd2b35cb6ff1d8b8cc8.tar.gz Unicity-85553832ead1a96f88726cd2b35cb6ff1d8b8cc8.tar.bz2 Unicity-85553832ead1a96f88726cd2b35cb6ff1d8b8cc8.zip | |
Attempt number 2 on localization
Diffstat (limited to 'Assets/Packages/Lean/Localization/Scripts/Behaviours/LeanLocalizedAudioSource.cs')
| -rw-r--r-- | Assets/Packages/Lean/Localization/Scripts/Behaviours/LeanLocalizedAudioSource.cs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Assets/Packages/Lean/Localization/Scripts/Behaviours/LeanLocalizedAudioSource.cs b/Assets/Packages/Lean/Localization/Scripts/Behaviours/LeanLocalizedAudioSource.cs new file mode 100644 index 0000000..7b45595 --- /dev/null +++ b/Assets/Packages/Lean/Localization/Scripts/Behaviours/LeanLocalizedAudioSource.cs @@ -0,0 +1,47 @@ +using UnityEngine; + +namespace Lean.Localization +{ + /// <summary>This component will update an AudioSource component with localized text, or use a fallback if none is found.</summary> + [ExecuteInEditMode] + [DisallowMultipleComponent] + [RequireComponent(typeof(AudioSource))] + [HelpURL(LeanLocalization.HelpUrlPrefix + "LeanLocalizedAudioSource")] + [AddComponentMenu(LeanLocalization.ComponentPathPrefix + "Localized AudioSource")] + public class LeanLocalizedAudioSource : LeanLocalizedBehaviour + { + [Tooltip("If PhraseName couldn't be found, this clip will be used")] + public AudioClip FallbackAudioClip; + + // This gets called every time the translation needs updating + public override void UpdateTranslation(LeanTranslation translation) + { + // Get the AudioSource component attached to this GameObject + var audioSource = GetComponent<AudioSource>(); + + // Use translation? + if (translation != null && translation.Data is AudioClip) + { + audioSource.clip = (AudioClip)translation.Data; + } + // Use fallback? + else + { + audioSource.clip = FallbackAudioClip; + } + } + + protected virtual void Awake() + { + // Should we set FallbackAudioClip? + if (FallbackAudioClip == null) + { + // Get the AudioSource component attached to this GameObject + var audioSource = GetComponent<AudioSource>(); + + // Copy current sprite to fallback + FallbackAudioClip = audioSource.clip; + } + } + } +}
\ No newline at end of file |
