using System; 
 | 
using System.Collections; 
 | 
using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
  
 | 
public class TimeItem 
 | 
{ 
 | 
  
 | 
    public float time = 0.0f; 
 | 
  
 | 
    public Action<Component> func; 
 | 
  
 | 
    private Component m_Comp; 
 | 
  
 | 
    private int loopCnt = 0; 
 | 
  
 | 
    private int m_NowCnt = 0; 
 | 
  
 | 
    private float m_NowTime = 0.0f; 
 | 
  
 | 
    public TimeItem(float t, Component comp, int loopCnt, Action<Component> func) 
 | 
    { 
 | 
        time = t; 
 | 
        m_Comp = comp; 
 | 
        this.loopCnt = loopCnt; 
 | 
        this.func = func; 
 | 
    } 
 | 
  
 | 
    public void Update() 
 | 
    { 
 | 
        m_NowTime += Time.deltaTime; 
 | 
        if (m_NowTime >= time) 
 | 
        { 
 | 
            if (loopCnt != 0) 
 | 
            { 
 | 
                m_NowCnt++; 
 | 
            } 
 | 
            if (m_NowCnt >= loopCnt && loopCnt != 0) 
 | 
            { 
 | 
                m_NowCnt = 0; 
 | 
                m_NowTime = 0.0f; 
 | 
                TimeMgr.Instance.UnRegister(m_Comp); 
 | 
                func(m_Comp); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                func(m_Comp); 
 | 
                m_NowTime = 0.0f; 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
} 
 |