- using System;
- using CIG.Translation;
- using SUISS.Core;
- using UnityEngine;
- using UnityEngine.UI;
-
- public class FlagButton : MonoBehaviour
- {
- public Localization.Culture RepresentingCulture { get; private set; }
-
- public Button Button
- {
- get
- {
- return this._button;
- }
- }
-
- protected void OnEnable()
- {
- Localization.CurrentCultureChangedEvent += this.OnCurrentCultureChangedEvent;
- this.OnCurrentCultureChangedEvent(Localization.CurrentCulture);
- }
-
- protected void OnDisable()
- {
- Localization.CurrentCultureChangedEvent -= this.OnCurrentCultureChangedEvent;
- }
-
- protected void OnDestroy()
- {
- this._button.onClick.RemoveAllListeners();
- this.RepresentingCulture = null;
- }
-
- public void SetCulture(Localization.Culture culture)
- {
- this.RepresentingCulture = culture;
- this._flagImage.sprite = SingletonMonobehaviour<FlagAssetCollection>.Instance.GetAsset(culture);
- }
-
- private void OnCurrentCultureChangedEvent(Localization.Culture culture)
- {
- this._glowObject.SetActive(culture == this.RepresentingCulture);
- }
-
- [SerializeField]
- private Button _button;
-
- [SerializeField]
- private GameObject _glowObject;
-
- [SerializeField]
- private Image _flagImage;
- }
|