Inheritance: Testbed
	static void CreateSecondBridge () {
		Bridge b = new Bridge() {
			__test = 1,
			id = "second",
		};
		weak_track_handle2 = GCHandle.Alloc (b, GCHandleType.WeakTrackResurrection);
	}
	static void CreateFirstBridge () {
		Bridge b = new Bridge() {
			__test = 0,
			id = "first",
		};
		weak_track_handle = GCHandle.Alloc (b, GCHandleType.WeakTrackResurrection);
	}
	static void CrashMainLoop () {
		var arr = new object [major_fill];
		for (int i = 0; i < major_fill; ++i)
			arr [i] = new NonBridge ();
		GC.Collect (1);
		Console.WriteLine ("major fill done");

		//induce massive fragmentation
		for (int i = 0; i < major_fill; i += 4) {
			arr [i + 1] = null;
			arr [i + 2] = null;
			arr [i + 3] = null;
		}
		GC.Collect (1);
		Console.WriteLine ("fragmentation done");

		//since 50% is garbage, do 2 fill passes
		for (int j = 0; j < 2; ++j) {
			for (int i = 0; i < major_fill; ++i) {
				if ((i % 1000) == 0)
					new Bridge ();
				else
					arr [i] = new Bridge ();
			}
		}
		Console.WriteLine ("done spewing bridges");
		
		for (int i = 0; i < major_fill; ++i)
			arr [i] = null;
		GC.Collect ();
	}
Beispiel #4
0
        public void PropertyChangedForTabulatedCrossection()
        {
            int callCount = 0;
            //use a default 
            var bridge = new Bridge();
            bridge.TabulatedCrossSection.HeightFlowStorageWidthData.Add(new HeightFlowStorageWidth(10, 50, 50));
            bridge.TabulatedCrossSection.HeightFlowStorageWidthData.Add(new HeightFlowStorageWidth(16, 100, 100));
            
            var senders = new List<object>();
            var propertyNames = new List<string>();
            ((INotifyPropertyChanged) bridge).PropertyChanged += (s, e) =>
                                                                     {
                                                                         senders.Add(s);
                                                                         propertyNames.Add(e.PropertyName);
                                                                         callCount++;
                                                                     };
            
            bridge.TabulatedCrossSection.HeightFlowStorageWidthData[0].FlowingWidth = 22;
            Assert.AreEqual(new object[] { bridge.TabulatedCrossSection.HeightFlowStorageWidthData[0], bridge }, senders);
            Assert.AreEqual(new object[] { "FlowingWidth", "TabulatedCrossSection" }, propertyNames);

            //expect two property changes ..one for the heighflowstoragewidth, one 'translated' to tabulated crossection
            
            Assert.AreEqual(2,callCount);

        }
 private Bridge CreateBridge(Document document)
 {
     MathSystem sys = Project.AddSystem();
     Bridge bridge = new Bridge(sys, document);
     _mathBridges.Add(sys.InstanceId, bridge);
     _netronBridges.Add(document, bridge);
     return bridge;
 }
Beispiel #6
0
	static void SetupLinks () {
		var a = new Bridge () { id = "bridge" };
		var b = new Bridge () { id = "child" };
		a.link.Add (b);
		a.__test = 1;
		b.__test = 0;
		root = new WeakReference<Bridge> (a, true);
		child = new WeakReference<Bridge> (b, true);
	}
Beispiel #7
0
    private void PlayerPressent(Bridge bridge)
    {
        if(_bridgParts[4] == bridge)
        {
            _bridgParts[0].gameObject.transform.position += new Vector3(0,0,-72f);
            _bridgParts.Add(_bridgParts[0]);
            _bridgParts.RemoveAt(0);

            //_bridgParts[_bridgParts.Count]
        }
    }
        static void Main(string[] args)
        {
            try
            {
                //Declare an bridge object
                Bridge bridge = new Bridge();

                //Hook the basic event handlers
                bridge.Attach += new AttachEventHandler(accel_Attach);
                bridge.Detach += new DetachEventHandler(accel_Detach);
                bridge.Error += new ErrorEventHandler(accel_Error);

                //hook the phidget specific event handlers
                bridge.BridgeData += new BridgeDataEventHandler(bridge_BridgeData);

                //open the acclerometer object for device connections
                bridge.open();

                //get the program to wait for an bridge device to be attached
                Console.WriteLine("Waiting for bridge to be attached....");
                bridge.waitForAttachment();

                //enable the inputs
                for (int i = 0; i < bridge.bridges.Count; i++)
                {
                    bridge.bridges[i].Enabled = true;
                }

                //Get the program to wait for user input before moving on so that we can
                //watch for some events
                Console.WriteLine("Press any key to end");
                Console.Read();

                //If user input has been read, we can now terminate the program, so
                //close the phidget object
                bridge.close();

                //set the object to null to clear it from memory
                bridge = null;

                //if no exceptions have been trhown at this point, the program can
                //terminate safely
                Console.WriteLine("ok");
            }
            catch (PhidgetException ex)
            {
                Console.WriteLine(ex.Description);
            }
        }
        public MainWindowViewModel()
        {
            var bridge = new Bridge("192.168.0.15")
            {
                UserName = "******"
            };
            var lights = bridge.GetLightsAsync(CancellationToken.None).Result;

            Color = Observable.CombineLatest(R, G, B, FromRgb).ToReactiveProperty();

            var xy = Observable.CombineLatest(R, G, B, Xy.FromRgb).Publish();

            X = xy.Select(p => p.X).ToReactiveProperty();
            Y = xy.Select(p => p.Y).ToReactiveProperty();

            xy.Throttle(TimeSpan.FromSeconds(1)).Subscribe(async v =>
            {
                await lights.Select(async light =>
                {
                    await light.SetXyAsync(v);

                }).WhenAll();

                var first = lights.First();
                await first.ReloadStateAsync();

                var state = first.State;

                LightX.Value = state.Xy.X;
                LightY.Value = state.Xy.Y;

                var color = state.GetColor();
                var rgb = FromRgb(color.R, color.G, color.B);

                LightR.Value = rgb.R;
                LightG.Value = rgb.G;
                LightB.Value = rgb.B;

                LightColor.Value = rgb;

                R.Value = rgb.R;
                G.Value = rgb.G;
                B.Value = rgb.B;
                Color.Value = rgb;
            });

            xy.Connect();
        }
Beispiel #10
0
		private void Form1_Load(object sender, EventArgs e) {
			br = new Bridge();

			br.Attach += new AttachEventHandler(br_Attach);
			br.Detach += new DetachEventHandler(br_Detach);
			br.Error += new Phidgets.Events.ErrorEventHandler(br_Error);

			br.BridgeData += new BridgeDataEventHandler(br_Data);

			outFPath.Text = File.Exists(Settings.Default.outFPath) ? Settings.Default.outFPath
							: Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Phidgetlog.csv";
			if (File.Exists(outFPath.Text))
				File.Delete(outFPath.Text);

			openCmdLine(br);
		}
        public BrowserHost()
        {
            Current = this;

            r_Uri = string.Format("net.pipe://localhost/Moen/ProjectDentan({0})/", HostProcessID);

            Loaded += (s, e) =>
            {
                if (r_Bridge == null)
                {
                    r_Bridge = new Bridge<IBrowserHost, IBrowserWrapper>(this, r_Uri, "BrowserHost");
                    r_Bridge.Connect(r_Uri + "Browser/Browser");

                    StartBrowserProcess();
                }
            };
        }
Beispiel #12
0
		/*
		 * Pathological case for the new algorithm.  Goes away with
		 * the single-node elimination optimization, but will still
		 * persist if modified by using a ladder instead of the single
		 * list.
		 */
		static void SetupLinkedFan()
		{
			var head = new Bridge();
			var tail = new NonBridge();
			head.Links.Add(tail);
			for (int i = 0; i < LIST_LENGTH; ++i)
			{
				var obj = new NonBridge();
				tail.Link = obj;
				tail = obj;
			}
			var list = new List<Bridge>();
			tail.Link = list;
			for (int i = 0; i < FAN_OUT; ++i)
				list.Add(new Bridge());
			logger.Info("GC bridge: \"linked fan\" setup done");
		}
	/*
	 * Pathological case for the new algorithm.  Goes away with
	 * the single-node elimination optimization, but will still
	 * persist if modified by using a ladder instead of the single
	 * list.
	 */
	static void SetupLinkedFan ()
	{
		var head = new Bridge ();
		var tail = new NonBridge ();
		head.Links.Add (tail);
		for (int i = 0; i < LIST_LENGTH; ++i)
		{
			var obj = new NonBridge ();
			tail.Link = obj;
			tail = obj;
		}
		var list = new List<Bridge> ();
		tail.Link = list;
		for (int i = 0; i < FAN_OUT; ++i)
			list.Add (new Bridge ());
		Console.WriteLine ("-linked fan done-");
	}
        public BrowserWrapper(string rpUri)
        {
            r_BrowserProviders = new List<IBrowserProvider>();
            var rBrowserPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "Browsers");
            foreach (var rBrowser in Directory.EnumerateFiles(rBrowserPath, "*.dll"))
            {
                FileSystem.Unblock(rBrowser);

                var rAssembly = Assembly.LoadFile(rBrowser);
                var rTypes = rAssembly.GetTypes().Where(r => r.GetInterface(typeof(IBrowserProvider).FullName) != null);
                foreach (var rType in rTypes)
                {
                    r_BrowserProviders.Add((IBrowserProvider)rAssembly.CreateInstance(rType.FullName));
                }
            }

            BridgeReady = new ManualResetEventSlim(false);

            InitializeComponent();

            r_Uri = rpUri;
            r_Zoom = 1.0;

            Bridge = new Bridge<IBrowserWrapper, IBrowserHost>(this, r_Uri + "Browser", "Browser");
            Bridge.Connect(r_Uri + "BrowserHost");
            BridgeReady.Set();

            r_BrowserProvider = r_BrowserProviders.First();
            Container.Content = Browser = r_BrowserProvider.GetBrowser();

            var rParameters = new HwndSourceParameters(string.Format("Dentan.Browser({0})", r_BrowserProvider.BrowserName)) { WindowStyle = 0 };
            r_HwndSource = new HwndSource(rParameters) { SizeToContent = SizeToContent.Manual };
            r_HwndSource.CompositionTarget.BackgroundColor = Color.FromRgb(0x59, 0x59, 0x59);

            NativeMethods.User32.SetWindowLongPtr(r_HwndSource.Handle, NativeConstants.GetWindowLong.GWL_STYLE,
                (IntPtr)(NativeEnums.WindowStyle.WS_CHILD | NativeEnums.WindowStyle.WS_CLIPCHILDREN));
            NativeMethods.User32.SetWindowPos(r_HwndSource.Handle, IntPtr.Zero, 0, 0, 0, 0,
                NativeEnums.SetWindowPosition.SWP_FRAMECHANGED | NativeEnums.SetWindowPosition.SWP_NOMOVE | NativeEnums.SetWindowPosition.SWP_NOSIZE | NativeEnums.SetWindowPosition.SWP_NOZORDER);

            r_HwndSource.RootVisual = this;

            Bridge.Proxy.Attach(r_HwndSource.Handle);

            Browser.FlashExtracted += UpdateSize;
        }
