예제 #1
0
 public void Dispose()
 {
     m_Mode                  = CallbackMode.Unassigned;
     m_CallbackNoArgs        = null;
     m_CallbackNativeArg     = null;
     m_CallbackWithCastedArg = null;
     m_CastedArgInvoker      = null;
 }
예제 #2
0
        public void Set(Action inAction)
        {
            if (inAction == null)
            {
                throw new ArgumentNullException("inAction");
            }

            m_Mode = CallbackMode.NoArg;
            m_CallbackNativeArg     = null;
            m_CallbackWithCastedArg = null;
            m_CastedArgInvoker      = null;
            m_CallbackNoArgs        = inAction;
        }
예제 #3
0
        private CastableAction(Action <T> inAction)
        {
            if (inAction == null)
            {
                throw new ArgumentNullException("inAction");
            }

            m_Mode = CallbackMode.NativeArg;
            m_CallbackNativeArg     = inAction;
            m_CallbackWithCastedArg = null;
            m_CastedArgInvoker      = null;
            m_CallbackNoArgs        = null;
        }
예제 #4
0
        public void Set <U>(Action <U> inAction)
        {
            if (inAction == null)
            {
                throw new ArgumentNullException("inAction");
            }

            m_Mode = CallbackMode.CastedArg;
            m_CallbackNativeArg     = null;
            m_CallbackWithCastedArg = inAction;
            m_CastedArgInvoker      = CastedActionInvoker <U> .Invoker;
            m_CallbackNoArgs        = null;
        }
예제 #5
0
        private CastableAction(MulticastDelegate inCastedDelegate, CastedAction inCastedInvoker)
        {
            if (inCastedDelegate == null)
            {
                throw new ArgumentNullException("inCastedDelegate");
            }
            if (inCastedInvoker == null)
            {
                throw new ArgumentNullException("inCastedInvoker");
            }

            m_Mode = CallbackMode.CastedArg;
            m_CallbackNativeArg     = null;
            m_CallbackWithCastedArg = inCastedDelegate;
            m_CastedArgInvoker      = inCastedInvoker;
            m_CallbackNoArgs        = null;
        }