123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- using System;
- using I2.Loc;
- using UnityEngine;
- [DisallowMultipleComponent]
- public class TransformLocalizeSupport : MonoBehaviour
- {
- private void Awake()
- {
- if (this.callAwake)
- {
- return;
- }
- this.callAwake = true;
- this.holdPosition = base.transform.localPosition;
- this.holdRotation = base.transform.localRotation;
- this.holdScale = base.transform.localScale;
- LocalizationManager.OnLocalizeEvent -= this.OnLocalize;
- LocalizationManager.OnLocalizeEvent += this.OnLocalize;
- this.OnLocalize();
- }
- public void OnDestroy()
- {
- LocalizationManager.OnLocalizeEvent -= this.OnLocalize;
- }
- public void OnLocalize()
- {
- if (!this.callAwake)
- {
- this.Awake();
- }
- if (LocalizationManager.CurrentLanguageCode == "ja")
- {
- base.transform.localPosition = this.holdPosition;
- base.transform.localRotation = this.holdRotation;
- base.transform.localScale = this.holdScale;
- }
- else
- {
- this.Apply(this.overRidePropertys);
- if (this.languageOverRidePropertys != null)
- {
- foreach (TransformLocalizeSupport.LanguageOverRideProperty languageOverRideProperty in this.languageOverRidePropertys)
- {
- if (languageOverRideProperty.LanguageCode == LocalizationManager.CurrentLanguageCode)
- {
- this.Apply(languageOverRideProperty.Property);
- break;
- }
- }
- }
- }
- }
- public void Apply(TransformLocalizeSupport.OverRideProperty property)
- {
- if (!this.callAwake)
- {
- this.Awake();
- }
- base.transform.localPosition = ((!property.position.enabled) ? this.holdPosition : property.position.value);
- base.transform.localRotation = ((!property.rotation.enabled) ? this.holdRotation : Quaternion.Euler(property.rotation.value));
- base.transform.localScale = ((!property.scale.enabled) ? this.holdScale : property.scale.value);
- }
- [SerializeField]
- public TransformLocalizeSupport.OverRideProperty overRidePropertys = default(TransformLocalizeSupport.OverRideProperty);
- [SerializeField]
- public TransformLocalizeSupport.LanguageOverRideProperty[] languageOverRidePropertys;
- private Vector3 holdPosition;
- private Quaternion holdRotation;
- private Vector3 holdScale;
- private bool callAwake;
- [Serializable]
- public struct OverRideProperty
- {
- public TransformLocalizeSupport.OverRideProperty.Vector3Value position;
- public TransformLocalizeSupport.OverRideProperty.Vector3Value rotation;
- public TransformLocalizeSupport.OverRideProperty.Vector3Value scale;
- [Serializable]
- public struct Vector3Value
- {
- public bool enabled;
- public Vector3 value;
- }
- }
- [Serializable]
- public struct LanguageOverRideProperty
- {
- public string LanguageCode;
- public TransformLocalizeSupport.OverRideProperty Property;
- }
- }
|