public IEnumerator DelayedActionManagerInvokeWithParameters()
        {
            var testObj = new DamTest();

            DelayedActionManager.AddAction((Action <int, string, bool, float>)testObj.MethodWithParams, 0, 5, "testValue", true, 3.14f);
            yield return(null);
        }
        public IEnumerator DelayedActionManagerInvokeSameFrame()
        {
            var testObj     = new DamTest();
            int frameCalled = Time.frameCount;

            DelayedActionManager.AddAction((Action)testObj.Method);
            yield return(null);

            Assert.AreEqual(frameCalled, testObj.frameInvoked);
        }
    public IEnumerator DelayedActionManagerInvokeDelayed()
    {
        var   testObj    = new DamTest();
        float timeCalled = Time.realtimeSinceStartup;

        DelayedActionManager.AddAction((Action)testObj.Method, .25f);
        yield return(new WaitForSeconds(.5f));

        Assert.LessOrEqual(timeCalled + .2f, testObj.timeInvoked);
    }
        public IEnumerator DelayedActionManagerInvokeDelayed()
        {
            var   testObj    = new DamTest();
            float timeCalled = Time.unscaledTime;

            DelayedActionManager.AddAction((Action)testObj.Method, 2);
            while (!testObj.methodInvoked)
            {
                yield return(null);
            }
            //make sure delay was at least 1 second (to account for test slowness)
            Assert.Greater(testObj.timeInvoked, timeCalled + 1);
        }