LocalizeTarget_SVGImporter_Image.cs 1.9 KB

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