public DefaultAspectContext(IServiceProvider provider, TargetDescriptor target, ProxyDescriptor proxy, ParameterCollection parameters, ReturnParameterDescriptor returnParameter) { if (target == null) { throw new ArgumentNullException(nameof(target)); } if (proxy == null) { throw new ArgumentNullException(nameof(proxy)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } if (returnParameter == null) { throw new ArgumentNullException(nameof(returnParameter)); } serviceProvider = provider; Target = target; Proxy = proxy; Parameters = parameters; ReturnParameter = returnParameter; }
public GameTarget(TargetDescriptor descriptor, TargetContext context) : base(descriptor, context) { this.LaunchModule = typeof(DemoApp); this.Type = TargetType.Game; this.LinkType = TargetLinkType.Modular; }
/* * Invoked by a game object to mark itself as target. * By doing this, as soon as it satisfies the "show target tracker" condition, * the tracker is displayed in the UI canvas. * The simplest way to have objects invoking this method is be assigning the * "UITargetTrackerTarget" behaviour, ie. adding the script as component. */ public void RegisterAsTarget(UITargetTrackerTarget target) { TargetDescriptor td = new TargetDescriptor(); td.target = target; td.tracker = null; // tracker gets assigned when conditions are met, see UpdateTargetStates() targetObjectRegistry.Add(td); }
public void Test_Property() { object impInstance = new DescriptorWithParameter(); TargetDescriptor descriptor = new TargetDescriptor(impInstance, DescriptorWithParameter.Method, typeof(DescriptorWithParameter), DescriptorWithParameter.Method, typeof(DescriptorWithParameter)); Assert.Equal(descriptor.ImplementationInstance, impInstance); Assert.Equal(descriptor.ServiceMethod, DescriptorWithParameter.Method); Assert.Equal(descriptor.ServiceType, typeof(DescriptorWithParameter)); Assert.Equal(descriptor.ImplementationMethod, DescriptorWithParameter.Method); Assert.Equal(descriptor.ImplementationType, typeof(DescriptorWithParameter)); }
public void Invoke_Test(object value) { object impInstance = new DescriptorWithParameter(); TargetDescriptor descriptor = new TargetDescriptor(impInstance, DescriptorWithParameter.Method, typeof(DescriptorWithParameter), DescriptorWithParameter.InvokeMethod, typeof(DescriptorWithParameter)); var parameters = new ParameterCollection(new object[] { value }, DescriptorWithParameter.InvokeMethod.GetParameters()); var result = descriptor.Invoke(parameters); Assert.Equal(result, value); }