LocalizeTarget_UnityStandard_VideoPlayer.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233
  1. using UnityEditor;
  2. using UnityEngine;
  3. using UnityEngine.Video;
  4. namespace I2.Loc
  5. {
  6. #if UNITY_EDITOR
  7. [InitializeOnLoad]
  8. #endif
  9. public class LocalizeTarget_UnityStandard_VideoPlayer : LocalizeTarget<VideoPlayer>
  10. {
  11. static LocalizeTarget_UnityStandard_VideoPlayer() { AutoRegister(); }
  12. [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
  13. static void AutoRegister() { LocalizationManager.RegisterTarget(new LocalizeTargetDesc_Type<VideoPlayer, LocalizeTarget_UnityStandard_VideoPlayer> { Name = "VideoPlayer", Priority = 100 }); }
  14. public override eTermType GetPrimaryTermType(Localize cmp) { return eTermType.Video; }
  15. public override eTermType GetSecondaryTermType(Localize cmp) { return eTermType.Text; }
  16. public override bool CanUseSecondaryTerm() { return false; }
  17. public override bool AllowMainTermToBeRTL() { return false; }
  18. public override bool AllowSecondTermToBeRTL() { return false; }
  19. public override void GetFinalTerms ( Localize cmp, string Main, string Secondary, out string primaryTerm, out string secondaryTerm)
  20. {
  21. VideoClip clip = mTarget.clip;
  22. primaryTerm = clip != null ? clip.name: string.Empty;
  23. secondaryTerm = null;
  24. }
  25. public override void DoLocalize(Localize cmp, string mainTranslation, string secondaryTranslation)
  26. {
  27. VideoClip Old = mTarget.clip;
  28. if (Old == null || Old.name != mainTranslation)
  29. mTarget.clip = cmp.FindTranslatedObject<VideoClip>(mainTranslation);
  30. }
  31. }
  32. }