public ActorMethodInvocationHandler(IActor root, object wrapped, MethodCaller methodCaller, ProxyFactory proxyFactory, Type returnType, MethodInfo targetMethod) : base(proxyFactory, methodCaller, wrapped) { m_Root = root; m_MethodCaller = methodCaller; m_ProxyFactory = proxyFactory; m_TargetMethod = targetMethod; }
/// <summary> /// Creates an interceptor for an object that doesn't exist yet. /// /// This will trigger its asynchronous construction. /// </summary> public CreatorInterfaceInvocationHandler(ObjectCreator <IActor> creator, ProxyFactory proxyFactory) { ThreadPool.QueueUserWorkItem( delegate { Hooking.ActorCallWrapper( () => { IActor newObject = creator(); ActorInterfaceInvocationHandler temp = new ActorInterfaceInvocationHandler(newObject, newObject, proxyFactory); m_RealInvocationHandler = temp; m_FinishedEvent.Set(); }); }); }
/// <summary> /// Creates a proxy for an actor component object and places it in an existing actor /// </summary> internal CreatorInterfaceInvocationHandler(ObjectCreator<IActorComponent> creator, IActor rootObject, ProxyFactory proxyFactory) { // We need to lock on the root when using an existing actor ThreadPool.QueueUserWorkItem( delegate { Hooking.ActorCallWrapper(() => { IActorComponent newObject = creator(); ActorInterfaceInvocationHandler temp = new ActorInterfaceInvocationHandler(newObject, rootObject, proxyFactory); m_RealInvocationHandler = temp; m_FinishedEvent.Set(); }); }); }
/// <summary> /// Creates an interceptor for an object that doesn't exist yet. /// /// This will trigger its asynchronous construction. /// </summary> public CreatorInterfaceInvocationHandler(ObjectCreator<IActor> creator, ProxyFactory proxyFactory) { ThreadPool.QueueUserWorkItem( delegate { Hooking.ActorCallWrapper( () => { IActor newObject = creator(); ActorInterfaceInvocationHandler temp = new ActorInterfaceInvocationHandler(newObject, newObject, proxyFactory); m_RealInvocationHandler = temp; m_FinishedEvent.Set(); }); }); }
public ActorMethodInvocationHandler(IActor root, object wrapped, MethodCaller methodCaller, ProxyFactory proxyFactory, Type returnType, MethodInfo targetMethod) : base(proxyFactory, methodCaller, wrapped) { m_Root = root; m_MethodCaller = methodCaller; m_ProxyFactory = proxyFactory; m_TargetMethod = targetMethod; }
public ActorInterfaceInvocationHandler(object original, IActor rootForObject, ProxyFactory proxyFactory) { m_Original = original; m_ProxyFactory = proxyFactory; m_RootForObject = rootForObject; }
public AudienceMethodInvocationHandler(object wrapped, MethodCaller methodCaller, ProxyFactory proxyFactory) : base(proxyFactory, methodCaller, wrapped) { }
protected MethodInvocationHandler(ProxyFactory proxyFactory, MethodCaller methodCaller, object wrapped) { m_ProxyFactory = proxyFactory; m_MethodCaller = methodCaller; m_Wrapped = wrapped; }
public AudienceMethodInvocationHandler(object wrapped, MethodCaller methodCaller, ProxyFactory proxyFactory) : base(proxyFactory, methodCaller, wrapped) { }
protected MethodInvocationHandler(ProxyFactory proxyFactory, MethodCaller methodCaller, object wrapped) { m_ProxyFactory = proxyFactory; m_MethodCaller = methodCaller; m_Wrapped = wrapped; }
public void TestReturningCallerDelegate() { m_MyInstanceMethodCalled = false; object[] parameters = new object[] { "world", 5, false }; Func<object, object[], object> caller = new ProxyFactory().CreateMethodCaller(s_MyReturningInstanceMethodInfo).CallReturningMethod; object returned = caller(this, parameters); Assert.AreEqual("boo", returned); Assert.IsTrue(m_MyInstanceMethodCalled); }
public void TestCallerDelegate() { m_MyInstanceMethodCalled = false; object[] parameters = new object[] { "world", 5, false }; Action<object, object[]> caller = new ProxyFactory().CreateMethodCaller(s_MyInstanceMethodInfo).CallMethod; caller(this, parameters); Assert.IsTrue(m_MyInstanceMethodCalled); }
public AudienceInterfaceInvocationHandler(object original, ProxyFactory proxyFactory) { m_Original = original; m_ProxyFactory = proxyFactory; }
public AudienceInterfaceInvocationHandler(object original, ProxyFactory proxyFactory) { m_Original = original; m_ProxyFactory = proxyFactory; }
public ActorInterfaceInvocationHandler(object original, IActor rootForObject, ProxyFactory proxyFactory) { m_Original = original; m_ProxyFactory = proxyFactory; m_RootForObject = rootForObject; }
/// <summary> /// Creates a proxy for an actor component object and places it in an existing actor /// </summary> internal CreatorInterfaceInvocationHandler(ObjectCreator <IActorComponent> creator, IActor rootObject, ProxyFactory proxyFactory) { // We need to lock on the root when using an existing actor ThreadPool.QueueUserWorkItem( delegate { Hooking.ActorCallWrapper(() => { IActorComponent newObject = creator(); ActorInterfaceInvocationHandler temp = new ActorInterfaceInvocationHandler(newObject, rootObject, proxyFactory); m_RealInvocationHandler = temp; m_FinishedEvent.Set(); }); }); }