hch
2025-09-14 caf443ae24c9b0f6f083395a804233510c832cc1
0312 调整文件
2个文件已添加
107 ■■■■■ 已修改文件
Main/Utility/FrameEffect.cs 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Utility/FrameEffect.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Utility/FrameEffect.cs
New file
@@ -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];
            }
        }
    }
Main/Utility/FrameEffect.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 34be87e10df140447985e4dd33c62ed8
timeCreated: 1512874078
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: