From caf443ae24c9b0f6f083395a804233510c832cc1 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期日, 14 九月 2025 23:32:57 +0800
Subject: [PATCH] 0312 调整文件

---
 Main/Utility/FrameEffect.cs.meta |   12 ++++++
 Main/Utility/FrameEffect.cs      |   95 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 107 insertions(+), 0 deletions(-)

diff --git a/Main/Utility/FrameEffect.cs b/Main/Utility/FrameEffect.cs
new file mode 100644
index 0000000..c062673
--- /dev/null
+++ b/Main/Utility/FrameEffect.cs
@@ -0,0 +1,95 @@
+锘�//--------------------------------------------------------
+//    [Author]:           鐜╀釜娓告垙
+//    [  Date ]:           Sunday, December 10, 2017
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using UnityEngine.UI;
+using System;
+
+
+    public class FrameEffect : MonoBehaviour
+    {
+        [SerializeField] Image m_Behaviour;
+        [SerializeField] Sprite[] m_Sprites;
+
+        float interval = 0.1f;
+        int index = 0;
+        float timer = 0f;
+        float tempSumTime = 1f;
+
+        [SerializeField] float onceTime = 1f;
+        [SerializeField] float sumTime = 1f;
+        [SerializeField] int aniIndex = 0;
+        public bool loop = true;
+
+        public event Action<int> CompleteAct;
+
+        private void OnEnable()
+        {
+            if (m_Sprites != null && m_Sprites.Length > 0)
+            {
+                interval = onceTime / m_Sprites.Length;
+                index = 0;
+                timer = 0f;
+                tempSumTime = sumTime;
+
+                m_Behaviour.overrideSprite = m_Sprites[index];
+            }
+        }
+
+        private void LateUpdate()
+        {
+            timer += Time.deltaTime;
+            tempSumTime -= Time.deltaTime;
+
+            if (m_Sprites == null || m_Sprites.Length == 0)
+            {
+                return;
+            }
+
+            if(tempSumTime > 0)
+            {
+                if (timer > interval)
+                {
+                    m_Behaviour.overrideSprite = m_Sprites[index];
+                    index = (++index) % m_Sprites.Length;
+                    timer -= interval;
+                }
+            }
+            else
+            {
+                if(loop)
+                {
+                    tempSumTime = sumTime;
+                }
+
+                if(CompleteAct != null)
+                {
+                    CompleteAct(aniIndex);
+                }
+            }
+        }
+
+        public void SetSprites(Sprite[] sprites,float _totalTime)
+        {
+            m_Sprites = sprites;
+            onceTime = _totalTime;
+            sumTime = _totalTime;
+            if (m_Sprites != null && m_Sprites.Length > 0)
+            {
+                interval = onceTime / m_Sprites.Length;
+                index = 0;
+                timer = 0f;
+                tempSumTime = sumTime;
+
+                m_Behaviour.sprite = m_Sprites[index];
+                m_Behaviour.overrideSprite = m_Sprites[index];
+            }
+        }
+
+    }
+
+
+
+
diff --git a/Main/Utility/FrameEffect.cs.meta b/Main/Utility/FrameEffect.cs.meta
new file mode 100644
index 0000000..0d752df
--- /dev/null
+++ b/Main/Utility/FrameEffect.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 34be87e10df140447985e4dd33c62ed8
+timeCreated: 1512874078
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

--
Gitblit v1.8.0