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