private void Initialize()
        {
            var c = NonobaAPI.MakeMultiplayer(stage
                                              //, "192.168.3.102"
                                              //, "192.168.1.119"
                                              );


            var MyEvents   = new SharedClass1.RemoteEvents();
            var MyMessages = new SharedClass1.RemoteMessages
            {
                Send = e => SendMessage(c, e.i, e.args)
            };



            Events   = MyEvents;
            Messages = MyMessages;

            this.InitializeEvents();

            #region Dispatch
            Func <Message, bool> Dispatch =
                e =>
            {
                var type = (SharedClass1.Messages) int.Parse(e.Type);

                if (MyEvents.Dispatch(type,
                                      new SharedClass1.RemoteEvents.DispatchHelper
                {
                    GetLength = i => e.length,
                    GetInt32 = e.GetInt,
                    GetDouble = e.GetNumber,
                    GetString = e.GetString,
                }
                                      ))
                {
                    return(true);
                }

                return(false);
            };
            #endregion


            #region message
            c.Message +=
                e =>
            {
                InitializeMap();


                var Dispatched = false;

                try
                {
                    Dispatched = Dispatch(e.message);
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine("error at dispatch " + e.message.Type);

                    throw ex;
                }

                if (Dispatched)
                {
                    return;
                }

                System.Console.WriteLine("not on dispatch: " + e.message.Type);
            };
            #endregion

            c.Disconnect +=
                delegate
            {
            };

            c.Init +=
                delegate
            {
                InitializeMap();
            };
        }
Beispiel #2
0
		private void Initialize()
		{
			var c = NonobaAPI.MakeMultiplayer(stage
				//, "192.168.3.102"
				//, "192.168.1.119"
				);


			var MyEvents = new SharedClass1.RemoteEvents();
			var MyMessages = new SharedClass1.RemoteMessages
			{
				Send = e => SendMessage(c, e.i, e.args)
			};



			Events = MyEvents;
			Messages = MyMessages;

			this.InitializeEvents();

			#region Dispatch
			Func<Message, bool> Dispatch =
			   e =>
			   {
				   var type = (SharedClass1.Messages)int.Parse(e.Type);

				   if (MyEvents.Dispatch(type,
						 new SharedClass1.RemoteEvents.DispatchHelper
						 {
							 GetLength = i => e.length,
							 GetInt32 = e.GetInt,
							 GetDouble = e.GetNumber,
							 GetString = e.GetString,
						 }
					 ))
					   return true;

				   return false;
			   };
			#endregion


			#region message
			c.Message +=
				e =>
				{
					InitializeMap();


					var Dispatched = false;

					try
					{
						Dispatched = Dispatch(e.message);
					}
					catch (Exception ex)
					{
						System.Console.WriteLine("error at dispatch " + e.message.Type);

						throw ex;
					}

					if (Dispatched)
						return;

					System.Console.WriteLine("not on dispatch: " + e.message.Type);

				};
			#endregion

			c.Disconnect +=
				 delegate
				 {
				 };




		}