From 2336d5e71a6ed9c00f9a86c29d7aa33b9a1e38d5 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 23 七月 2025 10:44:27 +0800
Subject: [PATCH] 122 子 【武将】武将系统 / 【武将】武将系统-客户端 - 武将变化
---
Main/Component/UI/Common/ItemBaseEffect.cs | 238 ++++++++++++++++++++++++++---------------------------------
1 files changed, 105 insertions(+), 133 deletions(-)
diff --git a/Main/Component/UI/Common/ItemBaseEffect.cs b/Main/Component/UI/Common/ItemBaseEffect.cs
index 442d2c4..c8cb129 100644
--- a/Main/Component/UI/Common/ItemBaseEffect.cs
+++ b/Main/Component/UI/Common/ItemBaseEffect.cs
@@ -1,153 +1,125 @@
锘縰sing System.Collections;
using System.Collections.Generic;
using UnityEngine;
- public class ItemBaseEffect : MonoBehaviour
+public class ItemBaseEffect : MonoBehaviour
+{
+ [SerializeField] EffectPlayer m_SuitEffect;
+
+ int itemId = 0;
+
+ private void OnEnable()
{
- [SerializeField] UIEffect m_SuitEffect;
-
- int itemId = 0;
+ Display(itemId);
+ }
- private void OnEnable()
+ public void Display(int itemId, bool dirty = false)
+ {
+ this.itemId = itemId;
+ var curItem = ItemConfig.Get(this.itemId);
+ bool isPlay = true;
+ if (curItem == null)
{
- Display(itemId);
+ isPlay = false;
+ return;
}
- public void Display(int itemId, bool dirty = false)
+ int effectId = 0;
+ switch (curItem.ItemColor)
{
- 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));
- // }
+ case 4:
+ effectId = 7119;
+ break;
+ case 5:
+ effectId = 7120;
+ break;
+ case 6:
+ case 7:
+ case 8:
+ effectId = 7121;
+ break;
}
- public static ItemBaseEffect Create(RectTransform transform)
+ if (curItem.BaseEffectID != 0)
{
- var go = UIUtility.CreateWidget("ItemBaseEffect", "ItemBaseEffect");
- var behaviour = go.GetComponent<ItemBaseEffect>();
-
- // SnxxzGame.Instance.StartCoroutine(Co_SetOrder(behaviour, transform));
-
- var scale = 1f;
- var itemBasic = transform.GetComponentInParent<CommonItemBaisc>();
- if (itemBasic == null)
- itemBasic = transform.GetComponentInParent<ItemCell>();
- if (itemBasic != null)
- {
- scale = GetEffectScale(itemBasic.format);
- }
- // else
- // {
- // var itemBehaviour = transform.GetComponentInParent<ItemBehaviour>();
- // if (itemBehaviour != null)
- // {
- // if (itemBehaviour.backGround != null)
- // {
- // var size = itemBehaviour.backGround.rectTransform.rect.width;
- // scale = size / 84;
- // }
- // }
- // else
- // {
- // var findPreciousItemBehaviour = transform.GetComponentInParent<FindPreciousItemBehaviour>();
- // 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;
+ effectId = curItem.BaseEffectID;
}
- static IEnumerator Co_SetOrder(ItemBaseEffect behaviour, RectTransform transform)
+ if (m_SuitEffect.effectId != effectId)
{
- yield return null;
-
- if (transform == null || behaviour == null)
- {
- yield break;
- }
-
- Canvas canva = transform.GetComponentInParent<Canvas>();
- if (canva != null)
- {
- behaviour.m_SuitEffect.ResetOrder(canva.sortingOrder + 1);
- }
-
- if (behaviour.m_SuitEffect.maskArea == null)
- {
- behaviour.m_SuitEffect.SetMask();
- }
+ //鍚屼竴涓綅缃浛鎹㈢壒鏁堥渶瑕佸厛閲婃斁
+ m_SuitEffect.Stop();
}
+ m_SuitEffect.effectId = effectId;
- static float GetEffectScale(ItemCellformat format)
+ if (m_SuitEffect.effectId == 0)
{
- 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;
- }
+ isPlay = false;
+ }
+ if (isPlay)
+ {
+ m_SuitEffect.SetActive(true);
+ }
+ else
+ {
+ m_SuitEffect.SetActive(false);
}
}
+
+ public static ItemBaseEffect Create(RectTransform transform)
+ {
+ var go = UIUtility.CreateWidget("ItemBaseEffect", "ItemBaseEffect");
+ var behaviour = go.GetComponent<ItemBaseEffect>();
+
+ var scale = 1f;
+ var itemBasic = transform.GetComponentInParent<CommonItemBaisc>();
+ if (itemBasic == null)
+ itemBasic = transform.GetComponentInParent<ItemCell>();
+ if (itemBasic != null)
+ {
+ scale = GetEffectScale(itemBasic.format);
+ }
+ else
+ {
+ var itemBehaviour = transform.GetComponentInParent<ItemBehaviour>();
+ if (itemBehaviour != null)
+ {
+ if (itemBehaviour.backGround != null)
+ {
+ var size = itemBehaviour.backGround.rectTransform.rect.width;
+ scale = size / 84;
+ }
+ }
+
+ }
+
+ 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 float GetEffectScale(ItemCellformat format)
+ {
+ switch (format)
+ {
+ case ItemCellformat.Format_120x120:
+ return 1.2f;
+ case ItemCellformat.Format_100x100:
+ return 1.1f;
+ case ItemCellformat.Format_84x84:
+ return 1f;
+ case ItemCellformat.Format_80x80:
+ return 0.95f;
+ case ItemCellformat.Format_70x70:
+ return 0.83f;
+ case ItemCellformat.Format_64x64:
+ return 0.76f;
+ default:
+ return 1f;
+ }
+ }
+}
--
Gitblit v1.8.0