/// <summary> /// Создание кастомного таймера /// </summary> /// <param name="customTimer">Объект таймера</param> /// <param name="args">Аргументы для его инициализции</param> /// <returns>Объект таймера</returns> public static ITimer StartNewTimer(ITimer customTimer, params System.Object[] args) { TimerSkin skin = storage.AddComponent <TimerSkin>(); skin.Initialize(customTimer, args); return(skin.GetTimer()); }
/// <summary> /// Создает новый таймер, который отсчитывает заданное время, затем вызывает метод. /// Второй метод вызывается каждый кадр, пока таймер работает /// </summary> /// <param name="name">Имя таймера</param> /// <param name="duration">Задержка таймера до вызова метода (-1 - бесконечность)</param> /// <param name="countOfRepeat">Число повторений (-1 - бесконечность)</param> /// <param name="parent">Родитель таймера. Если удалят родителя, то удалится и сам таймер. null для отключения</param> /// <param name="method">Метод, который будет вызываться</param> /// <param name="intervalMethod">Метод, вызывающийся каждый кадр (второй параметр - время рендра кадра, третий - сколько осталось времени, четвертый - общее время таймера)</param> /// <returns>Объект таймера</returns> public static ITimer StartNewTimer(string name, float duration, int countOfRepeat, GameObject parent, Action <ITimer> method, Action <ITimer, float, float, float> intervalMethod) { TimerSkin skin = storage.AddComponent <TimerSkin>(); skin.Initialize(new IntervalTimer(), name, duration, countOfRepeat, method, intervalMethod, parent); return((ITimer)skin.GetTimer()); }