Example #1
0
    void Update()
    {
        if (listOfCallbacks == null || listOfCallbacks.Count == 0)
        {
            return;
        }

        for (int i = 0; i < listOfCallbacks.Count; ++i)
        {
            callbackStruct = listOfCallbacks[i];
            if ((!callbackStruct.isRealTime && Time.time - callbackStruct.startTime > callbackStruct.timeDelay) ||
                (callbackStruct.isRealTime && Time.realtimeSinceStartup - callbackStruct.startTime > callbackStruct.timeDelay))
            {
                callbackStruct.func();
                if (callbackStruct.repeat)
                {
                    callbackStruct.startTime = Time.time;
                }
                else
                {
                    listOfCallbacks.Remove(callbackStruct);
                }
            }
        }
    }
Example #2
0
    public void repeat(System.Action func, float repeatTimeDelay)
    {
        if (func == null)
        {
            return;
        }

        CallbackInstance newCallback = new CallbackInstance();

        newCallback.func      = func;
        newCallback.timeDelay = repeatTimeDelay;
        newCallback.startTime = Time.time;
        newCallback.repeat    = true;
        listOfCallbacks.Add(newCallback);
    }
Example #3
0
    public void clearAllRepeats()
    {
        if (listOfCallbacks.Count == 0)
        {
            return;
        }

        CallbackInstance callbackStruct;

        for (int i = 0; i < listOfCallbacks.Count; ++i)
        {
            callbackStruct = listOfCallbacks[i];
            if (callbackStruct.repeat)
            {
                listOfCallbacks.Remove(callbackStruct);
            }
        }
    }
Example #4
0
    public void doLater(System.Action func, float timeDelay, bool isRealTime = false)
    {
        if (func == null)
        {
            return;
        }

        if (timeDelay <= 0.0f)
        {
            func();
            return;
        }

        CallbackInstance newCallback = new CallbackInstance();

        newCallback.func       = func;
        newCallback.timeDelay  = timeDelay;
        newCallback.startTime  = isRealTime?Time.realtimeSinceStartup:Time.time;
        newCallback.isRealTime = isRealTime;
        listOfCallbacks.Add(newCallback);
    }