// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-04-12 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** namespace G.UI { using UnityEngine; using UnityEngine.UI; /// /// /// partial class BeautyWindow { #region Field #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] Button _btnBack; //[KUIFlag] //BeautyListPanel __goList; [KUIFlag] BeautyDetailPanel __goDetail; //[KUIFlag] //BeautyGiftPanel __goGift; //[KUIFlag] //BeautySkillPanel __goSkill; [KUIFlag] BeautySkinPanel __goSkin; [KUIFlag] BeautyGiftAndSkillPanel __goGiftAndSkill; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null #endregion #region Method /// /// /// public void InitView() { SetViewData(); _btnBack.onClick.AddListener(this.OnBackBtnClick); } /// /// /// public void RefreshView() { __goDetail.gameObject.SetActive(false); __goGiftAndSkill.gameObject.SetActive(false); //__goGift.gameObject.SetActive(false); //__goSkill.gameObject.SetActive(false); if (this.data != null) ShowDetailPanel(this.data); else ShowBeautyList(); } public void ShowBeautyList() { //__goList.gameObject.SetActive(true); } public void ShowDetailPanel(object data) { //__goList.gameObject.SetActive(false); __goDetail.gameObject.SetActive(true); __goDetail.SetData(data); } public void ShowGift1Panel(object data) { //__goGift.gameObject.SetActive(true); //__goGift.SetData(data); //__goGift.ShowGift1(); var function = FunctionProxy.Instance.GetFunction(FunctionProxy.FunctionId.红颜养成系统); if (function == null || function.IsUnlock()) { __goGiftAndSkill.gameObject.SetActive(true); __goGiftAndSkill.SetData(data); } else { ToastBox.ShowText(function.lockTips); } //__goGiftAndSkill.ShowGift1(); } public void ShowGift2Panel(object data) { //__goGift.gameObject.SetActive(true); //__goGift.SetData(data); //__goGift.ShowGift2(); //__goGiftAndSkill.gameObject.SetActive(true); //__goGiftAndSkill.SetData(data); //__goGiftAndSkill.ShowGift2(); } public void ShowSkillPanel(object data) { //__goSkill.gameObject.SetActive(true); //__goSkill.SetData(data); var function = FunctionProxy.Instance.GetFunction(FunctionProxy.FunctionId.红颜养成系统); if (function == null || function.IsUnlock()) { __goGiftAndSkill.gameObject.SetActive(true); __goGiftAndSkill.SetData(data); __goGiftAndSkill.ShowSkill(); } else { ToastBox.ShowText(function.lockTips); } } private void ShowSkinPanel(object data) { //ToastBox.ShowText("敬请期待"); __goSkin.gameObject.SetActive(true); __goSkin.SetData(data); } private void OnBackBtnClick() { //if (__goGift.gameObject.activeSelf) //{ // __goGift.Close(); //} //else if (__goSkill.gameObject.activeSelf) //{ // __goSkill.Close(); //} //else if (__goGiftAndSkill.gameObject.activeSelf) { __goGiftAndSkill.Close(); } else if (__goDetail.gameObject.activeSelf) { if (this.data != null) { Close(); } else { __goDetail.Close(); ShowBeautyList(); } } else { Close(); } } private void Close() { CloseWindow(this); OpenWindow(); } public static System.Collections.IEnumerator LoadBeautySkin(ItemBeautySkin skin, Image picture, Spine.Unity.SkeletonGraphic skeleton) { if (string.IsNullOrEmpty(skin.asset)) { picture.gameObject.SetActive(true); skeleton.gameObject.SetActive(false); var handle = AssetProxy.Instance.TryGetTemporaryAssetAsync($"{skin.picture}/pic.png"); yield return handle; picture.sprite = handle.Result; } else { picture.gameObject.SetActive(false); skeleton.gameObject.SetActive(true); var handle = Resources.LoadAsync($"beauties/{skin.asset}/skeleton_SkeletonData"); yield return handle; //skeleton.raycastTarget = false; skeleton.skeletonDataAsset = handle.asset as Spine.Unity.SkeletonDataAsset; skeleton.Initialize(true); yield return null; skeleton.AnimationState.SetAnimation(0, "idle", true); //var handle = AssetProxy.Instance.TryGetTemporaryAssetAsync($"{skin.asset}"); //yield return handle; //var skinGo = Object.Instantiate(handle.Result); //skinGo.transform.SetParent(skeleton.transform, false); //var graphic = skinGo.GetComponent(); } } public static System.Collections.IEnumerator LoadBeautySkin2(ItemBeautySkin skin, Image picture, GameObject skeletonRoot) { if (string.IsNullOrEmpty(skin.asset)) { picture.gameObject.SetActive(true); skeletonRoot.SetActive(false); var handle = AssetProxy.Instance.TryGetTemporaryAssetAsync($"{skin.picture}/pic.png"); yield return handle; picture.sprite = handle.Result; } else { picture.gameObject.SetActive(false); skeletonRoot.SetActive(true); var skinAsset = skin.asset; var rootTr = skeletonRoot.transform; if (rootTr.childCount > 0) { var child = rootTr.GetChild(0); if (child.name == skinAsset) { skinAsset = ""; yield break; } AssetProxy.Instance.ReleaseInstance(child.gameObject); } if (!string.IsNullOrEmpty(skinAsset)) { var handle = AssetProxy.Instance.InstantiateAsync(skin.asset, rootTr); yield return handle; handle.Result.name = skin.asset; } } } #endregion } }