// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-06-05 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using System.Collections; using TMPro; using UnityEngine; using UnityEngine.UI; namespace G.UI { partial class WorldPanel { /// /// /// class CityWidget : KUIWidget { #region Field #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] Image _imgIcon; [KUIFlag] TextMeshProUGUI _tmpName; [KUIFlag] GameObject _goLock; [KUIFlag] GameObject _goBeauty; [KUIFlag] Image _imgBeautyHead; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null private bool _showBeauty; #endregion #region Method public override void Refresh() { if (this.data is CityProxy.CityInfo cityInfo) { ((RectTransform)this.transform).anchoredPosition = GlobalUtils.GetVector2(cityInfo.item.iconPos); _tmpName.text = cityInfo.item.name; //IconProxy.Instance.SetSprite(_imgIcon, cityInfo.item.icon); //_imgIcon.SetNativeSize(); StartCoroutine(SetFigure(cityInfo.item.icon[0])); _goLock.SetActive(!cityInfo.isUnlock); int beautyId = cityInfo.beautyId; //HomeProxy.Instance.GetBeautiy(beautyId); if (beautyId > 0) { _goBeauty.SetActive(false); var beautyItem = ItemProxy.Instance.GetStaticItem(beautyId); if (beautyItem != null) { IconProxy.Instance.SetSprite(_imgBeautyHead, beautyItem.icon); } _showBeauty = true; } else { _goBeauty.SetActive(false); _showBeauty = false; } } } private IEnumerator SetFigure(string figure) { var spriteAddr = "sa_w_world"; var handle = AssetProxy.Instance.TryGetGlobalAssetAsync(spriteAddr); yield return handle; if (handle.Status == UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationStatus.Succeeded) { _imgIcon.gameObject.SetActive(true); _imgIcon.overrideSprite = handle.Result.GetSprite(figure); //_imgIcon.SetNativeSize(); } else { _imgIcon.gameObject.SetActive(false); } } private void OnIconBtnClick() { if (this.data is CityProxy.CityInfo cityInfo) { if (!cityInfo.isUnlock) { KUIWindow.OpenWindow(cityInfo.unlockText); } //KUIWindow.OpenWindow(cityInfo); } } #endregion #region Unity /// /// /// private void Awake() { SetViewData(); _imgIcon.GetComponent