45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
using System;
|
|
using System.Threading;
|
|
|
|
namespace ThinkingSDK.PC.Time
|
|
{
|
|
public class TDTimeout : MonoBehaviour
|
|
{
|
|
// Use this for initialization
|
|
void Start()
|
|
{
|
|
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
|
|
public static void SetTimeout(int timeout, Action<object> action, object obj)
|
|
{
|
|
GameObject gameObject = new GameObject("TDTimeout");
|
|
var tdTimeout = gameObject.AddComponent<TDTimeout>();
|
|
tdTimeout._setTimeout(timeout, action, obj);
|
|
}
|
|
|
|
private void _setTimeout(int timeout, Action<object> action, object obj)
|
|
{
|
|
StartCoroutine(_wait(timeout, action, obj));
|
|
}
|
|
|
|
private IEnumerator _wait(int timeout, Action<object> action, object obj)
|
|
{
|
|
yield return new WaitForSeconds(timeout);
|
|
if (action != null)
|
|
{
|
|
action(obj);
|
|
}
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
}
|