// using System.Collections; // using System.Collections.Generic; // using UnityEngine; // namespace vnxbqy.UI // { // public class ItemBaseEffect : MonoBehaviour // { // [SerializeField] UIEffect m_SuitEffect; // int itemId = 0; // private void OnEnable() // { // Display(itemId); // } // public void Display(int itemId, bool dirty = false) // { // this.itemId = itemId; // var curItem = ItemConfig.Get(this.itemId); // bool isPlay = true; // if (curItem == null) // { // isPlay = false; // return; // } // int effectId = 0; // switch (curItem.ItemColor) // { // case 4: // effectId = 7119; // break; // case 5: // effectId = 7120; // break; // case 6: // case 7: // case 8: // effectId = 7121; // break; // } // if (curItem.BaseEffectID != 0) // { // effectId = curItem.BaseEffectID; // } // if (m_SuitEffect.effect != effectId) // { // //同一个位置替换特效需要先释放 // m_SuitEffect.StopImediatly(); // } // m_SuitEffect.effect = effectId; // if (m_SuitEffect.effect == 0) // { // isPlay = false; // } // if (isPlay) // { // m_SuitEffect.Play(); // } // else // { // m_SuitEffect.StopImediatly(); // } // if (dirty) // { // SnxxzGame.Instance.StartCoroutine(Co_SetOrder(this, transform as RectTransform)); // } // } // public static ItemBaseEffect Create(RectTransform transform) // { // var go = UIUtility.CreateWidget("ItemBaseEffect", "ItemBaseEffect"); // var behaviour = go.GetComponent(); // SnxxzGame.Instance.StartCoroutine(Co_SetOrder(behaviour, transform)); // var scale = 1f; // var itemBasic = transform.GetComponentInParent(); // if (itemBasic == null) // itemBasic = transform.GetComponentInParent(); // if (itemBasic != null) // { // scale = GetEffectScale(itemBasic.format); // } // else // { // var itemBehaviour = transform.GetComponentInParent(); // if (itemBehaviour != null) // { // if (itemBehaviour.backGround != null) // { // var size = itemBehaviour.backGround.rectTransform.rect.width; // scale = size / 84; // } // } // else // { // var findPreciousItemBehaviour = transform.GetComponentInParent(); // if (findPreciousItemBehaviour != null) // { // scale = 0.86f; //暂且写死 // } // } // } // var rect = go.transform as RectTransform; // go.transform.SetParentEx(transform, Vector3.zero, Quaternion.identity, Vector3.one); // rect.MatchWhith(transform); // go.transform.localScale = Vector3.one * scale; // go.transform.SetAsLastSibling(); // return behaviour; // } // static IEnumerator Co_SetOrder(ItemBaseEffect behaviour, RectTransform transform) // { // yield return null; // if (transform == null || behaviour == null) // { // yield break; // } // Canvas canva = transform.GetComponentInParent(); // if (canva != null) // { // behaviour.m_SuitEffect.ResetOrder(canva.sortingOrder + 1); // } // if (behaviour.m_SuitEffect.maskArea == null) // { // behaviour.m_SuitEffect.SetMask(); // } // } // static float GetEffectScale(ItemCellformat format) // { // switch (format) // { // case ItemCellformat.Format_80x80: // return 0.95f; // case ItemCellformat.Format_70x70: // return 0.83f; // case ItemCellformat.Format_64x64: // return 0.76f; // default: // return 1f; // } // } // } // }