Beispiel #15
0
        public CarDemo()
        {
            int alpha = 255;
            int colA = Color.FromArgb(alpha, 51, 58, 51).ToArgb();
            int colB = Color.FromArgb(alpha, 51, 102, 170).ToArgb();
            int colC = Color.FromArgb(alpha, 170, 187, 187).ToArgb();
            int colD = Color.FromArgb(alpha, 102, 153, 170).ToArgb();
            int colE = Color.FromArgb(alpha, 119, 136, 119).ToArgb();
            int colPad = Color.FromArgb(alpha, 153, 102, 51).ToArgb();

            APEngine.init((float) 1 / 4);

            Vector massLessForces = new Vector(0, 3);
            APEngine.addMasslessForce(massLessForces);

            Surfaces surfaces = new Surfaces(colA, colB, colC, colD, colE, colPad);
            APEngine.addGroup(surfaces);

            Bridge bridge = new Bridge(colB, colC, colD);
            APEngine.addGroup(bridge);

            Capsule capsule = new Capsule(colC);
            APEngine.addGroup(capsule);

            rotator = new Rotator(colB, colE);
            APEngine.addGroup(rotator);

            SwingDoor swingDoor = new SwingDoor(colC);
            APEngine.addGroup(swingDoor);

            car = new Car(colC, colE);
            APEngine.addGroup(car);

            car.addCollidable(surfaces);
            car.addCollidable(bridge);
            car.addCollidable(rotator);
            car.addCollidable(swingDoor);
            car.addCollidable(capsule);

            capsule.addCollidable(surfaces);
            capsule.addCollidable(bridge);
            capsule.addCollidable(rotator);
            capsule.addCollidable(swingDoor);
        }
	/*
	 * Pathological case for the improved old algorithm.  Goes
	 * away with copy-on-write DynArrays, but will still persist
	 * if modified by using a ladder instead of the single list.
	 */
	static void SetupInverseFan ()
	{
		var tail = new Bridge ();
		object list = tail;
		for (int i = 0; i < LIST_LENGTH; ++i)
		{
			var obj = new NonBridge ();
			obj.Link = list;
			list = obj;
		}
		var heads = new Bridge [FAN_OUT];
		for (int i = 0; i < FAN_OUT; ++i)
		{
			var obj = new Bridge ();
			obj.Links.Add (list);
			heads [i] = obj;
		}
		Console.WriteLine ("-inverse fan done-");
	}
	/*
	 * Pathological case for the original old algorithm.  Goes
	 * away when merging is replaced by appending with flag
	 * checking.
	 */
	static void SetupLinks () {
		var list = new List<Bridge> ();
		for (int i = 0; i < OBJ_COUNT; ++i) {
			var bridge = new Bridge ();
			list.Add (bridge);
		}

		var r = new Random (100);
		for (int i = 0; i < OBJ_COUNT; ++i) {
			var n = list [i];
			for (int j = 0; j < LINK_COUNT; ++j)
				n.Links.Add (list [r.Next (OBJ_COUNT)]);
			for (int j = 0; j < EXTRAS_COUNT; ++j)
				n.Links.Add (j);
			if (r.NextDouble () <= survival_rate)
				n.__test = 1;
		}
		Console.WriteLine ("-setup done-");
	}
Beispiel #18
0
		/*
		 * Pathological case for the original old algorithm.  Goes
		 * away when merging is replaced by appending with flag
		 * checking.
		 */
		static void SetupLinks()
		{
			var list = new List<Bridge>();
			for (int i = 0; i < OBJ_COUNT; ++i)
			{
				var bridge = new Bridge();
				list.Add(bridge);
			}

			var r = new Random(100);
			for (int i = 0; i < OBJ_COUNT; ++i)
			{
				var n = list[i];
				for (int j = 0; j < LINK_COUNT; ++j)
					n.Links.Add(list[r.Next(OBJ_COUNT)]);
				for (int j = 0; j < EXTRAS_COUNT; ++j)
					n.Links.Add(j);
				if (r.NextDouble() <= survival_rate)
					n.__test = 1;
			}
			logger.Info("GC bridge: \"links\" setup done");
		}
Beispiel #19
0
		//When the form is being close, make sure to stop all the motors and close the Phidget.
		private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
			br.Attach -= new AttachEventHandler(br_Attach);
			br.Detach -= new DetachEventHandler(br_Detach);
			br.Error -= new Phidgets.Events.ErrorEventHandler(br_Error);

			br.BridgeData -= new BridgeDataEventHandler(br_Data);

			File.AppendAllText(outFPath.Text, sb.ToString());

			//run any events in the message queue - otherwise close will hang if there are any outstanding `
			Application.DoEvents();

			br.close();
			br = null;
		}
Beispiel #20
0
		/*
		 * Pathological case for the improved old algorithm.  Goes
		 * away with copy-on-write DynArrays, but will still persist
		 * if modified by using a ladder instead of the single list.
		 */
		static void SetupInverseFan()
		{
			var tail = new Bridge();
			object list = tail;
			for (int i = 0; i < LIST_LENGTH; ++i)
			{
				var obj = new NonBridge();
				obj.Link = list;
				list = obj;
			}
			var heads = new Bridge[FAN_OUT];
			for (int i = 0; i < FAN_OUT; ++i)
			{
				var obj = new Bridge();
				obj.Links.Add(list);
				heads[i] = obj;
			}
			logger.Info("GC bridge: \"inverse fan\" setup done");
		}
Beispiel #21
0
        public static void Register(JavaScriptContext context)
        {
            JavaScriptValue ObjectPrototype;
            JavaScriptValue ObjectConstructor = Bridge.CreateConstructor(
                typeof(System.Object),
                (args) => { throw new System.NotImplementedException(); },
                out ObjectPrototype,
                dontExtend: true
                );

            JavaScriptValue
            .GlobalObject
            .GetProperty("System")
            .SetProperty("Object", ObjectConstructor);


            // Static Fields


            // Static Property Accessors


            // Static Methods

            ObjectConstructor.SetProperty(
                "Equals",
                Bridge.CreateFunction(
                    "Equals",
                    (args) => JavaScriptValue.FromBoolean(System.Object.Equals(Bridge.GetExternal <System.Object>(args[1]), Bridge.GetExternal <System.Object>(args[2])))
                    )
                );


            ObjectConstructor.SetProperty(
                "ReferenceEquals",
                Bridge.CreateFunction(
                    "ReferenceEquals",
                    (args) => JavaScriptValue.FromBoolean(System.Object.ReferenceEquals(Bridge.GetExternal <System.Object>(args[1]), Bridge.GetExternal <System.Object>(args[2])))
                    )
                );


            // Instance Fields


            // Instance Property Accessors


            // Instance Methods

            ObjectPrototype.SetProperty(
                "Equals",
                Bridge.CreateFunction(
                    "Equals",
                    Bridge.WithExternal <System.Object>((o, args) => JavaScriptValue.FromBoolean(o.Equals(Bridge.GetExternal <System.Object>(args[1]))))
                    )
                );


            ObjectPrototype.SetProperty(
                "GetHashCode",
                Bridge.CreateFunction(
                    "GetHashCode",
                    Bridge.WithExternal <System.Object>((o, args) => JavaScriptValue.FromInt32(o.GetHashCode()))
                    )
                );


            ObjectPrototype.SetProperty(
                "GetType",
                Bridge.CreateFunction(
                    "GetType",
                    Bridge.WithExternal <System.Object>((o, args) => Bridge.CreateExternalWithPrototype(o.GetType()))
                    )
                );


            ObjectPrototype.SetProperty(
                "toString",
                Bridge.CreateFunction(
                    "ToString",
                    Bridge.WithExternal <System.Object>((o, args) => JavaScriptValue.FromString(o.ToString()))
                    )
                );
        }
Beispiel #22
0
 public void doRequestMovesAuthInApp()
 {
     Debug.Log("ButtonEvent doRequstMovesAuthInApp Called!");
     //Bridge.ShowCamera (12345);
     Bridge.doRequestMovesAuthInApp();
 }
	/*
	Set a complex graph from one bridge to a couple.
	The graph is designed to expose naive coloring on
	tarjan and SCC explosion on classic.
	*/
	static void Spider () {
		Bridge a = new Bridge ();
		Bridge b = new Bridge ();

		var l1 = new List<object> ();
		for (int i = 0; i < L0_COUNT; ++i) {
			var l0 = new List<object> ();
			l0.Add (a);
			l0.Add (b);
			l1.Add (l0);
		}
		var last_level = l1;
		for (int l = 0; l < EXTRA_LEVELS; ++l) {
			int j = 0;
			var l2 = new List<object> ();
			for (int i = 0; i < L1_COUNT; ++i) {
				var tmp = new List<object> ();
				tmp.Add (last_level [j++ % last_level.Count]);
				tmp.Add (last_level [j++ % last_level.Count]);
				l2.Add (tmp);
			}
			last_level = l2;
		}
		Bridge c = new Bridge ();
		c.Links.Add (last_level);
	}
        public async void Initialize()
        {
            var bridge = new Bridge("192.168.0.15")
            {
                UserName = "******"
            };

            var lights = await bridge.GetLightsAsync(CancellationToken.None);

            _colors.Subscribe(async x => await new[]
            {
                lights.ElementAt(0).SetXyAsync(x.Item1.ToXy()),
                lights.ElementAt(1).SetXyAsync(x.Item2.ToXy()),
                lights.ElementAt(2).SetXyAsync(x.Item1.ToXy()),
                lights.ElementAt(3).SetXyAsync(x.Item3.ToXy()),

            }.WhenAll());
        }
        public ZigbeeDevice FindDeviceById(string deviceId, out Bridge state)
        {
            state = _currentState;

            return(state.FindDevice(deviceId));
        }
 public void Clear()
 {
     _currentState = Bridge.Default;
 }
Beispiel #27
0
        public static void Register(JavaScriptContext context)
        {
            JavaScriptValue RaycastHitPrototype;
            JavaScriptValue RaycastHitConstructor = Bridge.CreateConstructor(
                typeof(UnityEngine.RaycastHit),
                (args) => { throw new System.NotImplementedException(); },
                out RaycastHitPrototype
                );

            JavaScriptValue
            .GlobalObject
            .GetProperty("UnityEngine")
            .SetProperty("RaycastHit", RaycastHitConstructor);


            // Static Fields


            // Static Property Accessors


            // Static Methods


            // Instance Fields


            // Instance Property Accessors

            Bridge.DefineGetter(
                RaycastHitPrototype,
                "collider",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.collider))
                );


            Bridge.DefineGetterSetter(
                RaycastHitPrototype,
                "point",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.point)),
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => { o.wrapped.point = Bridge.GetBoxedExternal <UnityEngine.Vector3>(args[1]).wrapped; })
                );


            Bridge.DefineGetterSetter(
                RaycastHitPrototype,
                "normal",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.normal)),
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => { o.wrapped.normal = Bridge.GetBoxedExternal <UnityEngine.Vector3>(args[1]).wrapped; })
                );


            Bridge.DefineGetterSetter(
                RaycastHitPrototype,
                "barycentricCoordinate",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.barycentricCoordinate)),
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => { o.wrapped.barycentricCoordinate = Bridge.GetBoxedExternal <UnityEngine.Vector3>(args[1]).wrapped; })
                );


            Bridge.DefineGetterSetter(
                RaycastHitPrototype,
                "distance",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => JavaScriptValue.FromDouble(o.wrapped.distance)),
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => { o.wrapped.distance = (float)args[1].ToDouble(); })
                );


            Bridge.DefineGetter(
                RaycastHitPrototype,
                "triangleIndex",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => JavaScriptValue.FromInt32(o.wrapped.triangleIndex))
                );


            Bridge.DefineGetter(
                RaycastHitPrototype,
                "textureCoord",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.textureCoord))
                );


            Bridge.DefineGetter(
                RaycastHitPrototype,
                "textureCoord2",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.textureCoord2))
                );


            Bridge.DefineGetter(
                RaycastHitPrototype,
                "transform",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.transform))
                );


            Bridge.DefineGetter(
                RaycastHitPrototype,
                "rigidbody",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.rigidbody))
                );


            Bridge.DefineGetter(
                RaycastHitPrototype,
                "lightmapCoord",
                Bridge.WithBoxedExternal <UnityEngine.RaycastHit>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.lightmapCoord))
                );


            // Instance Methods
        }
 private void tbxLinesWithPrefix_TextChanged(object sender, EventArgs e)
 {
     Bridge.Get().Set("Text.Spellcheck.Ignore.LinesWithPrefix", this.tbxLinesWithPrefix.Text);
     SpellcheckSettings.LinesWithPrefix = this.tbxLinesWithPrefix.Text;
 }
Beispiel #29
0
        public static void Register(JavaScriptContext context)
        {
            JavaScriptValue NetworkServerPrototype;
            JavaScriptValue NetworkServerConstructor = Bridge.CreateConstructor(
                typeof(UnityEngine.Networking.NetworkServer),
                (args) => { throw new NotImplementedException(); },
                out NetworkServerPrototype
                );

            JavaScriptValue
            .GlobalObject
            .GetProperty("UnityEngine")
            .GetProperty("Networking")
            .SetProperty("NetworkServer", NetworkServerConstructor);


            // Static Fields


            // Static Property Accessors

            Bridge.DefineGetter(
                NetworkServerConstructor,
                "localConnections",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Networking.NetworkServer.localConnections)
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "listenPort",
                (args) => JavaScriptValue.FromInt32(UnityEngine.Networking.NetworkServer.listenPort)
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "serverHostId",
                (args) => JavaScriptValue.FromInt32(UnityEngine.Networking.NetworkServer.serverHostId)
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "connections",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Networking.NetworkServer.connections)
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "handlers",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Networking.NetworkServer.handlers)
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "hostTopology",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Networking.NetworkServer.hostTopology)
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "objects",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Networking.NetworkServer.objects)
                );


            Bridge.DefineGetterSetter(
                NetworkServerConstructor,
                "dontListen",
                (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.dontListen),
                (args) => { UnityEngine.Networking.NetworkServer.dontListen = args[1].ToBoolean(); }
                );


            Bridge.DefineGetterSetter(
                NetworkServerConstructor,
                "useWebSockets",
                (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.useWebSockets),
                (args) => { UnityEngine.Networking.NetworkServer.useWebSockets = args[1].ToBoolean(); }
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "active",
                (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.active)
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "localClientActive",
                (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.localClientActive)
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "numChannels",
                (args) => JavaScriptValue.FromInt32(UnityEngine.Networking.NetworkServer.numChannels)
                );


            Bridge.DefineGetterSetter(
                NetworkServerConstructor,
                "maxDelay",
                (args) => JavaScriptValue.FromDouble(UnityEngine.Networking.NetworkServer.maxDelay),
                (args) => { UnityEngine.Networking.NetworkServer.maxDelay = (float)args[1].ToDouble(); }
                );


            Bridge.DefineGetter(
                NetworkServerConstructor,
                "networkConnectionClass",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Networking.NetworkServer.networkConnectionClass)
                );


            // Static Methods

            /*
             * NetworkServer SetNetworkConnectionClass
             * method has generics
             */


            NetworkServerConstructor.SetProperty(
                "Configure",
                Bridge.CreateFunction(
                    "Configure",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.Configure(Bridge.GetExternal <UnityEngine.Networking.ConnectionConfig>(args[1]), args[2].ToInt32()))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "Configure",
                Bridge.CreateFunction(
                    "Configure",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.Configure(Bridge.GetExternal <UnityEngine.Networking.HostTopology>(args[1])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "Reset",
                Bridge.CreateFunction(
                    "Reset",
                    (args) => UnityEngine.Networking.NetworkServer.Reset()
                    )
                );


            NetworkServerConstructor.SetProperty(
                "Shutdown",
                Bridge.CreateFunction(
                    "Shutdown",
                    (args) => UnityEngine.Networking.NetworkServer.Shutdown()
                    )
                );


            NetworkServerConstructor.SetProperty(
                "Listen",
                Bridge.CreateFunction(
                    "Listen",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.Listen(Bridge.GetExternal <UnityEngine.Networking.Match.MatchInfo>(args[1]), args[2].ToInt32()))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "ListenRelay",
                Bridge.CreateFunction(
                    "ListenRelay",
                    (args) => UnityEngine.Networking.NetworkServer.ListenRelay(args[1].ToString(), args[2].ToInt32(), Bridge.GetExternal <UnityEngine.Networking.Types.NetworkID>(args[3]), Bridge.GetExternal <UnityEngine.Networking.Types.SourceID>(args[4]), Bridge.GetExternal <UnityEngine.Networking.Types.NodeID>(args[5]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "Listen",
                Bridge.CreateFunction(
                    "Listen",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.Listen(args[1].ToInt32()))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "Listen",
                Bridge.CreateFunction(
                    "Listen",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.Listen(args[1].ToString(), args[2].ToInt32()))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "BecomeHost",
                Bridge.CreateFunction(
                    "BecomeHost",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Networking.NetworkServer.BecomeHost(Bridge.GetExternal <UnityEngine.Networking.NetworkClient>(args[1]), args[2].ToInt32(), Bridge.GetExternal <UnityEngine.Networking.Match.MatchInfo>(args[3]), args[4].ToInt32(), Bridge.GetExternal <UnityEngine.Networking.NetworkSystem.PeerInfoMessage[]>(args[5])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendToAll",
                Bridge.CreateFunction(
                    "SendToAll",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SendToAll(Bridge.GetExternal <System.Int16>(args[1]), Bridge.GetExternal <UnityEngine.Networking.MessageBase>(args[2])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendToReady",
                Bridge.CreateFunction(
                    "SendToReady",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SendToReady(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <System.Int16>(args[2]), Bridge.GetExternal <UnityEngine.Networking.MessageBase>(args[3])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendWriterToReady",
                Bridge.CreateFunction(
                    "SendWriterToReady",
                    (args) => UnityEngine.Networking.NetworkServer.SendWriterToReady(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <UnityEngine.Networking.NetworkWriter>(args[2]), args[3].ToInt32())
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendBytesToReady",
                Bridge.CreateFunction(
                    "SendBytesToReady",
                    (args) => UnityEngine.Networking.NetworkServer.SendBytesToReady(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <System.Byte[]>(args[2]), args[3].ToInt32(), args[4].ToInt32())
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendBytesToPlayer",
                Bridge.CreateFunction(
                    "SendBytesToPlayer",
                    (args) => UnityEngine.Networking.NetworkServer.SendBytesToPlayer(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <System.Byte[]>(args[2]), args[3].ToInt32(), args[4].ToInt32())
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendUnreliableToAll",
                Bridge.CreateFunction(
                    "SendUnreliableToAll",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SendUnreliableToAll(Bridge.GetExternal <System.Int16>(args[1]), Bridge.GetExternal <UnityEngine.Networking.MessageBase>(args[2])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendUnreliableToReady",
                Bridge.CreateFunction(
                    "SendUnreliableToReady",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SendUnreliableToReady(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <System.Int16>(args[2]), Bridge.GetExternal <UnityEngine.Networking.MessageBase>(args[3])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendByChannelToAll",
                Bridge.CreateFunction(
                    "SendByChannelToAll",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SendByChannelToAll(Bridge.GetExternal <System.Int16>(args[1]), Bridge.GetExternal <UnityEngine.Networking.MessageBase>(args[2]), args[3].ToInt32()))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendByChannelToReady",
                Bridge.CreateFunction(
                    "SendByChannelToReady",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SendByChannelToReady(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <System.Int16>(args[2]), Bridge.GetExternal <UnityEngine.Networking.MessageBase>(args[3]), args[4].ToInt32()))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "DisconnectAll",
                Bridge.CreateFunction(
                    "DisconnectAll",
                    (args) => UnityEngine.Networking.NetworkServer.DisconnectAll()
                    )
                );


            NetworkServerConstructor.SetProperty(
                "RegisterHandler",
                Bridge.CreateFunction(
                    "RegisterHandler",
                    (args) => UnityEngine.Networking.NetworkServer.RegisterHandler(Bridge.GetExternal <System.Int16>(args[1]), Bridge.GetExternal <UnityEngine.Networking.NetworkMessageDelegate>(args[2]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "UnregisterHandler",
                Bridge.CreateFunction(
                    "UnregisterHandler",
                    (args) => UnityEngine.Networking.NetworkServer.UnregisterHandler(Bridge.GetExternal <System.Int16>(args[1]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "ClearHandlers",
                Bridge.CreateFunction(
                    "ClearHandlers",
                    (args) => UnityEngine.Networking.NetworkServer.ClearHandlers()
                    )
                );


            NetworkServerConstructor.SetProperty(
                "ClearSpawners",
                Bridge.CreateFunction(
                    "ClearSpawners",
                    (args) => UnityEngine.Networking.NetworkServer.ClearSpawners()
                    )
                );


            /*
             * NetworkServer GetStatsOut
             * parameter numMsgs is out
             */


            /*
             * NetworkServer GetStatsIn
             * parameter numMsgs is out
             */


            NetworkServerConstructor.SetProperty(
                "SendToClientOfPlayer",
                Bridge.CreateFunction(
                    "SendToClientOfPlayer",
                    (args) => UnityEngine.Networking.NetworkServer.SendToClientOfPlayer(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <System.Int16>(args[2]), Bridge.GetExternal <UnityEngine.Networking.MessageBase>(args[3]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SendToClient",
                Bridge.CreateFunction(
                    "SendToClient",
                    (args) => UnityEngine.Networking.NetworkServer.SendToClient(args[1].ToInt32(), Bridge.GetExternal <System.Int16>(args[2]), Bridge.GetExternal <UnityEngine.Networking.MessageBase>(args[3]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "ReplacePlayerForConnection",
                Bridge.CreateFunction(
                    "ReplacePlayerForConnection",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.ReplacePlayerForConnection(Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[1]), Bridge.GetExternal <UnityEngine.GameObject>(args[2]), Bridge.GetExternal <System.Int16>(args[3]), Bridge.GetExternal <UnityEngine.Networking.NetworkHash128>(args[4])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "ReplacePlayerForConnection",
                Bridge.CreateFunction(
                    "ReplacePlayerForConnection",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.ReplacePlayerForConnection(Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[1]), Bridge.GetExternal <UnityEngine.GameObject>(args[2]), Bridge.GetExternal <System.Int16>(args[3])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "AddPlayerForConnection",
                Bridge.CreateFunction(
                    "AddPlayerForConnection",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.AddPlayerForConnection(Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[1]), Bridge.GetExternal <UnityEngine.GameObject>(args[2]), Bridge.GetExternal <System.Int16>(args[3]), Bridge.GetExternal <UnityEngine.Networking.NetworkHash128>(args[4])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "AddPlayerForConnection",
                Bridge.CreateFunction(
                    "AddPlayerForConnection",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.AddPlayerForConnection(Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[1]), Bridge.GetExternal <UnityEngine.GameObject>(args[2]), Bridge.GetExternal <System.Int16>(args[3])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SetClientReady",
                Bridge.CreateFunction(
                    "SetClientReady",
                    (args) => UnityEngine.Networking.NetworkServer.SetClientReady(Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[1]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SetAllClientsNotReady",
                Bridge.CreateFunction(
                    "SetAllClientsNotReady",
                    (args) => UnityEngine.Networking.NetworkServer.SetAllClientsNotReady()
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SetClientNotReady",
                Bridge.CreateFunction(
                    "SetClientNotReady",
                    (args) => UnityEngine.Networking.NetworkServer.SetClientNotReady(Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[1]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "DestroyPlayersForConnection",
                Bridge.CreateFunction(
                    "DestroyPlayersForConnection",
                    (args) => UnityEngine.Networking.NetworkServer.DestroyPlayersForConnection(Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[1]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "ClearLocalObjects",
                Bridge.CreateFunction(
                    "ClearLocalObjects",
                    (args) => UnityEngine.Networking.NetworkServer.ClearLocalObjects()
                    )
                );


            NetworkServerConstructor.SetProperty(
                "Spawn",
                Bridge.CreateFunction(
                    "Spawn",
                    (args) => UnityEngine.Networking.NetworkServer.Spawn(Bridge.GetExternal <UnityEngine.GameObject>(args[1]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SpawnWithClientAuthority",
                Bridge.CreateFunction(
                    "SpawnWithClientAuthority",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SpawnWithClientAuthority(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <UnityEngine.GameObject>(args[2])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SpawnWithClientAuthority",
                Bridge.CreateFunction(
                    "SpawnWithClientAuthority",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SpawnWithClientAuthority(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[2])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SpawnWithClientAuthority",
                Bridge.CreateFunction(
                    "SpawnWithClientAuthority",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SpawnWithClientAuthority(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <UnityEngine.Networking.NetworkHash128>(args[2]), Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[3])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "Spawn",
                Bridge.CreateFunction(
                    "Spawn",
                    (args) => UnityEngine.Networking.NetworkServer.Spawn(Bridge.GetExternal <UnityEngine.GameObject>(args[1]), Bridge.GetExternal <UnityEngine.Networking.NetworkHash128>(args[2]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "Destroy",
                Bridge.CreateFunction(
                    "Destroy",
                    (args) => UnityEngine.Networking.NetworkServer.Destroy(Bridge.GetExternal <UnityEngine.GameObject>(args[1]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "UnSpawn",
                Bridge.CreateFunction(
                    "UnSpawn",
                    (args) => UnityEngine.Networking.NetworkServer.UnSpawn(Bridge.GetExternal <UnityEngine.GameObject>(args[1]))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "FindLocalObject",
                Bridge.CreateFunction(
                    "FindLocalObject",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Networking.NetworkServer.FindLocalObject(Bridge.GetExternal <UnityEngine.Networking.NetworkInstanceId>(args[1])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "GetConnectionStats",
                Bridge.CreateFunction(
                    "GetConnectionStats",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Networking.NetworkServer.GetConnectionStats())
                    )
                );


            NetworkServerConstructor.SetProperty(
                "ResetConnectionStats",
                Bridge.CreateFunction(
                    "ResetConnectionStats",
                    (args) => UnityEngine.Networking.NetworkServer.ResetConnectionStats()
                    )
                );


            NetworkServerConstructor.SetProperty(
                "AddExternalConnection",
                Bridge.CreateFunction(
                    "AddExternalConnection",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.AddExternalConnection(Bridge.GetExternal <UnityEngine.Networking.NetworkConnection>(args[1])))
                    )
                );


            NetworkServerConstructor.SetProperty(
                "RemoveExternalConnection",
                Bridge.CreateFunction(
                    "RemoveExternalConnection",
                    (args) => UnityEngine.Networking.NetworkServer.RemoveExternalConnection(args[1].ToInt32())
                    )
                );


            NetworkServerConstructor.SetProperty(
                "SpawnObjects",
                Bridge.CreateFunction(
                    "SpawnObjects",
                    (args) => JavaScriptValue.FromBoolean(UnityEngine.Networking.NetworkServer.SpawnObjects())
                    )
                );


            // Instance Fields


            // Instance Property Accessors


            // Instance Methods
        }
 public NetworkPeerCollection()
 {
     this.MessageProducer = new MessageProducer <IncomingMessage>();
     this.bridge          = new Bridge(this.MessageProducer);
     this.networkPeers    = new ConcurrentDictionary <NetworkPeer, NetworkPeer>(new NetworkPeerComparer());
 }
Beispiel #31
0
        public override void Handler(Bridge bridge, BridgeEventArgs args)
        {
            switch (args.Tag)
            {
            default: throw new NotImplementedException();

            case nameof(create.AddItem) when !args.IsSuccessful: {
                Show(
                    $"При добавлении процессора \"{((create)DataContext).Item}\" произошла ошибка.",
                    "Ошибка"
                    );
                break;
            }

            case nameof(create.AddItem) when args.IsSuccessful: {
                if (Show(
                        $"Процессор \"{((create)DataContext).Item}\" успешно внесен в базу.\nОткрыть список процессоров?",
                        "Сообщение",
                        YesNo
                        ) == MessageBoxResult.Yes)
                {
                    MainWindowVM.Default.GoTo(Paths["indexPage"], null);
                }
                break;
            }

            case nameof(edit.EditItem) when !args.IsSuccessful: {
                Show(
                    $"При изменении \"{((edit)DataContext).OldItem}\" на \"{((edit)DataContext).Item}\" произошла ошибка.",
                    "Ошибка"
                    );
                break;
            }

            case nameof(edit.EditItem) when args.IsSuccessful: {
                if (Show(
                        $"Процессор \"{((edit)DataContext).OldItem}\" успешно изменен на \"{((edit)DataContext).Item}\".\nОткрыть список процессоров?",
                        "Сообщение",
                        YesNo
                        ) == MessageBoxResult.Yes)
                {
                    MainWindowVM.Default.GoTo(Paths["indexPage"], null);
                }
                break;
            }

            case nameof(index.DropItem) when !args.IsSuccessful: {
                Show(
                    $"При удалении \"{((index)DataContext).SelectedItem}\" произошла ошибка.",
                    "Ошибка"
                    );
                break;
            }

            case nameof(index.DropItem) when args.IsSuccessful: {
                MainWindowVM.Default.GoTo(Paths["indexPage"], null);
                break;
            }

            case nameof(index.SetSource) when args.IsSuccessful: break;

            case nameof(index.SetSource) when !args.IsSuccessful: {
                Show(
                    $"При загрузке списка процессоров произошла ошибка.",
                    "Ошибка"
                    );
                break;
            }

            case nameof(index.FilterSource) when args.IsSuccessful: break;

            case nameof(index.FilterSource) when !args.IsSuccessful: {
                Show(
                    $"При загрузке списка процессоров для выборки произошла ошибка.",
                    "Ошибка"
                    );
                break;
            }

            case nameof(validator.GetCopy) when args.IsSuccessful: break;

            case nameof(validator.GetCopy) when !args.IsSuccessful: {
                Show(
                    $"При загрузке списка производителей произошла ошибка.",
                    "Ошибка"
                    );
                break;
            }

            case nameof(validator.GetCopy) + "Socket" when args.IsSuccessful: break;

            case nameof(validator.GetCopy) + "Socket" when !args.IsSuccessful: {
                Show(
                    $"При загрузке списка сокетов произошла ошибка.",
                    "Ошибка"
                    );
                break;
            }
            }
        }
        //When the form is being close, make sure to stop all the motors and close the Phidget.
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            br.Attach -= new AttachEventHandler(br_Attach);
            br.Detach -= new DetachEventHandler(br_Detach);
            br.Error -= new ErrorEventHandler(br_Error);

            br.BridgeData -= new BridgeDataEventHandler(br_Data);

            //run any events in the message queue - otherwise close will hang if there are any outstanding events
            Application.DoEvents();

            br.close();

            br = null;
        }
 void Start()
 {
     bridge = GameObject.Find("Bridge").GetComponent<Bridge>();
 }
Beispiel #34
0
 public SceneMappingView(Bridge br)
 {
     _bridge = br;
     BuildSceneMapping();
 }
	/*
	 * Not necessarily a pathology, but a special case of where we
	 * generate lots of "dead" SCCs.  A non-bridge object that
	 * can't reach a bridge object can safely be removed from the
	 * graph.  In this special case it's a linked list hanging off
	 * a bridge object.  We can handle this by "forwarding" edges
	 * going to non-bridge nodes that have only a single outgoing
	 * edge.  That collapses the whole list into a single node.
	 * We could remove that node, too, by removing non-bridge
	 * nodes with no outgoing edges.
	 */
	static void SetupDeadList ()
	{
		var head = new Bridge ();
		var tail = new NonBridge ();
		head.Links.Add (tail);
		for (int i = 0; i < LIST_LENGTH; ++i)
		{
			var obj = new NonBridge ();
			tail.Link = obj;
			tail = obj;
		}
	}
Beispiel #36
0
 public static void FindBridge(Bridge br)
 {
     _bgw.RunWorkerAsync(br.Mac);
 }
Beispiel #37
0
    IEnumerator ProceduralLocal()
    {
        msg.Stop(Job.StartProcedural);
        msg.Start(Job.ProceduralPreparation);
        SimpleClient.jobStatus[jobNumber] = msg;

        this.transform.position = TilePosition - new Vector3((float)TileManager.TileWidth * (float)TileManager.Scaling / 2f, 0f, (float)TileManager.TileWidth * (float)TileManager.Scaling / 2f);
        terrain = this.gameObject.GetOrAddComponent <Terrain>();
        tC      = this.gameObject.GetOrAddComponent <TerrainCollider>();

        Building.Clear();
        Intersection.Clear();
        Street.Clear();
        Water.Clear();
        River.Clear();
        Bridge.Clear();

        unusedWays.Clear();
        streets.Clear();

        streetPolygons.Clear();

        msg.Stop(Job.ProceduralPreparation);

        #region LOD0
        if (lOD == 0)
        {
            Console.AddMessage("Procedural lod 0");
            Debug.Log("Procedural lod 0");
            #region terrain
            TerrainData terrainData = new TerrainData();

            //HeightMap
            terrainData.heightmapResolution = 257;
            float[,] heights = new float[257, 257];
            for (int x = 0; x < heights.GetLength(0); x++)
            {
                for (int y = 0; y < heights.GetLength(1); y++)
                {
                    heights[x, y] = 1f;
                }
            }

            terrainData.SetHeights(0, 0, heights);
            terrainData.size = new Vector3((float)TileManager.TileWidth * (float)TileManager.Scaling, 10f, (float)TileManager.TileWidth * (float)TileManager.Scaling);

            ////SplatPrototypes
            //SplatPrototype[] splatPrototypes = new SplatPrototype[1];
            //splatPrototypes[0] = new SplatPrototype();
            ////splatPrototypes[0].texture = (Texture2D)Resources.Load("Textures/White1px");
            //splatPrototypes[0].texture = (Texture2D)Resources.Load("Textures/Terrain/Grass (Hill)");

            //terrainData.splatPrototypes = splatPrototypes;

            terrain.terrainData = terrainData;
            tC.terrainData      = terrainData;
            #endregion terrain
            #region mesh
            TileMesh.Clear();

            Vertex[] tileQuadVertices = new Vertex[4];
            tileQuadVertices[0] = new Vertex(new Vector3((float)(-TileManager.TileWidth * TileManager.Scaling / 2d), 0f, (float)(-TileManager.TileWidth * TileManager.Scaling / 2d)) + TilePosition);
            tileQuadVertices[1] = new Vertex(new Vector3((float)(-TileManager.TileWidth * TileManager.Scaling / 2d), 0f, (float)(TileManager.TileWidth * TileManager.Scaling / 2d)) + TilePosition);
            tileQuadVertices[2] = new Vertex(new Vector3((float)(TileManager.TileWidth * TileManager.Scaling / 2d), 0f, (float)(TileManager.TileWidth * TileManager.Scaling / 2d)) + TilePosition);
            tileQuadVertices[3] = new Vertex(new Vector3((float)(TileManager.TileWidth * TileManager.Scaling / 2d), 0f, (float)(-TileManager.TileWidth * TileManager.Scaling / 2d)) + TilePosition);

            new Quad(tileQuadVertices, TileMesh, MaterialManager.GetMaterial("diffuseBrown"));

            TileMesh.FillMeshDivideMaterialsKeepMeshStructure(transform, true);
            #endregion
            Debug.Log("Procedural lod 0 - Done");
        }
        #endregion

        #region LOD5
        if (lOD == 5)
        {
            msg.Start(Job.CreateTerrain);
            SimpleClient.jobStatus[jobNumber] = msg;

            #region terrain
            if (terrain.terrainData == null)
            {
                terrain.terrainData = new TerrainData();
            }
            //HeightMap
            terrain.terrainData.heightmapResolution = 257;
            terrain.terrainData.alphamapResolution  = 257;

            float height = 0f;

            terrain.terrainData.SetHeights(0, 0, SRTMHeightProvider.GetInterpolatedTerrain(this.Query.BoundingBox, out height));
            terrain.terrainData.size = new Vector3((float)TileManager.TileWidth * (float)TileManager.Scaling, height, (float)TileManager.TileWidth * (float)TileManager.Scaling);

            tC.terrainData = terrain.terrainData;

            msg.Stop(Job.CreateTerrain);
            #endregion terrain
            #region mesh
            msg.Start(Job.MeshPreparation);
            SimpleClient.jobStatus[jobNumber] = msg;
            TileMesh.Clear();

            if (BackgroundMesh != null)
            {
                BackgroundMesh.Clear();
            }
            else
            {
                BackgroundMesh = new ModularMesh(TileMesh, "BackgroundMesh");
            }

            if (BuildingMesh != null)
            {
                BuildingMesh.Clear();
            }
            else
            {
                BuildingMesh = new ModularMesh(TileMesh, "BuildingMesh");
            }

            if (StreetMesh != null)
            {
                StreetMesh.Clear();
            }
            else
            {
                StreetMesh = new ModularMesh(TileMesh, "StreetMesh");
            }

            if (OtherMesh != null)
            {
                OtherMesh.Clear();
            }
            else
            {
                OtherMesh = new ModularMesh(TileMesh, "OtherMesh");
            }

            msg.Stop(Job.MeshPreparation);

            msg.Start(Job.TileQuad);
            SimpleClient.jobStatus[jobNumber] = msg;

            Vertex[] tileQuadVertices = new Vertex[4];
            tileQuadVertices[0] = new Vertex(new Vector3((float)(-TileManager.TileWidth * TileManager.Scaling / 2d), 0f, (float)(-TileManager.TileWidth * TileManager.Scaling / 2d)) + TilePosition);
            tileQuadVertices[1] = new Vertex(new Vector3((float)(-TileManager.TileWidth * TileManager.Scaling / 2d), 0f, (float)(TileManager.TileWidth * TileManager.Scaling / 2d)) + TilePosition);
            tileQuadVertices[2] = new Vertex(new Vector3((float)(TileManager.TileWidth * TileManager.Scaling / 2d), 0f, (float)(TileManager.TileWidth * TileManager.Scaling / 2d)) + TilePosition);
            tileQuadVertices[3] = new Vertex(new Vector3((float)(TileManager.TileWidth * TileManager.Scaling / 2d), 0f, (float)(-TileManager.TileWidth * TileManager.Scaling / 2d)) + TilePosition);

            new Quad(tileQuadVertices, BackgroundMesh, MaterialManager.GetMaterial("diffuseBlack"));
            msg.Stop(Job.TileQuad);


            yield return(null);

            msg.Start(Job.River);
            SimpleClient.jobStatus[jobNumber] = msg;

            //Create Domain Objects
            ///Relations
            foreach (KeyValuePair <long, OSMRelation> kV in Query.OSM.relations)
            {
                OSMRelation relation = kV.Value;

                River.TryCreateFromOSM(relation, this);
                yield return(null);
            }
            msg.Stop(Job.River);

            msg.Start(Job.Ways);
            SimpleClient.jobStatus[jobNumber] = msg;

            ///Ways
            foreach (KeyValuePair <long, OSMWay> kV in Query.OSM.ways)
            {
                OSMWay way = kV.Value;

                if (!way.FirstInBounds(Query.BoundingBox, Query.OSM))
                {
                    continue;
                }

                if (!Building.TryCreateFromOSM(way, this))
                {
                    if (!Intersection.TryCreateFromOSM(way, this))
                    {
                        if (!Water.TryCreateFromOSM(way, this))
                        {
                        }
                    }
                }

                yield return(null);
            }
            msg.Stop(Job.Ways);

            //Nodes!?
            //foreach (KeyValuePair<long, OSMNode> kV in Query.OSM.nodes)
            //{
            //    OSMNode node = kV.Value;
            //    TrafficSignal.TryCreateFromOSM(node, this);
            //}

            //Debug.Log("CreateStreets");
            ////Create Streets (and Bridges)
            //Street.CreateStreets(this);



            //CreateTheMeshes
            //Debug.Log("CreateAllMeshes StreetMesh");
            //Street.CreateAllMeshes(StreetMesh);

            //Debug.Log("CreateAllMeshes StreetMesh Bridge");
            //Bridge.CreateAllMeshes(StreetMesh);
            //Debug.Log("CreateAllMeshes StreetMesh Intersection");
            //Intersection.CreateAllMeshes(StreetMesh);

            //Debug.Log("CreateAllMeshes StreetMesh Street");
            //Street.CreateAllMeshes(StreetMesh); // A second time, cause Intersections change streetproperties
            msg.Start(Job.CreateBuildingMesh);
            SimpleClient.jobStatus[jobNumber] = msg;

            Building.CreateAllMeshes(BuildingMesh);
            msg.Stop(Job.CreateBuildingMesh);
            //Debug.Log("CreateAllMeshes Water");
            //Water.CreateAllMeshes(OtherMesh);
            //Debug.Log("CreateAllMeshes TrafficSignal");
            //TrafficSignal.CreateAllMeshes(OtherMesh);

            //StreetPolygon currentStreetPolygon;
            //bool hasLeftPolygon = false;
            //bool hasRightPolygon = false;
            //for (int i = 0; i < streets.Count; i++)
            //{
            //    for (int j = 0; j < streetPolygons.Count; j++)
            //    {
            //        hasLeftPolygon = streetPolygons[j].IsLefthandPolygonOf(streets[i]);
            //        hasRightPolygon = streetPolygons[j].IsRighthandPolygonOf(streets[i]);
            //    }
            //    if (!hasLeftPolygon)
            //    {
            //        if (StreetPolygon.GetLefthandStreetPolygon(streets[i], out currentStreetPolygon))
            //            streetPolygons.Add(currentStreetPolygon);
            //    }
            //    if (!hasRightPolygon)
            //    {
            //        if (StreetPolygon.GetRighthandStreetPolygon(streets[i], out currentStreetPolygon))
            //            streetPolygons.Add(currentStreetPolygon);
            //    }

            //    hasLeftPolygon = false;
            //    hasRightPolygon = false;
            //}

            //for (int i = 0; i < streetPolygons.Count; i++)
            //{
            //    streetPolygons[i].Triangulate(StreetMesh , MaterialManager.GetMaterial("error"));
            //}


            msg.Start(Job.FillMeshDivideMaterials);
            SimpleClient.jobStatus[jobNumber] = msg;
            TileMesh.FillMeshDivideMaterialsKeepMeshStructure(transform, true);
            msg.Stop(Job.FillMeshDivideMaterials);
            #endregion
        }
        #endregion

        msg.Start(Job.GarbageCollection);
        SimpleClient.jobStatus[jobNumber] = msg;
        System.GC.Collect();
        msg.Stop(Job.GarbageCollection);

        yield return(null);

        msg.Start(Job.ProceduralDone);
        SimpleClient.jobStatus[jobNumber] = msg;
        OnProceduralDoneLocal();
        msg.Stop(Job.Worker);
        msg.Stop();

        yield return(true);
    }
Beispiel #38
0
        public static void Register(JavaScriptContext context)
        {
            JavaScriptValue IEnumerablePrototype;
            JavaScriptValue IEnumerableConstructor = Bridge.CreateConstructor(
                typeof(System.Collections.IEnumerable),
                (args) => { throw new System.NotImplementedException(); },
                out IEnumerablePrototype
                );

            JavaScriptValue
            .GlobalObject
            .GetProperty("System")
            .GetProperty("Collections")
            .SetProperty("IEnumerable", IEnumerableConstructor);


            // Static Fields


            // Static Property Accessors


            // Static Methods


            // Instance Fields


            // Instance Property Accessors


            // Instance Methods

            IEnumerablePrototype.SetProperty(
                "GetEnumerator",
                Bridge.CreateFunction(
                    "GetEnumerator",
                    Bridge.WithExternal <System.Collections.IEnumerable>((o, args) => Bridge.CreateExternalWithPrototype(o.GetEnumerator()))
                    )
                );


            IEnumerablePrototype.SetProperty(
                JavaScriptValue.GlobalObject.GetProperty("Symbol").GetProperty("iterator").GetPropertyIdFromSymbol(),
                Bridge.CreateFunction(
                    "Iterator",
                    Bridge.WithExternal <System.Collections.IEnumerable>((o, args) => {
                JavaScriptValue iteratorObj = Bridge.CreateExternalWithPrototype(o.GetEnumerator());

                iteratorObj.SetProperty("next", Bridge.CreateFunction(Bridge.WithExternal <System.Collections.IEnumerator>((enumerator, nextArgs) => {
                    // returns { value: "h", done: false }
                    JavaScriptValue nextObj = JavaScriptValue.CreateObject();

                    bool more = enumerator.MoveNext();
                    nextObj.SetProperty("done", JavaScriptValue.FromBoolean(!more));

                    JavaScriptValue value = JavaScriptValue.Undefined;
                    if (more)
                    {
                        value = Bridge.CreateExternalWithPrototype(enumerator.Current);
                    }
                    nextObj.SetProperty("value", value);

                    return(nextObj);
                })));

                return(iteratorObj);
            })
                    )
                );
        }
Beispiel #39
0
        private void OverlayEntities(MapElement entities, Bitmap map, VirtualMap <char> solids, bool background)
        {
            CassetteBlock.Blocks.Clear();

            using (Graphics g = Graphics.FromImage(map)) {
                List <Entity> ents = new List <Entity>();
                for (int i = entities.Children.Count - 1; i >= 0; i--)
                {
                    MapElement child = entities.Children[i];

                    Entity entity = null;
                    if (child.Name.IndexOf("spikes", StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        entity = background ? Spikes.FromElement(child) : null;
                    }
                    else if (child.Name.IndexOf("triggerSpikes", StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        entity = background ? TriggerSpikes.FromElement(child) : null;
                    }
                    else if (child.Name.IndexOf("strawberry", StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        entity = background ? Strawberry.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("goldenBerry", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Strawberry.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("redBlocks", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ClutterBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("greenBlocks", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ClutterBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("yellowBlocks", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ClutterBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("clutterCabinet", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ClutterCabinet.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("introCar", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? IntroCar.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("clothesLine", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ClothesLine.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("colorSwitch", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ColorSwitch.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("memorialTextController", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Strawberry.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("bonfire", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Bonfire.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("trapDoor", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? TrapDoor.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("movingPlatform", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? MovingPlatform.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("sinkingPlatform", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? SinkingPlatform.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("clutterDoor", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ClutterDoor.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("bridge", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Bridge.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("bridgeFixed", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? BridgeFixed.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("jumpThru", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? JumpThru.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("door", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Door.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("blockField", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? BlockField.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("lamp", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Lamp.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("hahaha", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Haha.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("waterFall", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? WaterFall.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("water", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Water.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("key", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Key.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("resortLantern", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ResortLantern.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("bird", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Bird.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("memorial", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Memorial.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("player", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? PlayerSpawn.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("zipMover", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ZipMover.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("wire", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Wire.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("crumbleBlock", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? CrumbleBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("refill", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Refill.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("spring", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Spring.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("fakeWall", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? FakeWall.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("exitBlock", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? FakeWall.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("lightBeam", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? LightBeam.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("cobweb", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Cobweb.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("cassette", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Cassette.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("flutterBird", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? FlutterBird.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("checkpoint", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Checkpoint.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("fallingBlock", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? FallingBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("introCrusher", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? FallingBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("cassetteBlock", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? CassetteBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("dashBlock", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? DashBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("coverupWall", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? CoverupWall.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("npc", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? NPC.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("birdForsakenCityGem", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? ForsakenCityGem.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("soundSource", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? SoundSource.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("friendlyGhost", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? FriendlyGhost.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("floatingDebris", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? FloatingDebris.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("hangingLamp", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? HangingLamp.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("lockBlock", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? LockBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("heartGem", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? HeartGem.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("blackGem", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? HeartGem.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("dreamMirror", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? DreamMirror.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("darkChaser", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? DarkChaser.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("dreamBlock", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? DreamBlock.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("touchSwitch", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? TouchSwitch.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("switchGate", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? SwitchGate.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("invisibleBarrier", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? InvisibleBarrier.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("payphone", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Payphone.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("spinner", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? Spinner.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("rotateSpinner", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? RotateSpinner.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("trackSpinner", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? TrackSpinner.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("towerViewer", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = background ? TowerViewer.FromElement(child) : null;
                    }
                    else if (child.Name.Equals("foregroundDebris", StringComparison.OrdinalIgnoreCase))
                    {
                        entity = !background?ForegroundDebris.FromElement(child) : null;
                    }
                    else if (background)
                    {
                        Console.WriteLine(child.Name);
                    }
                    if (entity != null)
                    {
                        ents.Add(entity);
                    }
                }

                ents.Sort(delegate(Entity one, Entity two) {
                    int comp = two.Depth.CompareTo(one.Depth);
                    return(comp == 0 ? one.ID.CompareTo(two.ID) : comp);
                });

                for (int i = 0; i < ents.Count; i++)
                {
                    Entity entity = ents[i];
                    entity.Render(g, solids);
                }
            }
        }
 private void cbxIgnoreWordsWithAsianChars_CheckedChanged(object sender, EventArgs e)
 {
     Bridge.Get().Set("Text.Spellcheck.Ignore.WithAsian", this.cbxIgnoreWordsWithAsianChars.Checked);
     SpellcheckSettings.IgnoreWithAsian = this.cbxIgnoreWordsWithAsianChars.Checked;
 }
Beispiel #41
0
		/*
		 * Triggered a bug in the forwarding mechanic.
		 * This is a functional test, not a performance test, so Tests.cs does not include it.
		 */
		static void SetupSelfLinks()
		{
			var head = new Bridge();
			var tail = new NonBridge();
			head.Links.Add(tail);
			tail.Link = tail;
			logger.Info("GC bridge: \"self links\" setup done");
		}
 private void cbxIgnoreAllCaps_CheckedChanged(object sender, EventArgs e)
 {
     Bridge.Get().Set("Text.Spellcheck.Ignore.AllCaps", this.cbxIgnoreAllCaps.Checked);
     SpellcheckSettings.IgnoreAllCaps = this.cbxIgnoreAllCaps.Checked;
 }
Beispiel #43
0
 public void ExampleSimpleTest()
 {
     driver = new ChromeDriver();
     Bridge.LogMessage(ReportPortal.Client.Models.LogLevel.Trace, "class1 test4 log messzzxxzxzage");
     driver.Close();
 }
 private void cbxEnableInlineSpellcheck_CheckedChanged(object sender, EventArgs e)
 {
     Bridge.Get().Set("Text.Style.Spellcheck.DisplayMode", this.cbxEnableInlineSpellcheck.Checked ? TextStyleDisplayMode.Always : TextStyleDisplayMode.Hidden);
     SpellcheckSettings.InlineEnabled = this.cbxEnableInlineSpellcheck.Checked;
 }
Beispiel #45
0
        private void Save(Bridge.Translator.Translator translator) {
            Dictionary<string, LuaFileInfo> luaFiles = translator.ParsedSourceFiles.ToDictionary(i => i.FileName, i => new LuaFileInfo(i.FileName));

            var usings = Bridge.Translator.Lua.EmitBlock.UsingNamespaces;
            foreach(var pair in usings) {
                string fileName = GetFileName(pair.Key);
                luaFiles[fileName].AddUsingDeclaration(pair.Value);
            }

            var types = GetEnableTypeInfos(translator.Types);
            foreach(var type in types) {
                string content = translator.Outputs[type.Key];  
                string fileName = GetFileName(type);
                luaFiles[fileName].AddType(type, content);
            }

            foreach(LuaFileInfo luaFileInfo in luaFiles.Values) {
                luaFileInfo.Save(folder_, output_);
            }

            SaveManifests(luaFiles.Values.ToList(), types);
        }
Beispiel #46
0
 /// <summary>
 /// Create a print payload.
 /// </summary>
 /// <param name="greyscale">Should items be printed in color. Defaults to `true`.</param>
 /// <param name="landscape">Should items be printed in landscape orientation. Defaults to `false`.</param>
 public PrintPayload(bool color = true, bool landscape = false) : base(Supported ? Bridge.CreatePrintPayload(color, landscape) : IntPtr.Zero)
 {
 }
Beispiel #47
0
        public static void Register(JavaScriptContext context)
        {
            JavaScriptValue PhysicMaterialPrototype;
            JavaScriptValue PhysicMaterialConstructor = Bridge.CreateConstructor(
                typeof(UnityEngine.PhysicMaterial),
                (args) => { throw new System.NotImplementedException(); },
                out PhysicMaterialPrototype
                );

            JavaScriptValue
            .GlobalObject
            .GetProperty("UnityEngine")
            .SetProperty("PhysicMaterial", PhysicMaterialConstructor);


            // Static Fields


            // Static Property Accessors


            // Static Methods


            // Instance Fields


            // Instance Property Accessors

            Bridge.DefineGetterSetter(
                PhysicMaterialPrototype,
                "bounciness",
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => JavaScriptValue.FromDouble(o.bounciness)),
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => { o.bounciness = (float)args[1].ToDouble(); })
                );


            Bridge.DefineGetterSetter(
                PhysicMaterialPrototype,
                "dynamicFriction",
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => JavaScriptValue.FromDouble(o.dynamicFriction)),
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => { o.dynamicFriction = (float)args[1].ToDouble(); })
                );


            Bridge.DefineGetterSetter(
                PhysicMaterialPrototype,
                "staticFriction",
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => JavaScriptValue.FromDouble(o.staticFriction)),
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => { o.staticFriction = (float)args[1].ToDouble(); })
                );


            Bridge.DefineGetterSetter(
                PhysicMaterialPrototype,
                "frictionCombine",
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => Bridge.CreateExternalWithPrototype(o.frictionCombine)),
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => { o.frictionCombine = Bridge.GetExternal <UnityEngine.PhysicMaterialCombine>(args[1]); })
                );


            Bridge.DefineGetterSetter(
                PhysicMaterialPrototype,
                "bounceCombine",
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => Bridge.CreateExternalWithPrototype(o.bounceCombine)),
                Bridge.WithExternal <UnityEngine.PhysicMaterial>((o, args) => { o.bounceCombine = Bridge.GetExternal <UnityEngine.PhysicMaterialCombine>(args[1]); })
                );


            // Instance Methods
        }
Beispiel #48
0
 public CyberWriter(Bridge bridge, string topic)
 {
     Bridge = bridge;
     Topic  = topic;
 }
        private void Form1_Load(object sender, EventArgs e)
        {
            br = new Bridge();

            br.Attach += new AttachEventHandler(br_Attach);
            br.Detach += new DetachEventHandler(br_Detach);
            br.Error += new ErrorEventHandler(br_Error);

            br.BridgeData += new BridgeDataEventHandler(br_Data);

            openCmdLine(br);
        }
Beispiel #50
0
        public void RecordConnectionFailed(ConnectionFailureType failureType, ref SocketManager.ManagerState managerState, Exception innerException = null, [CallerMemberName] string origin = null)
        {
            IdentifyFailureType(innerException, ref failureType);

            managerState = SocketManager.ManagerState.RecordConnectionFailed_OnInternalError;
            if (failureType == ConnectionFailureType.InternalFailure)
            {
                OnInternalError(innerException, origin);
            }

            // stop anything new coming in...
            Bridge.Trace("Failed: " + failureType);
            bool isCurrent;

            PhysicalBridge.State oldState;
            int @in = -1, ar = -1;

            managerState = SocketManager.ManagerState.RecordConnectionFailed_OnDisconnected;
            Bridge.OnDisconnected(failureType, this, out isCurrent, out oldState);
            if (oldState == PhysicalBridge.State.ConnectedEstablished)
            {
                try
                {
                    @in = GetAvailableInboundBytes(out ar);
                }
                catch { /* best effort only */ }
            }

            if (isCurrent && Interlocked.CompareExchange(ref failureReported, 1, 0) == 0)
            {
                managerState = SocketManager.ManagerState.RecordConnectionFailed_ReportFailure;
                int now = Environment.TickCount, lastRead = VolatileWrapper.Read(ref lastReadTickCount), lastWrite = VolatileWrapper.Read(ref lastWriteTickCount),
                    lastBeat       = VolatileWrapper.Read(ref lastBeatTickCount);
                int unansweredRead = VolatileWrapper.Read(ref firstUnansweredWriteTickCount);

                var exMessage = new StringBuilder(failureType + " on " + Format.ToString(Bridge.ServerEndPoint.EndPoint) + "/" + connectionType);
                var data      = new List <Tuple <string, string> >
                {
                    Tuple.Create("FailureType", failureType.ToString()),
                    Tuple.Create("EndPoint", Format.ToString(Bridge.ServerEndPoint.EndPoint))
                };
                Action <string, string, string> add = (lk, sk, v) =>
                {
                    data.Add(Tuple.Create(lk, v));
                    exMessage.Append(", " + sk + ": " + v);
                };

                add("Origin", "origin", origin);
                add("Input-Buffer", "input-buffer", ioBufferBytes.ToString());
                add("Outstanding-Responses", "outstanding", GetSentAwaitingResponseCount().ToString());
                add("Last-Read", "last-read", unchecked (now - lastRead) / 1000 + "s ago");
                add("Last-Write", "last-write", unchecked (now - lastWrite) / 1000 + "s ago");
                add("Unanswered-Write", "unanswered-write", unchecked (now - unansweredRead) / 1000 + "s ago");
                add("Keep-Alive", "keep-alive", Bridge.ServerEndPoint.WriteEverySeconds + "s");
                add("Pending", "pending", Bridge.GetPendingCount().ToString());
                add("Previous-Physical-State", "state", oldState.ToString());

                if (@in >= 0)
                {
                    add("Inbound-Bytes", "in", @in.ToString());
                    add("Active-Readers", "ar", ar.ToString());
                }

                add("Last-Heartbeat", "last-heartbeat", (lastBeat == 0 ? "never" : (unchecked (now - lastBeat) / 1000 + "s ago")) + (Bridge.IsBeating ? " (mid-beat)" : ""));
                add("Last-Multiplexer-Heartbeat", "last-mbeat", Multiplexer.LastHeartbeatSecondsAgo + "s ago");
                add("Last-Global-Heartbeat", "global", ConnectionMultiplexer.LastGlobalHeartbeatSecondsAgo + "s ago");
#if FEATURE_SOCKET_MODE_POLL
                var mgr = Bridge.Multiplexer.SocketManager;
                add("SocketManager-State", "mgr", mgr.State.ToString());
                add("Last-Error", "err", mgr.LastErrorTimeRelative());
#endif

                var ex = innerException == null
                    ? new RedisConnectionException(failureType, exMessage.ToString())
                    : new RedisConnectionException(failureType, exMessage.ToString(), innerException);

                foreach (var kv in data)
                {
                    ex.Data["Redis-" + kv.Item1] = kv.Item2;
                }

                managerState = SocketManager.ManagerState.RecordConnectionFailed_OnConnectionFailed;
                Bridge.OnConnectionFailed(this, failureType, ex);
            }

            // cleanup
            managerState = SocketManager.ManagerState.RecordConnectionFailed_FailOutstanding;
            lock (outstanding)
            {
                Bridge.Trace(outstanding.Count != 0, "Failing outstanding messages: " + outstanding.Count);
                while (outstanding.Count != 0)
                {
                    var next = outstanding.Dequeue();
                    Bridge.Trace("Failing: " + next);
                    next.Fail(failureType, innerException);
                    Bridge.CompleteSyncOrAsync(next);
                }
            }

            // burn the socket
            managerState = SocketManager.ManagerState.RecordConnectionFailed_ShutdownSocket;
            Multiplexer.SocketManager?.Shutdown(socketToken);
        }
 public NodesCollection()
 {
     bridge = new Bridge(_MessageProducer);
 }
Beispiel #52
0
        void MatchResult(RawResult result)
        {
            // check to see if it could be an out-of-band pubsub message
            if (connectionType == ConnectionType.Subscription && result.Type == ResultType.MultiBulk)
            {   // out of band message does not match to a queued message
                var items = result.GetItems();
                if (items.Length >= 3 && items[0].IsEqual(message))
                {
                    // special-case the configuration change broadcasts (we don't keep that in the usual pub/sub registry)
                    var configChanged = Multiplexer.ConfigurationChangedChannel;
                    if (configChanged != null && items[1].IsEqual(configChanged))
                    {
                        EndPoint blame = null;
                        try
                        {
                            if (!items[2].IsEqual(RedisLiterals.ByteWildcard))
                            {
                                blame = Format.TryParseEndPoint(items[2].GetString());
                            }
                        }
                        catch { /* no biggie */ }
                        Multiplexer.Trace("Configuration changed: " + Format.ToString(blame), physicalName);
                        Multiplexer.ReconfigureIfNeeded(blame, true, "broadcast");
                    }

                    // invoke the handlers
                    var channel = items[1].AsRedisChannel(ChannelPrefix, RedisChannel.PatternMode.Literal);
                    Multiplexer.Trace("MESSAGE: " + channel, physicalName);
                    if (!channel.IsNull)
                    {
                        Multiplexer.OnMessage(channel, channel, items[2].AsRedisValue());
                    }
                    return; // AND STOP PROCESSING!
                }
                else if (items.Length >= 4 && items[0].IsEqual(pmessage))
                {
                    var channel = items[2].AsRedisChannel(ChannelPrefix, RedisChannel.PatternMode.Literal);
                    Multiplexer.Trace("PMESSAGE: " + channel, physicalName);
                    if (!channel.IsNull)
                    {
                        var sub = items[1].AsRedisChannel(ChannelPrefix, RedisChannel.PatternMode.Pattern);
                        Multiplexer.OnMessage(sub, channel, items[3].AsRedisValue());
                    }
                    return; // AND STOP PROCESSING!
                }

                // if it didn't look like "[p]message", then we still need to process the pending queue
            }
            Multiplexer.Trace("Matching result...", physicalName);
            Message msg;

            lock (outstanding)
            {
                Multiplexer.Trace(outstanding.Count == 0, "Nothing to respond to!", physicalName);
                msg = outstanding.Dequeue();
            }

            Multiplexer.Trace("Response to: " + msg.ToString(), physicalName);
            if (msg.ComputeResult(this, result))
            {
                Bridge.CompleteSyncOrAsync(msg);
            }
        }
	/*
	 * Pathological case for the bridge in general.  We generate
	 * 2*FAN_OUT bridge objects here, but the output of the bridge
	 * is a graph with FAN_OUT^2 edges.
	 */
	static void SetupDoubleFan ()
	{
		var heads = new Bridge [FAN_OUT];
		for (int i = 0; i < FAN_OUT; ++i)
			heads [i] = new Bridge ();

		// We make five identical multiplexers to verify Tarjan-bridge can merge them together correctly.
		var MULTIPLEXER_COUNT = 5;
		Bridge[] multiplexer0 = null;
		for(int m = 0; m < MULTIPLEXER_COUNT; m++) {
			var multiplexer = new Bridge [FAN_OUT];
			if (m == 0) {
				multiplexer0 = multiplexer;
				for (int i = 0; i < FAN_OUT; ++i)
				{
					heads [i].Links.Add (multiplexer);
					multiplexer [i] = new Bridge ();
				}
			} else {
				for (int i = 0; i < FAN_OUT; ++i)
				{
					heads [i].Links.Add (multiplexer);
					multiplexer [i] = multiplexer0 [i];
				}
			}
		}

		Console.WriteLine ("-double fan x5 done-");
	}
        private bool GotoNext()
        {
            if (LanguageFeature.SupportsFeature(this.textView.Language, "Spellcheck.Check") == false)
            {
                return(false);
            }

            var searchFrom = Math.Max(0, this.selectionStart);

            var regex = new Regex(InvariantStrings.REGEX_WORD_BARRIER_STRICT + "([\\w'-]+?)" + InvariantStrings.REGEX_WORD_BARRIER_STRICT);

            var text = this.textView.TextGet();

            while (true)
            {
                var match = regex.Match(text, searchFrom);

                if (match.Success == false)
                {
                    break;
                }

                var value = match.Groups[2];

                // Check for unwanted match characters, and abort if so is instructed.
                if (SpellcheckSettings.CheckIfWordIsValid(value.Value, this.textView.GetLineText(this.textView.GetLineFromCharIndex(searchFrom))) == false)
                {
                    searchFrom += value.Length;
                    continue;
                }

                var spellcheckValid = false;
                foreach (var check in LanguageFeature.FeatureFetchMultiple <bool>(this.textView.Language, "Spellcheck.Check", new LFSString(value.Value)))
                {
                    spellcheckValid = check;
                    if (spellcheckValid)
                    {
                        break;
                    }
                }

                if (spellcheckValid == false)
                {
                    this.lbxSuggestions.Items.Clear();

                    Tag = new object();

                    this.textView.SelectionStart  = this.selectionStart = value.Index;
                    this.textView.SelectionLength = this.selectionLength = value.Length;
                    this.textView.ScrollToCaret();

                    Tag = null;

                    foreach (string suggestion in LanguageFeature.FeatureFetchMultiple <string>(this.textView.Language, "Spellcheck.Suggest", new LFSString(value.Value)))
                    {
                        this.lbxSuggestions.Items.Add(suggestion);
                    }

                    if (this.lbxSuggestions.Items.Count == 0)
                    {
                        this.tbxReplaceWith.Clear();
                        this.tbxReplaceWith.Focus();
                    }
                    else
                    {
                        this.lbxSuggestions.SelectedIndex = 0;
                    }

                    return(true);
                }

                searchFrom += value.Length;
            }

            Bridge.Get().Info(Strings.Spellchecking_EndOfText_Success, Strings.Spellchecking_Title);
            return(false);
        }
	/*
	 * Triggered a bug in the forwarding mechanic.
	 */
	static void SetupSelfLinks ()
	{
		var head = new Bridge ();
		var tail = new NonBridge ();
		head.Links.Add (tail);
		tail.Link = tail;
	}
Beispiel #56
0
        public static void Register(JavaScriptContext context)
        {
            JavaScriptValue Vector4Prototype;
            JavaScriptValue Vector4Constructor = Bridge.CreateConstructor(
                typeof(UnityEngine.Vector4),
                (args) => { throw new System.NotImplementedException(); },
                out Vector4Prototype
                );

            JavaScriptValue
            .GlobalObject
            .GetProperty("UnityEngine")
            .SetProperty("Vector4", Vector4Constructor);


            // Static Fields

            Vector4Constructor.SetProperty(
                "kEpsilon",
                JavaScriptValue.FromDouble(UnityEngine.Vector4.kEpsilon)
                );


            // Static Property Accessors

            Bridge.DefineGetter(
                Vector4Constructor,
                "zero",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.zero)
                );


            Bridge.DefineGetter(
                Vector4Constructor,
                "one",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.one)
                );


            Bridge.DefineGetter(
                Vector4Constructor,
                "positiveInfinity",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.positiveInfinity)
                );


            Bridge.DefineGetter(
                Vector4Constructor,
                "negativeInfinity",
                (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.negativeInfinity)
                );


            // Static Methods

            Vector4Constructor.SetProperty(
                "Lerp",
                Bridge.CreateFunction(
                    "Lerp",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.Lerp(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped, Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[2]).wrapped, (float)args[3].ToDouble()))
                    )
                );


            Vector4Constructor.SetProperty(
                "LerpUnclamped",
                Bridge.CreateFunction(
                    "LerpUnclamped",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.LerpUnclamped(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped, Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[2]).wrapped, (float)args[3].ToDouble()))
                    )
                );


            Vector4Constructor.SetProperty(
                "MoveTowards",
                Bridge.CreateFunction(
                    "MoveTowards",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.MoveTowards(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped, Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[2]).wrapped, (float)args[3].ToDouble()))
                    )
                );


            Vector4Constructor.SetProperty(
                "Scale",
                Bridge.CreateFunction(
                    "Scale",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.Scale(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped, Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[2]).wrapped))
                    )
                );


            Vector4Constructor.SetProperty(
                "Normalize",
                Bridge.CreateFunction(
                    "Normalize",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.Normalize(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped))
                    )
                );


            Vector4Constructor.SetProperty(
                "Dot",
                Bridge.CreateFunction(
                    "Dot",
                    (args) => JavaScriptValue.FromDouble(UnityEngine.Vector4.Dot(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped, Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[2]).wrapped))
                    )
                );


            Vector4Constructor.SetProperty(
                "Project",
                Bridge.CreateFunction(
                    "Project",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.Project(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped, Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[2]).wrapped))
                    )
                );


            Vector4Constructor.SetProperty(
                "Distance",
                Bridge.CreateFunction(
                    "Distance",
                    (args) => JavaScriptValue.FromDouble(UnityEngine.Vector4.Distance(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped, Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[2]).wrapped))
                    )
                );


            Vector4Constructor.SetProperty(
                "Magnitude",
                Bridge.CreateFunction(
                    "Magnitude",
                    (args) => JavaScriptValue.FromDouble(UnityEngine.Vector4.Magnitude(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped))
                    )
                );


            Vector4Constructor.SetProperty(
                "Min",
                Bridge.CreateFunction(
                    "Min",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.Min(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped, Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[2]).wrapped))
                    )
                );


            Vector4Constructor.SetProperty(
                "Max",
                Bridge.CreateFunction(
                    "Max",
                    (args) => Bridge.CreateExternalWithPrototype(UnityEngine.Vector4.Max(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped, Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[2]).wrapped))
                    )
                );


            Vector4Constructor.SetProperty(
                "SqrMagnitude",
                Bridge.CreateFunction(
                    "SqrMagnitude",
                    (args) => JavaScriptValue.FromDouble(UnityEngine.Vector4.SqrMagnitude(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped))
                    )
                );


            // Instance Fields

            Bridge.DefineGetterSetter(
                Vector4Prototype,
                "x",
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromDouble(o.wrapped.x)),
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => { o.wrapped.x = (float)args[1].ToDouble(); })
                );


            Bridge.DefineGetterSetter(
                Vector4Prototype,
                "y",
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromDouble(o.wrapped.y)),
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => { o.wrapped.y = (float)args[1].ToDouble(); })
                );


            Bridge.DefineGetterSetter(
                Vector4Prototype,
                "z",
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromDouble(o.wrapped.z)),
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => { o.wrapped.z = (float)args[1].ToDouble(); })
                );


            Bridge.DefineGetterSetter(
                Vector4Prototype,
                "w",
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromDouble(o.wrapped.w)),
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => { o.wrapped.w = (float)args[1].ToDouble(); })
                );


            // Instance Property Accessors

            Bridge.DefineGetter(
                Vector4Prototype,
                "normalized",
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => Bridge.CreateExternalWithPrototype(o.wrapped.normalized))
                );


            Bridge.DefineGetter(
                Vector4Prototype,
                "magnitude",
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromDouble(o.wrapped.magnitude))
                );


            Bridge.DefineGetter(
                Vector4Prototype,
                "sqrMagnitude",
                Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromDouble(o.wrapped.sqrMagnitude))
                );


            // Instance Methods

            Vector4Prototype.SetProperty(
                "Set",
                Bridge.CreateFunction(
                    "Set",
                    Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => o.wrapped.Set((float)args[1].ToDouble(), (float)args[2].ToDouble(), (float)args[3].ToDouble(), (float)args[4].ToDouble()))
                    )
                );


            Vector4Prototype.SetProperty(
                "Scale",
                Bridge.CreateFunction(
                    "Scale",
                    Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => o.wrapped.Scale(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped))
                    )
                );


            Vector4Prototype.SetProperty(
                "GetHashCode",
                Bridge.CreateFunction(
                    "GetHashCode",
                    Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromInt32(o.wrapped.GetHashCode()))
                    )
                );


            Vector4Prototype.SetProperty(
                "Equals",
                Bridge.CreateFunction(
                    "Equals",
                    Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromBoolean(o.wrapped.Equals(Bridge.GetExternal <System.Object>(args[1]))))
                    )
                );


            Vector4Prototype.SetProperty(
                "Equals",
                Bridge.CreateFunction(
                    "Equals",
                    Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromBoolean(o.wrapped.Equals(Bridge.GetBoxedExternal <UnityEngine.Vector4>(args[1]).wrapped)))
                    )
                );


            Vector4Prototype.SetProperty(
                "Normalize",
                Bridge.CreateFunction(
                    "Normalize",
                    Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => o.wrapped.Normalize())
                    )
                );


            Vector4Prototype.SetProperty(
                "toString",
                Bridge.CreateFunction(
                    "ToString",
                    Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => {
                if (args.Length == 1)
                {
                    return(JavaScriptValue.FromString(o.wrapped.ToString()));
                }
                else
                {
                    return(JavaScriptValue.FromString(o.wrapped.ToString(args[1].ToString())));
                }
            })
                    )
                );


            Vector4Prototype.SetProperty(
                "SqrMagnitude",
                Bridge.CreateFunction(
                    "SqrMagnitude",
                    Bridge.WithBoxedExternal <UnityEngine.Vector4>((o, args) => JavaScriptValue.FromDouble(o.wrapped.SqrMagnitude()))
                    )
                );
        }
Beispiel #57
0
 private void OnRelease(Bridge bridge)
 {
     innerPool.Release(bridge);
 }
Beispiel #58
0
        public Bridge CreateInstence()
        {
            var bridge = new Bridge(bridgePrefab, OnRelease);

            return(bridge);
        }
Beispiel #59
0
 public Portal(Bridge aSpaceBook)
 {
     bridge = aSpaceBook;
 }
 public void InitTests()
 {
     bridge  = new Bridge(IPAddress.Parse("192.168.5.30"), "00:17:88:26:5f:33", "Philips hue", "30jodHoH6BvouvzmGR-Y8nJfa0XTN1j8sz2tstYJ");
     listobj = bridge.GetListObjects <Group>();
 }